Pergunta

Eu estou procurando a expressão matemática converter um coordenadas 3D (x0,y0,z0) a um (x1,y1) coordenadas 2D em um curvilínea perspectiva de R raio onde os valores de x1 e y1 são os ângulos de vista {-90 ° .. + 90 °} do ponto original.

image
(fonte: ntua.gr )

(imagem via http://www.ntua.gr/arch/ geometria / MBK / histor.htm )

Obrigado!

Foi útil?

Solução

Cerca de um ano depois, a solução foi muito simples. Para um ponto que tem as coordenadas:

(x1,y1,z1)

Então, para transformar este ponto em um desenho curvilíneo de raio R :

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

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

Eu agora pode gerar meus próprios desenhos (imagem via Wikipedia): -)

desenho curvilíneo.

Outras dicas

Você pode primeiro precisa usar uma matriz de transformação para projetar o objeto 3D em um plano 2D. http://en.wikipedia.org/wiki/Graphical_projection , escolher aquele que melhor se encaixa suas necessidades.

Como segundo passo, então você vai querer usar as conversões gerais para trazer as coordenadas no espaço euclidiano. http://en.wikipedia.org/wiki/Curvilinear_coordinates

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top