Geometrie/Inflexní body

Bod na křivce nazveme inflexním bodem na křivce k daná vektorovou rovnicí  , jestliže jsou vektory   ,   lineárně závislé. Bod, který není inflexní, nazýváme neinflexní bod. Pojem inflexního a neinflexního bodu je nezávislý na parametrizaci dané křivky

Algoritmizace

editovat

Výpočet inflexních bodů byl realizován taktéž pomocí cyklu, který procházel přes délku parametru a v každém svém kroku spočítá první a druhou derivaci. Pokud se druhá derivace blíží nule, interval se dá nastavit, tak se aktuální bod přidá k množině inflexních bodů.

flexPoints
proměnná typu Arraylist obsahující seznam inflexních bodů,
ParametrTypeCommonMin
proměnná určující minimální hodnotu parametru,
ParametrTypeCommonMax
proměnná určující maximální hodnotu parametru,
bodAktualni
aktuální bod na křivce,
bod1der
derivace aktuálního bodu na křivce,
bod2der
druhá derivace aktuálního bodu na křivce.
private void InflexniBody()
{
	flexPoints.Clear();
	for (double i = ParametrTypeCommonMin; i<ParametrTypeCommonMax;Infobases.VicinityOfInflexPoint)
	{
		c2DPoint bodAktualni = Fxy(i);
		c2DPoint bod1der = Fxydxy(i);
		c2DPoint bod2der = Fxyddxy(i);
		// INFLEXNI BODY - 2.derivace se blizi nule
		if ((bod2der.X > -cInfobases.VicinityOfInflexPoint) && (bod2der.X < cInfobases.VicinityOfInflexPoint)
		&& (bod2der.Y > -cInfobases.VicinityOfInflexPoint) && (bod2der.Y < cInfobases.VicinityOfInflexPoint))
		{
			flexPoints.Add(bodAktualni);
		}
	}
}

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.