Geometrie/Normála plochy a normálový vektor

Definice

editovat

Nechť   je bod na ploše  , která je dána rovnicí   a nechť   je tečnou rovinou plochy  , pak přímka   procházející bodem   kolmo na tečnou rovinu   se nazývá normálou plochy   v bodě  . Každý směrový vektor přímky   se nazývá normálovým vektorem plochy   v bode  .


Algoritmus

editovat

Normálový vektor je vlastně vektorový součin dvou tečných vektorů v bodě  , které dostaneme pomocí parciálních derivací v daném bodě. Pomocí normálového vektoru a bodu   lze parametricky vyjádřit přímka, jenž se nazývá normálou plochy   v bodě  .

public static Vector3d NormalovyVektor(Surface plocha, double u, double v)
{
	Vector3d parcDerivU = plocha.PartialDerivU(u, v); //vytvori parcialni derivaci podle u
	Vector3d CrossProduct = parcDerivU.CrossProduct (plocha.PartialDerivV(u, v));  //funkce vrati vektorovy soucin  

			double lenghtOfNormal=CrossProduct.Length(); //vypocita delku krivky
			
			if(lenghtOfNormal==0)
			{
			     return CrossProduct;
			}
			else return new Vector3d(CrossProduct [0]/lenghtOfNormal, CrossProduct[1]/lenghtOfNormal, CrossProduct  [2]/lenghtOfNormal);
}
public static Primka NormalaPlochy(Surface Plocha,  double u, double v)
{
     return new Primka(Plocha.GetValue(u, v), NormalovyVektor(Plocha, u, v)); 
}

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.