Muchas gracias por la respuesta NEBIRE
Si algun moderador puede que mueva el post no me di cuenta sorry
Usando una funcion de proyeccion no podre girar la imagen con el raton no???
He estado indagando por internet y he visto la opcion de usar los directX aun que parece complicada la cosa....
Con directX, se puede hacer de todo, pero en efecto, se requiere empolvarse en DirectX... es toda una tecnología por sí misma, que reqiere su propia curva de aprendizaje... lo mismo que utilizar cualquier otro motor 3D...
La cuestión es... ¿qué necesitas hacer?.
A - Si es tan solo lo que que dices al abrir el tema,(importar de un fichero datos 3D para dibujarlos) posicionar unas líneas dadas sus cordenadas 3D, te basta esa función que te digo. Esto te lo puedo poner más tarde, quizás mañana porque hoy tengo el día completo.
B - Si precisas además (de dibujar) poner rotación, desplazamiento y escala necesitas además otras funciones que roten, desplacen y escalen las cordenadas 3D. Esto implica (por razones de eficiencia) multiplicación de matrices, con lo que se añade un puñado de pequeñas funciones adicionales... Esto da más pereza, pero igualmente te miraría de ponerlo mañana o con más tiempo.
C - Si precisas tener control de muchos objetos, y ya no te basta con líneas, quieres cortar las líneas que queden tapadas por otras, ó meter texturas, tratar luz, colisiones, etc... entonces esto escapa de la ayuda de un foro, pero sobretodo el tiempo que uno está dispuestos a dedicar a ayudar... directamente es mejor que busques como usar un motor 3D, ya hecho. DirectX y OpenGL, serían tu punto de mira inicial, aunque los hay más específicos para según que tareas...
En fin declara cual de los 3 sería tu caso... para orientarte en la dirección que precisas.Y sí, el ratón puede usarse para girar, tratando los eventos de ratón y decidiendo claramente que ejes se mueven con que eje del ratón (el eje Z, puede simularse con movimientos en diagonal, en tanto que los ejes X e Y con movimientos en X e Y del ratón)... (para esto estaríamos hablando como mínimo del caso "B").
Basicamente con cada moviento del ratón recalculas los ángulos de vista, se borra la imagen y se recrea de nuevo. Para que funciones en tiempo real, el cálculo debe ser fluído, lo que depende directamente d ela cantidad de objetos a dibujar y calcular y de la eficiencia del cálculo. Piensa que un cálculo como el que te sugiero, es apto sólo para unas pocas miles de líneas, si es más pesado, el cálculo puede demorarse y no será fluído en tiempo real... en tal caso hay que recurrir a usar motores cuyo cálculo se realiza directamente con la GPU, en vez de con la unidad flotante de la CPU...