Нормала
Нормала в геометрията е обект (права или вектор), който е перпендикулярен на даден обект. Например, в двуизмерния случай, нормалната права към крива в дадена точка е правата, перпендикулярна на допирателната на кривата в тази точка.[1] В триизмерния случай нормалната повърхност към повърхност в точка P е вектор, който е перпендикулярен на допирателната равнина на тази повърхност при P (нормален вектор). Терминът се използва и като прилагателно: нормална права към крива, нормална компонента на сила, нормален вектор и т.н. Идеята на нормалността се обобщава до ортогоналност.
Тази идея е обобщена до диференциално многообразие от случайно измерение, влизащо в Евклидово пространство. Нормалното векторно пространство на многообразие в точка P е редица от вектори, които са ортогонални на допирателното пространство при P. В случая на диференциалните криви, векторът на кривата е нормален вектор от особен интерес.
Нормалата често се използва в компютърната графика за определяне на ориентацията на повърхност спрямо източник на светлина за шейдинг или за определяне на ориентацията на всеки от ъглите на за имитиране на крива повърхност.
Нормали към повърхности в триизмерно пространство
[редактиране | редактиране на кода]Изчисляване на нормала на повърхност
[редактиране | редактиране на кода]За изпъкнал многоъгълник (като например триъгълник), нормалата на повърхността може да бъде изчислена като векторно произведение от два неуспоредни ръба на многоъгълника. За равнина, дадена от уравнението , векторът е нормала.[2]
За равнина, дадена от уравнението
- ,
където a е точка в равнината, а b и c са неуспоредни вектори, лежащи в равнината, нормалата на равнината е вектор, който е нормален спрямо b и c и може да бъде намерен с векторното произведение .
За хиперравнина в n+1 измерения, дадена от уравнението
- ,
където a0 е точка в хиперравнината, а ai за i = 1, ..., n са неуспоредни вектори, лежащи в хиперравнината, нормалата на хиперравнината е всеки вектор в нулевото пространство A, където A се определя чрез
- .
Тоест, всеки вектор, който е ортогонален на всички вектори в равнината, по определение е нормала на повърхността.
Ако повърхност S се параметризира чрез система от криволинейни координати x(s, t), където s и t са реални променливи, тогава нормалата се дава от векторното произведение на частните производни
Ако повърхност S се определя чрез неявна функция като редица от точки , удовлетворяващи равенството , тогава нормалата в точка от повърхността се намира чрез градиента
тъй като градиентът във всяка точка е перпендикулярен на редицата от нива, а (повърхността) е редица от нива на .
За повърхност S, дадена чрез явна функция на независими променливи (например ), нормалата ѝ може да се намери по поне два еквивалентни начина.
Първият е да се вземе неявната ѝ форма , от която нормалата се извежда направо от градиента:
- .
Вторият начин за намирането на нормалата следва пряко от градиента на явната форма:
от където следва, че
- , където е отиващият нагоре единичен вектор.
Това е равно на , където и са единичните вектори на x и y.
Ако дадена повърхност няма допирателна равнина в точка, то тя няма нормала в тази точка. Например, конусът няма нормала на върха си, нито има нормали по дължина на ръба в основата си. Обаче, нормалата на конуса може да се определи почти по цялата му площ. По принцип възможно е да се определи нормала почти навсякъде за повърхност, която е Липшицова функция.
Уникалност на нормалата
[редактиране | редактиране на кода]Нормала на повърхност няма уникална посока – векторът, сочещ в противоположна посока на нормалата на повърхността, също е нормала на тази повърхност. За повърхност, която е топологична граница на редица от три измерения, може да се различат нормалата, сочеща навътре, и нормалата, сочеща навън, което може да помогне при определянето на нормалата по един-единствен начин. За ориентирана повърхност, нормалата на повърхността обикновено се определя чрез правилото на дясната ръка. Ако нормалата е построена като векторно произведение от допирателни вектори, то тя е псевдовектор.
Преобразуване на нормали
[редактиране | редактиране на кода]При преобразуването на повърхност често е полезно да се изведат нормалите от получената повърхност от първоначалните нормали. По-специално, в случая на трансформационна 3x3 матрица M, може да се определи матрица W, която преобразува вектор n, перпендикулярен на допирателната равнина t, във вектор n′, перпендикулярен на преобразуваната допирателна равнина M t, чрез следната логика:
Записваме n′ като W n. Трябва да се намери W.
W n перпендикулярна на M t
Очевидно, избирането на такава W, при което или да удовлетворява горното уравнение, ще даде , перпендикулярна на , или n′, перпендикулярна на t′, което се и търси.
Следователно, трябва да се използва обратното транспониране на линейното преобразуване, когато се преобразуват нормали на повърхности. Обратната транспонирана матрица е равна на първоначалната матрица, ако тя е ортонормална, тоест напълно ротационна.
Хиперповърхности в n-измерно пространство
[редактиране | редактиране на кода]Определението на нормала на повърхност в триизмерно пространство може да бъде разширено до -измерна хиперпорвърхност в n-измерно пространство. Хиперповърхността може да бъде локално дефинирана неявно като редицата от точки , които удовлетворява уравнението , където е дадена скаларна функция. Ако е непрекъсната диференциална функция, тогава хиперповърхността е диференциално многообразие в съседство на точките, където градиентът не е нулев. При тези точки нормалното векторно пространство има измерение единица и се генерира от градиента
Нормалната права в точка от хиперповърхността се определя само, ако градиентът не е нулев. Това е правата, преминаваща през точката и имаща посоката на градиента.