Google Classroom
GeoGebraGeoGebra Classroom

Triedro de Frênet. Usamos funciones paramétricas y sus derivadas.

Vamos a visualizar el triedro de Frenet (referencia ortonormal asociada a cada punto, donde es tangente a la curva. Los vectores se denominan Tangente, Binormal y Normal) al recorrer una curva. Cuando es una parametrización de la curva, los vectores pueden calcularse como:



  • La expresión para el vector es el resultado de normalizar el vector tangente (obtenido al derivar la parametrización de la curva respecto su parámetro).
  • Al calcular la segunda derivada, de la parametrización, obtenemos otro vector y, por las propiedades del producto vectorial, al calcular su producto con , tendremos un vector perpendicular a . Para obtener , bastará normalizar el resultado, dividiendo por su módulo.
  • Por último, el producto vectorial de estos dos vectores nos proporciona el tercer vector que necesitamos, pues es perpendicular a los otros dos y de módulo 1.
(*) Cuando la parametrización es por la longitud de arco "parametrización natural", estos cálculos pueden simplificarse.

Instrucciones

  1. Creamos la curva como un Spline de grado 3 que pasa por varios puntos, A, B, C y D del espacio: r=Spline({A, B, C, D}, 3). También situamos un nuevo punto Precorrido, sobre ella. El parámetro que mide el porcentaje recorrido de la curva por el punto, se mide con la función
    • parametro = ParámetroRecorrido(Precorrido)
  2. Calculamos las derivadas, que usaremos para construir los vectores tangente, normal y binormal.
    • r'=Derivada(recorrido) r'' = Derivada(r')
  3. Calculamos los valores en el punto Precorrido, usando el parámetro correspondiente
    • r'_P = r'(parametro) r''_P = r''(parametro)
  4. Calculamos los correspondientes vectores del triedro. Para que se representen con origen en Precorrido, los introducimos como Vector(Precorrido, Precorido+"vector") Podemos calcular el producto vectorial con el comando ProductoVectorial(...), o directamente con ⊗
    • vecT = Vector(Precorrido, Precorrido + r'_P / Longitud(r'_P))
    • vecB = Vector(Precorrido, Precorrido + (r'_P ⊗ r''_P) / Longitud(r'_P ⊗ r''_P))
    • vecN = Vector(Precorrido, Precorrido + vecB ⊗ vecT)
  5. Cambiamos el color de cada vector
  6. Añadimos una variable booleana "animado=true" para controlar que el punto esté animado o no
  7. Introducimos un texto que indique "Animación". Su guion al hacer click debe ser: Valor(animado,!animado) IniciaAnimación(Precorrido,animado)