Perimetri...e poligoni
Salve a tutti,
entro nel forum con una domanda sui perimetri dei poligoni.
Come posso determinare i punti di un perimetro di un poligono?
Lo scopo è quello di disegnare dei poligoni con l'uso di un'unica linea che,
partendo da un vertice, raggiunga un altro vertice percorrendo e coprendo
tutta la superficie del poligono con un movimento a zig-zag; un esempio
potete vederlo su http://rnvs.informatik.tu-chemnitz.de/~ ... zigzag.gif .
Con il codice sottostante ottengo un triangolo: l'obiettivo è impostare su triArray
le coordinate x e y contenenti le coordinate dei punti del perimetro di un
poligono per ottenere una PolyLine che "disegni" e "riempa" il poligono stesso.
Sub main()
Dim triArray(1 To 4, 1 To 2) As Single
triArray(1, 1) = 25 'x coordinata del vertice 1
triArray(1, 2) = 100 'y coordinata del vertice 1
triArray(2, 1) = 100
triArray(2, 2) = 150
triArray(3, 1) = 150
triArray(3, 2) = 50
triArray(4, 1) = 25
triArray(4, 2) = 100
Foglio1.Shapes.AddPolyline triArray
End Sub
Grazie e Buon Ferragosto!
Per5Ri
entro nel forum con una domanda sui perimetri dei poligoni.
Come posso determinare i punti di un perimetro di un poligono?

Lo scopo è quello di disegnare dei poligoni con l'uso di un'unica linea che,
partendo da un vertice, raggiunga un altro vertice percorrendo e coprendo
tutta la superficie del poligono con un movimento a zig-zag; un esempio
potete vederlo su http://rnvs.informatik.tu-chemnitz.de/~ ... zigzag.gif .
Con il codice sottostante ottengo un triangolo: l'obiettivo è impostare su triArray
le coordinate x e y contenenti le coordinate dei punti del perimetro di un
poligono per ottenere una PolyLine che "disegni" e "riempa" il poligono stesso.
Sub main()
Dim triArray(1 To 4, 1 To 2) As Single
triArray(1, 1) = 25 'x coordinata del vertice 1
triArray(1, 2) = 100 'y coordinata del vertice 1
triArray(2, 1) = 100
triArray(2, 2) = 150
triArray(3, 1) = 150
triArray(3, 2) = 50
triArray(4, 1) = 25
triArray(4, 2) = 100
Foglio1.Shapes.AddPolyline triArray
End Sub
Grazie e Buon Ferragosto!

Per5Ri
Risposte
La PolyLine vuoi che si muova in zig-zag scendendo di ordinata di punto in punto?
L'idea è quella di una PolyLine che:
a.) parte da un vertice del poligo,
b.) percorre un primo tratto del perimetro del poligono fino a un dato punto,
c.) dal punto raggiunto percorre la superficie interna del poligono
fino ad incontrare un altro lato del poligono,
d.) percorre (come al punto b.) un secondo tratto del perimetro,
e.) da questo nuovo punto raggiunto percorre la superficie interna del poligono
(come al punto c.) fino ad incontrare un altro lato del poligono,
f.) e così via...fino alla fine...
g.) in cui si raggiunge un vertice del poligono (per i poligoni con un numero
dispari di lati) o un lato del poligono (per i poligoni con un numero pari di lati).
Grazie per l'interessamento e spero che sia abbastanza chiaro l'algoritmo
che si intende seguire.
Ciao.
a.) parte da un vertice del poligo,
b.) percorre un primo tratto del perimetro del poligono fino a un dato punto,
c.) dal punto raggiunto percorre la superficie interna del poligono
fino ad incontrare un altro lato del poligono,
d.) percorre (come al punto b.) un secondo tratto del perimetro,
e.) da questo nuovo punto raggiunto percorre la superficie interna del poligono
(come al punto c.) fino ad incontrare un altro lato del poligono,
f.) e così via...fino alla fine...
g.) in cui si raggiunge un vertice del poligono (per i poligoni con un numero
dispari di lati) o un lato del poligono (per i poligoni con un numero pari di lati).
Grazie per l'interessamento e spero che sia abbastanza chiaro l'algoritmo
che si intende seguire.
Ciao.