Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

Referencia del Archivo terreno_lod.C

Ir al código fuente de este archivo.

Funciones

int potencia2 (int entrada)

Variables

double x00
double y00
double z00
int normal_pattern [9][6]
 TEORIA RESPECTO AL PATRON DE NORMALES `normal_pattern`: ------------------------------------------------------------------------------ Dependiendo de la ubicacion (x, y) de un vertice en la matriz de masas de una `terreno`, su normal puede ser calculada de una entre 9 maneras distintas: De la manera "0": cuando (x, y) = (0, 0) 0---1---2 De la manera "1": cuando (x, y) es de la forma (x, 0) | | | De la manera "4": cuando (x, y) es interno a la matriz 3---4---5 ...

int lados_primarios [6][2]
 Los `lados` determinan cada uno de los 6 posibles triangulos de incidencia sobre un vertice, segun la numeracion asignada en la segunda figura de la documentacion de la variable `normal_pattern`.

int lados_secundarios [6][2]
LISTA< COORDENADA_2D * > LISTA_padres


Documentación de las funciones

int potencia2 int  entrada  ) 
 

Definición en la línea 150 del archivo terreno_lod.C.

Referenciado por TERRENO_LOD::pintar_tiras_gl(), y TERRENO_LOD::TERRENO_LOD().


Documentación de las variables

int lados_primarios[6][2] [static]
 

Valor inicial:

 {
    {1, 0}, {1, -1}, {0, -1}, {-1, 0}, {-1, 1}, {0, 1}  }
Los `lados` determinan cada uno de los 6 posibles triangulos de incidencia sobre un vertice, segun la numeracion asignada en la segunda figura de la documentacion de la variable `normal_pattern`.

Cada triangulo tiene un `lado_primario` y un `lado_secundario`. Sus tres vertices en el espacio del terreno son:

  • (x, y)
  • (x + lados_primarios[num][0], y + lados_primarios[num][1])
  • (x + lados_secundarios[num][0], y + lados_secundarios[num][1]). notese que num es el numero de enumeracion del triangulo en la vecindad del vertice (i, j), para num en el intervalo [0 .. 5]. Estas estructuras se usan en el algoritmo de calculo de normales para la terreno.

Definición en la línea 134 del archivo terreno_lod.C.

Referenciado por TERRENO_LOD::calcule_normal().

int lados_secundarios[6][2] [static]
 

Valor inicial:

 {
    {1, -1}, {0, -1}, {-1, 0}, {-1, 1}, {0, 1}, {1, 0}  }

Definición en la línea 136 del archivo terreno_lod.C.

Referenciado por TERRENO_LOD::calcule_normal().

LISTA<COORDENADA_2D *> LISTA_padres
 

Definición en la línea 142 del archivo terreno_lod.C.

Referenciado por TERRENO_LOD::pintar_gl().

int normal_pattern[9][6] [static]
 

Valor inicial:

 {
    {0, 0, 0, 0, 0, 8},  
    {0, 0, 0, 2, 2, 4},  
    {0, 0, 0, 4, 4, 0},  
    {2, 2, 0, 0, 0, 4},  
    {1, 1, 2, 1, 1, 2},  
    {0, 0, 4, 2, 2, 0},  
    {4, 4, 0, 0, 0, 0},  
    {2, 2, 4, 0, 0, 0},  
    {0, 0, 8, 0, 0, 0}   
}
TEORIA RESPECTO AL PATRON DE NORMALES `normal_pattern`: ------------------------------------------------------------------------------ Dependiendo de la ubicacion (x, y) de un vertice en la matriz de masas de una `terreno`, su normal puede ser calculada de una entre 9 maneras distintas: De la manera "0": cuando (x, y) = (0, 0) 0---1---2 De la manera "1": cuando (x, y) es de la forma (x, 0) | | | De la manera "4": cuando (x, y) es interno a la matriz 3---4---5 ...

y asi sucesivamente como se muestra en la figura. | | | 6---7---8 Las 9 filas de la matriz "normal_pattern" son 9 configura- ciones para el algoritmo de calculo de normales, y cada una corresponde a uno de los tipos de normales anteriores. Notese que una "configuracion" es un arreglo de 6 numeros enteros del intervalo [0 .. 8].

Para cada vertice, existen maximo 6 triangulos incidentes a el en la malla de triangulos. A continuacion se ilustra el caso para los vertices tipo "4": _____ El vertice se encuentra en la posicion marcada con '*'. /| /| Los 6 triangulos incidentes han sido numerados del '0' al / |1 / | '5'. Como los 6 triangulos inciden al vertice, la normal /2 | / 0| en dicho vertice es un promedio ponderado de las normales /___|/___| de superficie de los 6 triangulos. Cada uno de los numeros | * / de la configuracion de calculo de normales para este vertice |3 /|5 / representa un porcentaje de lo que "aporta" la normal de | /4| / superficie de cada triangulo a la normal global del vertice, |/__|/ y dicho porcentaje es proporcional al angulo de cada triangulo en el vertice de interes '*'. Para el caso de vertices de tipo "4", la configuracion es <12.5% 12.5% 25% 12.5% 12.5% 25%>, y para utilizar aritmetica entera, se ha escojido una unidad de porcentaje de 1 ::= 12.5%. Asi es que los numeros en "normal_pattern" son porcentajes de aporte de los triangulos incidentes a un vertice. En este caso, la configuracion esta representada como {1, 1, 2, 1, 1, 2}. Los porcentajes de una configuracion siempre suman 100%.

Ahora, para los vertices que se encuentran en la frontera de la `terreno` _____ no estan definidos todos los triangulos, y los lugares indefinidos se * / marcan con "0"'s. Por ejemplo para el vertice (0, 0), que es de tipo |5 / "0", la configuracion es <0 0 0 0 0 100%> ::= {0, 0, 0, 0, 0, 8}. | / En la ultima figura se ilustra este caso. |/

Definición en la línea 107 del archivo terreno_lod.C.

Referenciado por TERRENO_LOD::calcule_normal().

double x00 [static]
 

Definición en la línea 46 del archivo terreno_lod.C.

double y00 [static]
 

Definición en la línea 46 del archivo terreno_lod.C.

double z00 [static]
 

Definición en la línea 46 del archivo terreno_lod.C.


Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.