FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Representar coordenadas 3D
Hola a todos, ando dando vueltas a una idea en la cabeza, pero no acabo de ver como hacerla funcionar en delphi, os la cuento.
Tengo coordenadas de puntos en 3D, en el formato (x,y,z), vamos un vector de toda la vida. Bien quiero pintarlos en el espacio. La primera idea que pensé fue suponer que uno de los ejes está perpendicular a mi punto de vista y así omito su valor y lo puedo pintar en el plano del formulario. Por ejemplo si tengo (1,2,3) y (7,9,1) supongo que el eje X esta perpendicular a mi y así pintaria en el sobre el canvas (o un bitmap, etc, eso no me preocupa por ahora), un punto en (2,3) y otro en (9,1). Y listo Pero como tengo una mente retorcida pensé en que estaria bien poder cambiar el punto de vista y poner otro eje diferente perpendicular. Y una vez llegados a esta idea pensé, y porque no permitir un rotación libre , osea que sea un eje perpendicular al punto de vista, sino poder rotar el punto de vista e ir cambiar el dibujo. Así que estuve rascandome la cabeza tratando de recordar la geometria y la trigonometria para buscar la manera de representar las coordenas 3d en el plano del formulario y poder rotar el punto de vista. ¿Pero quizás haya algún código que ya lo haga y lo pueda adaptar a mi programa, o quizás un control, o alguna página donde pueda investigar?, ¿Alguien sabe algo?. Gracias /BlueIcaro P.D. No sé si me expresé muy bien la idea P.D1 Me entran dudas si he puesto la consulta en el foro adecuado, dudo entre este foro o el de gráficos. Pido disculpas a los moderadores si me he equivocado. |
#2
|
||||
|
||||
blueicaro:
Cita:
f(x,y)~F(rcos(Theta),rsen(Theta)), de hecho los limites en el espacio tambien se calculan con polares entonces la rotaciòn no deberia exceptuarse . Este tema es muy bueno, ojala sea uno de los q pasan los 20 mensajes
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
#3
|
||||
|
||||
Con esta funcion jugando con las variables internas puedes dibujar en un lienzo 2D coordenadas en 3D, cambiando el valor de las constantes y variables que se usan en la funcion se puede escalar, trasladar, y cambiar la perspectiva de manera un tanto dinámica... las variables XCen y YCen pueden ser las coordenadas del centro de tu formulario para que se dibuje a partir del centro.... Ojalá te sirva para comenzar... http://cgarcia.blogspot.com
__________________
"Lo mejor de no saber hacer nada es que se tiene mucho tiempo libre."
Última edición por lpmlpm fecha: 20-04-2006 a las 04:20:36. |
#4
|
|||
|
|||
Cita:
/BlueIcaro |
#5
|
|||
|
|||
Probando
Hola he estado probando la función que puso en su respuesta lpmlpm, y acabo de ver como funciona.
He hecho un programita que pinta un recta en un componente TImage, la recta es "paralela al horizonte" ya que el punto de partida es 100,30 y el final 400,30 Como la función del compañero lpmlpm convierte coordenadas 3D en 2D, de partida he puesto 0 en Z, y salió la recta que os comento. He experimentado con las variables XCen y YCen, y definen el desplazamiento del origen de coordenadas respecto al origen de TImage, que está arriba a la izquierda. Esto no tiene problema Luego Ratio, lo puse a 1, porque creo que es un "Ratio" osea la relación. Mi duda viene que luego he ido variando la coordenada Z del punto final de la recta, y si pongo valores positivos la recta pierde en lugar de dibujarse paralela como antes, ahora se representa diagonal hacia arriba si los valores son positivos. Vamos que no tengo muy claro donde esta punto de vista, osea como está el sistema de coordenadas. Aquí os dejo lo que he escrito para probar, os dejo la rutina donde se dibuja todo, es fácil reconstruir el resto del programa por si alguien quiere esperimentar, y si alguien lo quiere, que me lo pida. Saludos /BlueIcaro
|
#6
|
||||
|
||||
blueicaro:
Cita:
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Coordenadas en el PaintBox | fabiof2000 | Gráficos | 2 | 27-09-2006 10:08:03 |
pasar coordenadas gps a coordenadas builder | iaav1 | C++ Builder | 3 | 03-07-2006 19:59:02 |
Otra de coordenadas (DBGrid) | elcigarra | OOP | 2 | 19-10-2005 13:32:39 |
como cambiar las coordenadas de un detailband | tayra | Impresión | 0 | 29-09-2004 23:28:41 |
Linea de coordenadas en un TDBgrid | selenacd | Gráficos | 1 | 26-05-2004 07:55:58 |
|