Přeskočit na obsah

Geometrie/Inflexní body

Z Wikiknih

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 | editovat zdroj]

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);
		}
	}
}

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.