1 votos

Cálculo de las normales de una malla poligonal (infografía 3D)

Quiero escribir un programa para generar arcos, una forma arquitectónica común, y exportarlos a un formato de objeto de frente de onda para compartirlos con varios editores de gráficos tridimensionales. Para ello, necesito generar normales para incluirlas en el objeto wavefront. Entiendo que las normales representan la orientación de una superficie en un vértice. Necesito entender cómo calcularlas, y específicamente qué significan las coordenadas i,j,k.

1voto

Jukka Dahlbom Puntos 1219

Si está creando una malla poligonal, presumiblemente querrá el vector normal dado una cara triangular particular.

En primer lugar, las definiciones: un normal en algún punto de una superficie es un vector que apunta perpendicularmente a esa superficie en ese punto. Como cada superficie (localmente) tiene dos lados, tienes dos direcciones válidas de vectores normales: un lado en el que el vector apuntaría hacia la superficie, y un lado en el que el vector apuntaría lejos de la superficie.

Ahora, supongamos que tenemos un triángulo determinado por los tres puntos $a = (a_1,a_2,a_3), b = (b_1,b_2,b_3),$ y $c = (c_1,c_2,c_3)$ . Definir $$ v_{ab}=(b_1-a_1,b_2-a_2,b_3-a_3)\\ v_{bc}=(c_1-b_1,c_2-b_2,c_3-b_3) $$ Para encontrar un vector normal, calcula $v_{ab}\times v_{bc}$ o, para la orientación opuesta, $v_{bc} \times v_{ab}$ , donde " $\times$ " denota aquí el cross-product .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X