Зона на триъгълник със знак и предикат "По часовниковата стрелка".

Определение

Нека три точки , , са дадени. Нека намерим стойносттазнакова областна триъгълника, т.е. площта на този триъгълник, взета със знак плюс или минус, в зависимост от вида на въртене, образувано от точките , , : съответно обратно на часовниковата стрелка или по него.

Ясно е, че ако се научим как да изчисляваме такава знакова („ориентирана“) площ, тогава можем да намерим и обичайната площ на всеки триъгълник, а също така можем да проверим дали някоя тройка от точки е насочена по или обратно на часовниковата стрелка.

изчисление

Нека използваме понятиетоизкривено(псевдоскаларно) произведение на вектори. То е точно равно на удвоената площ на знака на триъгълника:

където ъгълът се приема за ориентиран, т.е. е ъгълът на въртене обратно на часовниковата стрелка между тези вектори.

(Модулът на косото произведение на два вектора е равен на модула на произведението навектораот тях.)

Косото произведение се изчислява като стойността на детерминантата, съставена от координатите на точките:

Разширявайки детерминантата, можете да получите следната формула:

Можете да групирате третия член с първите два, като се отървете от едно умножение:

Удобно е да напишете и запомните последната формула в матрична форма, като следната детерминанта:

Внедряване

Функция, която изчислява два пъти площта със знак на триъгълник:

Функция, която връща обичайната площ на триъгълник:

Функция, която проверява дали определената тройка от точки прави въртене по посока на часовниковата стрелка:

Функция, която проверява дали определената тройка от точки формира въртене обратно на часовниковата стрелка: