Geometrie/Druhá křivost

Z testwiki
Skočit na navigaci Skočit na vyhledávání

Popis

Druhá křivost přiřazuje každému bodu F(p) křivky k jeho vychýlení z roviny.

Vyjádření

Nechť je k křivka dána vektorovou rovnicí f=f(p),pJ. Druhá křivost je funkce

2k=[f(p),f(p),f(p)]f(p)2,

která přiřazuje každému bodu F(p) křivky k jeho druhou křivost. Druhá křivost je nezávislá na zvoleném oblouku křivky.

Geometrický význam

Zvolme na křivce dva různé body F(s) a F(s+h). Označme ϕ(h) odchylku vektorů binormály b(s) a b(s+h). Potom pro reálnou funkci 2k(s) přiřazující každému bodu F(s) křivky k jeho druhou křivost platí:

|2k(s)|=limh0φ(h)|h|

Algoritmus

Funkce pro výpočet druhé křivosti pro obecný parametr

public static double DruhaKrivost(Curve krivka, double u)
{
  Vector3d d1=krivka.FirstDeriv(u);
  Vector3d d2=krivka.SecondDeriv(u);
  Vector3d d3=krivka.ThirthDeriv(u);
  double citatel=d1.DotProduct(d2,d3); //skalární součin d1*d2*d3
  double jmenovatel=Math.Pow(d1.CrossProduct(d2).Length(),2)));
  //velikost vektorového součinu d1*d2 na druhou
  return citatel/jmenovatel;
}

Podívejte se také na

  • [[../První křivost/]]