Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - tito

#1
Hola,

fiero, gdl, gracias por vuestro interés.

Gracias a vuestras últimas indicaciones ya lo he conseguido, tengo a todos los triángulos "mirando pal frente".

Gracias a todos los que havéis aportado ideas y hasta otra.

Un saludo.

PD: Si, lo de mirar los signos, es un poco mmmh "chapuzilla", pero era lo mejor que tenia :roll:
#2
Cita de: "marcode"Los componentes de la normal a la que debe mirar la cara y los de la que ya conoces deberán tener todos el mismo signo.

¿no es eso?

Hola,

Si !, es la técnica con que mejores resultados he obtenido, y sinceramente creo que es la que presentaré, aunque me mosquea un poco. Usando este método, (comparar el signo de cada componente (x,y,z) de la normal correcta, con el signo de cada componente de la normal obtenida y si son iguales -> OK ) se dan situaciones en que no funciona, En la malla de triangulos aparecen unos pocos (4 o 5 de unos 5000 ) con la normal invertida.

Supongo, y me estoy tirando a la piscina ( quizá me equivoque ), que se pueden dar situaciones en que algun componente no coincida en signo, pero las dos normales sean salientes respecto el mismo punto exterior.

Cualquier consejo o ayuda, soy todo orejas.

Gracias por tu interés

Un saludo
#3
Cita de: "senior wapo"No puedes hacerlo tomando en cuenta solo 3 vértices porque realmente el orden correcto depende de a que lado del triángulo te encuentres.

Necesitas un cuarto punto que defina la posición del semiespacio positivo (cara visible).

Hola,

Me parece que lo entiendo, el orden es distinto dependiendo a que lado del plano - trinagulo estés.

Si lo he dicho bien. Añado lo siguiente a mi primer post:
tengo los tres puntos A B C (sin colocar),
y un vector normal correcto ( que apunta hacia afuera )

Podria calcular las normales de las dos posibles definiciones del triangulo ( ABC y de ACB ).

Entonces tendria la normal correcta, y las dos normales de ABC y de ACB

Como averiguo cual de las dos normales (la de ABC y la de ACB) se "parece" mas a la normal correcta ?

He probado lo siguiente: comparo los signos de los componentes (de la normal correcta y la del trangulo ABC o ACB) y si tienen los mismos signos la normal correcta y la del triangulo, considero el triangulo bien definido, esto me resuleve la gran mayoria de casos pero no todos, (solo que no coincida algun signo de alguna componente x y z, ya no lo considera bien definido).

Espero que se entienda, si necesitais que lo vuelva a redactar sin problema!

Muchismas gracias por vuestro tiempo.

Un saludo.
#4
Cita de: "Ruben"

PD: Vale ya creo que se lo que quieres decir. Hay un algoritmo para ordenar los vertices en sentido horario. Se llama "Graham scan". Te dejo el link a ver si te ayuda: http://en.wikipedia.org/wiki/Graham_scan

Muchas gracias !

Ya tengo material para romperme los cuernos un buen rato :P. Ya te contaré como me ha ido.

Un saludo y muchas gracias otra vez.
#5
Cita de: "samsaga2"No acabo de enteder lo que quieres decir.

Si coges el segundo vertice el orden sera BCA.
El tercer vertice CAB.
Y el primer vertice ABC.

Ya los estas guardando en el orden correcto, en las posiciones 0, 1 y 2.

Hola,

Primero de todo, muchas gracias por interesarte, te lo agradezco.

Fijate en siguiente ejemplo,entre paréntesis las coordenadas (x,y,z):

vertice A (0 1 0)
vertice B (1 0 0)
vertice C (-1 0 0)

El dibujo tendria esta forma:
   A
  /  \
 C--B

Tengo los vertices y las coordenadas, y las de almacenar de forma correcta en el vector de 3 posiciones.

Partiendo de que el primer vertice es el A ( totalmente aleatorio, casi que me da igual que vértice sea el primero ), existen dos posibles definiciones para el triangulo:

A B C -> Sentido horario
A C B -> Sentido anti-horario

Pues bien, en este caso he de almacenar la primera definicion ( A B C ).
El problema es que me cuesta escribir "un cacho" de codigo de que tenga en cuenta cualquier posición de los vertices del triangulos y siempre guarde los vertices en sentido horario.

Gracias de nuevo.

Un saludo.
#6
Buenas a todos.

Me gustaría exponeros un problema que arrastro de hace un a par de días.

Tengo tres vértices A B C, con sus respectivas coordenadas, y los he de almacenar en un vector de tres posiciones, por ejemplo:

vector[0] = A
vector[1] = B
vector[2] = C

En este caso, el triangulo queda definido como A B C. Quiero ir una paso más allá, y partiendo de un primer vertice cualquiera (A B o C) definir los vértices del el triangulo en sentido horario (por el tema de las normales).

Se os ocurre algún sistema ?. Muchas gracias !!

Si hay alguna parte de este mensaje que haya quedado mal explicada, la vuelvo a redactar sin problema.

Muchas gracias otra vez !

Un saludo





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.