2009-08-03 16 views

risposta

9

Circa un anno dopo, la soluzione era davvero semplice. Per un punto avente le coordinate:

(x1,y1,z1) 

Poi, per trasformare questo punto in un disegno curvilineo di raggio R:

dist=sqrt(x1^2 + y1^2 + z1^2) 

x= R*(1+x/dist) 
y= R*(1+y/dist) 

posso ora generare miei disegni (immagine tramite wikipedia) :-)

Curvilinear drawing.

3

Potrebbe essere necessario prima utilizzare una matrice di trasformazione per proiettare l'oggetto 3D su un piano 2D. http://en.wikipedia.org/wiki/Graphical_projection, scegli quello più adatto alle tue esigenze.

Come secondo passo, sarà quindi necessario utilizzare le conversioni generali per portare le coordinate nello spazio euclideo. http://en.wikipedia.org/wiki/Curvilinear_coordinates

+0

grazie, ma questo non aiuta molto. La pagina di Wikipedia è piena di funzioni matematiche. Quale dovrei scegliere? – Pierre

+0

Bene, questo è il motivo per cui a mia conoscenza non esiste una singola formula per convertire quelle coordinate perché dipenderà dal tipo di proiezione 3D che si desidera fare in un piano cartesiano 2D. Devi prima decidere. Scegli una proiezione che si adatta meglio a te e applica la sua formula per tradurre le tue coordinate nel sistema cartesiano. Ora sarai pronto per applicare le semplici formule nella seconda pagina web per tradurre le coordinate cartesiane in un sistema di coordinate euclidee. –

+0

Diagnosi dei problemi: buona domanda, troppo bello articolo di Wikipedia. Anche a me capita di tanto in tanto. Soluzione: usa google per cercare informazioni supplementari o chiedere su un forum di matematica. Inoltre, forse la ricerca di Wolfram offre informazioni meglio organizzate. –

Problemi correlati