How to extract the specific calculations carried out in CurvatureVector()

antoni.parellada shared this question 8 months ago
Answered

The name says it all... I'm having problems following the differentiation of the tangent vector resulting in the normal vector to a curve in space at a point, and I'd like to take a peek under the hood to see what is the code implemented by Geogebra to calculate this formula.

Comments (8)

photo
1

Thank you. Can you remind me what u=a'(p)⊗a''(p)⊗a'(p) is calculating on the ggb file linked? That is is, right? The CurvatureVector()... is simply that expression, is it not?

photo
1

coges la curva a, si la derivas te sale a' que es el vector tangente a la curva y cuya longitud depende de la parametrizacion, despues a'' que es otro vector. entonces {a',a'',a'⊗a''} es una base del espacio (suponiendo que a'' no sea el vector 0)entonces a'⊗a'' tiene la direccion binormal y la direccion binormal producto vectorial la direccion tangente (o sea el tercero por el 1º) da la direccion normal con lo que normalizando conseguimos el triedro de frenet; lo mismo se puede conseguir ortonormalizando por Gram-Schmidt


luego multiplicando la 1/curvatura por el vector normal sacas el centro del circulo osculador

todo esto lo tienes más claro (o más oscuro según se mire ) en


https://es.wikipedia.org/wi...

photo
1

Muchas gracias. Perfecto!

photo
1

Si tienes un momento, podrías por favor dar un vistazo al documento adjunto? Cómo podrás ver el gráfico tiene representado el tridente de Frenet Serret, pero en el Algebra tengo los cálculos manuales (man) de los vectores en oposición a los hallados con funciones de Geogebra (auto).

Estoy muy sorprendido, y no me puedo explicar, porqué con el cálculo manual de la curvatura con a'(p)⊗a''(p)⊗a'(p) la norma crece cuando la gráfica es más recta, mientras que con las funciones en Geogebra la norma del vector de curvatura de la gráfica en un punto lógicamente disminuye. Sabes porqué?

photo
photo
2

a ver: así en principio decirte que el post al que te remití en el post anterior se debió a que curvaturevector() no funcionaba en 3D

parece que eso ya ha sido resuelto y que sí te ha funcionado en 3D para poder calcular el centro del circulo osculador

en un primer vistazo lo que creo que te ocurre es que en tu calculo estas esperando hacer coincidir el modulo del radio del circulo osculador y la curvatura de la curva pero esos conceptos son inversos: el radio del circulo osculador es el inverso de la curvatura


en una recta la curvatura es 0 y radio del circulo osculador infinito

analiza si tus calculos manuales son correctos


/D8nbfH6kQPUfAAAAAElFTkSuQmCC

luego el radio es el inverso

si no es eso es que he analizado muy por encima; dimelo

el vector que llamas curvaturemanual no es indicador de nada. solo se sabe que es un multiplo del vector N pero su medida no es la curvatura

photo
1

Muchas gracias!

photo
1

Por fin...

photo
© 2020 International GeoGebra Institute