Geometrie/Normála plochy a normálový vektor
Z Wikiknih
[editovat] Definice
Nechť F(t0) je bod na ploše χ, která je dána rovnicí
a nechť ρ je tečnou rovinou plochy χ, pak přímka k procházející bodem F(t0) kolmo na tečnou rovinu χ se nazývá normálou plochy χ v bodě F(t0). Každý směrový vektor přímky k se nazývá normálovým vektorem plochy χ v bode F(t0).
[editovat] Algoritmus
Normálový vektor je vlastně vektorový součin dvou tečných vektorů v bodě F(t0), které dostaneme pomocí parciálních derivací v daném bodě. Pomocí normálového vektoru a bodu F(t0) lze parametricky vyjádřit přímka, jenž se nazývá normálou plochy χ v bodě F(t0).
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));
}
[editovat] Autoři
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.