Зона на триъгълник със знак и предикат "По часовниковата стрелка".
Определение
Нека три точки , , са дадени. Нека намерим стойносттазнакова областна триъгълника, т.е. площта на този триъгълник, взета със знак плюс или минус, в зависимост от вида на въртене, образувано от точките , , : съответно обратно на часовниковата стрелка или по него.
Ясно е, че ако се научим как да изчисляваме такава знакова („ориентирана“) площ, тогава можем да намерим и обичайната площ на всеки триъгълник, а също така можем да проверим дали някоя тройка от точки е насочена по или обратно на часовниковата стрелка.
изчисление
Нека използваме понятиетоизкривено(псевдоскаларно) произведение на вектори. То е точно равно на удвоената площ на знака на триъгълника:
където ъгълът се приема за ориентиран, т.е. е ъгълът на въртене обратно на часовниковата стрелка между тези вектори.
(Модулът на косото произведение на два вектора е равен на модула на произведението навектораот тях.)
Косото произведение се изчислява като стойността на детерминантата, съставена от координатите на точките:
Разширявайки детерминантата, можете да получите следната формула:
Можете да групирате третия член с първите два, като се отървете от едно умножение:
Удобно е да напишете и запомните последната формула в матрична форма, като следната детерминанта:
Внедряване
Функция, която изчислява два пъти площта със знак на триъгълник:
Функция, която връща обичайната площ на триъгълник:
Функция, която проверява дали определената тройка от точки прави въртене по посока на часовниковата стрелка:
Функция, която проверява дали определената тройка от точки формира въртене обратно на часовниковата стрелка: