Programación de Gráficos - Esferas

 
Vista:

Esferas

Publicado por Adán (2 intervenciones) el 31/03/2001 05:51:07
¿Alguien sabe algún algoritmo para crear una esfera con mallas, es decir obtener los puntos tridimensionales de la esfera y cómo unirlos en triángulos? Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Esferas

Publicado por Allan (4 intervenciones) el 09/04/2001 22:43:53
Hola...

Hacer una esfera es relativamente sencillo, el único problema es la forma de calcular los puntos, ¿Sabes de Geometría Analítica?, todo se basa en ello, para obtener puntos de una esfera debes usar una ecuación de esfera, que es bastante simple: x^2 + y^2 + z^2 = r^2 donde r es el radio de tu esfera, ahora debes elegir cuán separados han de estar estos puntos en la esfera, supongamos una esfera de radio 1 y con un punto cada 0.1 unidades, esto quiere decir que serán 20 puntos alrededor de la esfera, tanto en X con Y y Z, ahora para encontrar los puntos debes asignar valores a dos variables:

x^2 + y^2 + z^2 = 1 (ecuación con radio)
ahora hay que calcular para cada nivel de Z, son 20 niveles, desde -1.0 a 1.0 pasando por -0.9, -0.8, -0.7, ... 0.7, 0.8, 0.9 Para el nivel uno calculas:

x^2 + y^2 + (-1.0)^2 = 1
esto debido a que el centro de la esfera está en <0,0,0> así que la parte inferior de la esfera (polo sur) está en <0,-1.0,0> y la superior (polo norte) está en <0,1.0,0>.

Ahora sí, a calcular el punto en Y para determinados valores de Z y X, para el nivel uno calculamos:

desde x=-1.0 hasta x=1.0 como en Z
(-1.0)^2 + y^2 + (-1.0)^2 = 1 y despejamos y
y^2 = 1 - (-1.0)^2 - (-1.0)^2 ==>
y = (1 - 2 )^(1/2)
y = +\- 1i

Como puedes ver salió un número imaginario, lo cual significa que NO EXISTE un valor en y para estos valores de X y Z, parece ser un poco complejo, pero con un sencillo programa en C o Pascal o cualquier otro programa los obtienes rápidamente, el truco es el siguiente:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Esferas

Publicado por Fran (3 intervenciones) el 19/04/2001 15:21:14
Para calcular las coordenadas rectangulares de una esfera de radio R, se utiliza un sistema de coordenadas esféricas (polares) centrado en la esfera. Si llamamos alfa al ángulo latitudinal y beta al ángulo longitudinal, tenemos que cualquier punto en la superficie de la esfera se puede expresar como:

Y=R*Coseno(alfa)
X=R*Seno(alfa)*Coseno(beta)
Z=R*Seno(alfa)*Seno(beta)

Siendo R el radio de la esfera y
0 <= alfa <= 180º
0 <= beta <= 360º

Los puntos obtenidos tienen como referencia unos ejes situados en el centro de la esfera. Para transformar los puntos a los ejes universales, tendríamos simplemente que sumar el vector posición del centro de la esfera con los correspondientes a los puntos obtenidos.

Para construir la esfera con este procedimiento, necesitaremos conocer 3 datos, el radio, el número de segmentos (tiras verticales en las que está dividida la esfera) y el número de lados o caras (número de trocitos en los que está partida cada tira) (Notar la semejanza con los parámetros de construcción de esferas que utiliza 3D studio)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar