Geometrie/Normála plochy a normálový vektor
Definice
editovatNechť 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
editovatNormá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
editovatTento text vypracovali studenti Univerzity Palackého v Olomouci katedry Matematické informatiky jako zápočtový úkol do předmětu Počítačová geometrie.