Geometrie/Oskulační kružnice

Vyjádření editovat

Zvolme na křivce   neinflexní bod  . Oskulační kružnice křivky   v bodě   je kružnice, která leží v oskulační rovině křivky   v bodě  , kterým také prochází a sdílí v něm tečnu křivky  . Poloměr kružnice je roven převrácené hodnotě první křivosti křivky   v bodě  , tzn.  . Její střed leží na polopřímce určené bodem   a vektorem 1. křivosti křivky   v tomto bodě. Kde   je parametr na křivce.

Algoritmizace editovat

firstCurvature
první křivost,
oscullatingCircle
pole reprezentující oskulační kružnici [Stred.X, Stred.Y, polomer].
public void SetOsculatingCircle()
  {
   c2DPoint P = Fxy(parametr);          // actual point
   c2DPoint D1Point = Fxydxy(parametr); // point of the 1st derivation
   c2DPoint D2Point = Fxyddxy(parametr);// point of the 2nd der.

   double fraction = (Math.Pow(D1Point.X, 2) + Math.Pow(D1Point.Y, 2)) /
     D1Point.X*D2Point.Y - D1Point.Y*D2Point.X);

   oscullatingCircle[0] = P.X - fraction * D1Point.Y;	// Center.X (Sx)
   oscullatingCircle[1] = P.Y + fraction * D1Point.X;	// Center.Y (Sy)
   oscullatingCircle[2] = 1 / firstCurvature;          // Radius (r)
  }

Autoři editovat

Tento text vypracovali studenti Univerzity Palackého v Olomouci katedry Matematické informatiky jako zápočtový úkol do předmětu Počítačová geometrie.