Foros - Stratos

Stratos => Principiantes => Mensaje iniciado por: DarkGDK en 09 de Julio de 2012, 12:16:24 AM

Título: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: DarkGDK en 09 de Julio de 2012, 12:16:24 AM
Hola,

¿Cuál sería la mejor técnica para obtener un vector perpendicular a una superficie en un determinado punto?

Mi idea, es calcular un plano tangente a la superficie dicho punto y luego obtener el vector normal del plano. Lo quiero usar para determinar la dirección del vetor 'up' de un cubo que voy a mover por una superficie irregular y pienso que tal vez esta técnica que he pensado se puede hacer más ligera de cara al rendimiento.

Saludos.
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: H-K en 09 de Julio de 2012, 05:51:36 PM
Buenas ¿Cómo está definida la superficie?
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: DarkGDK en 09 de Julio de 2012, 05:56:52 PM
Mi idea es hacerlo de manera general para que valga para cualquier superficie.

La superficie está definida de manera que es posible conocer en cada momento las coordenadas x, y, z de esta.
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: H-K en 09 de Julio de 2012, 06:24:25 PM
Es que así a bote pronto creo que no hay generalización que valga, va a depender de cómo esté definida. ¿Es un mapa de alturas, es una malla o está dada por una función?
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: DarkGDK en 09 de Julio de 2012, 06:43:40 PM
No es un mapa de alturas ni una malla, es una superficie sencilla que he generado mediante una función matemática. De hecho, lo que he implementado es mostrar unos cuantos puntos de esa superficie, como si fuera un grid de puntos.
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: H-K en 09 de Julio de 2012, 06:52:24 PM
Entonces calcula el vector gradiente de esa superficie, no vas a necesitar nada más.
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: DarkGDK en 09 de Julio de 2012, 08:01:20 PM
Desconozco el cálculo del vector gradiente para una superficie. ¿Ese cálculo es más liviano que el que he propuesto yo?
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: H-K en 09 de Julio de 2012, 10:32:16 PM
Si la función está dada como z = f(x,y) (o y = f(x,z) como lo tengas definido), el gradiente es el vector cuyas componentes son las derivadas parciales de la función sobre la variable correspondiente. si z = f(x,y) , grad(x, y) = ( fx (x,y) , fy (x,y) )
Otra cosa que puedes hacer es hacer el sacar dos puntos de la superficie (P1 y P2) que estén muy próximos al primero (P), sacar los vectores PP1 y PP2, y hacer el producto vectorial (esto en el fondo es casi lo mismo que lo de arriba)

No sé, es lo único que se me ocurre de momento. ¿Cómo habías pensado tú?
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: DarkGDK en 10 de Julio de 2012, 09:14:32 AM
Vale, probaré con el método que me has indicado. Yo había pensado en calcular un plano tangente a la superficie dicho punto y luego obtener el vector normal del plano.
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: H-K en 10 de Julio de 2012, 09:30:25 AM
Pero es que para calcular el plano tangente necesitas primero el vector normal, así que tendrías que pasar por aquí de todas maneras. O a lo mejor tienes algún método para hacerlo que no me estás contando y yo estoy aquí colándome tres pueblos :P
Título: Re: Calcular vector perfendicular a una superficie en un determinado punto
Publicado por: DarkGDK en 10 de Julio de 2012, 11:54:33 AM
Yo creo que hablamos de lo mismo, este es el método que uso: http://www.taringa.net/posts/ciencia-educacion/6628940/Planos-Tangentes-a-un-punto-de-una-superficie_.html

Lo que hace es derivar la función del plano en función de x y luego en función de y.

Saludos.