HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Autore Topic: Trasformazione polare 2  (Letto 1593 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

marcomasetti

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 183
Trasformazione polare 2
« il: 04 Novembre 2012, 10:48 »
Nella  trasformazione polare i poligoni che si trovano sotto l'asse y cambiano senso di rotazione, per cui se l'asse y taglia la circonferenza oggetto, si crea una curva intrecciata, che nel 3D non definisce un poligono corretto.
Per ovviare al problema, si può partire da una circonferenza già intrecciata, specchiando lungo l'asse verticale di equazionex=xc i punti con ordinata negativa, che assumono il nuovo valore di ascissa: xc + (xc-x). In questo modo i due intrecci si annullano a vicenda e si crea una linea semplice. Esiste anche un'altra strada, che è quella di dividere il percorso intrecciato in due percorsi semplici. In questo caso, però, occorre bilanciare la risoluzione tra le due curve, che non è detto abbiano la stessa lunghezza:  il procedimento della ripartizione è piuttosto tortuoso.

Script della circonferenza intrecciata:

for i=0 to n-1
x=xc+r*cos(360/n*i)
y=yc+r*sin(360/n*i)
xx=xc+sgn(y)*(x-xc)
put xx,y
next i
poly nsp/2, get (nsp)

Allego a titolo di esempio una forma 3D ricavata dalla curva in esame. Come procedimento logico prima si costruisce una curva, poi variandone un parametro si ottiene un fascio di curve e da queste, tramite uno script per una primitiva 3D, si costruisce l’oggetto volumetrico. Qui come primitiva è stato usato il cilindroide allegato.