Processing math: 100%

2 votos

Encontrar la pendiente adecuada entre dos líneas (pendientes)

Estoy trabajando en un algoritmo de texturización para gráficos 3d y estoy tratando de rotar triángulos que están unidos en un punto para que estén conectados (comparten una sola arista) Estoy usando

tan1(m1m21+m1m2) donde m1>m2

Esto funciona bien en algunos casos de prueba pero no en todos... Tengo dos líneas una con pendiente ~ 1 y ~ (0.3) lo que me hace

tan1(1.05555556+0.3685670381+(1.05555556)(0.368567038))=1.16553753 radians66o

Esto es correcto si la línea con pendiente 0.3 se desplaza hacia la derecha, mientras que la línea con pendiente 1 está subiendo a la derecha sin embargo la dirección de la 0.3 La pendiente se mueve hacia arriba y hacia la izquierda. ¿Hay alguna forma de parametrizar esta función para poder proporcionar la dirección en la que se mueven las líneas? Gracias.

1voto

Shabaz Puntos 403

Hay dos ángulos para elegir. Uno será de 180 grados menos el otro. Si tomas un vector a lo largo de cada dirección y tomas el producto punto, será negativo cuando quieras que el ángulo sea mayor que 90. Así que en tu ejemplo, si ambas líneas se mueven hacia la derecha (1,1)(1,0.3)=0.7>0 así que quieres la solución de 66 grados. En el segundo caso (1,1)(1,0.3)=0.7<0 por lo que quieres la solución de 180-66=114 grados.

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