Geometrie/Inflexní body

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

Popis[editovat]

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.