Geometrie/Inflexní body
Vzhled
Popis
[editovat | editovat zdroj]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);
}
}
}
Autoři
[editovat | editovat zdroj]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.