Может ли кто-нибудь привести пример функции, которая возвращает векторное произведение ДВУХ 2-мерных векторов? Я пытаюсь реализовать этот алгоритм.
Код на C был бы отличным. Спасибо.
РЕДАКТИРОВАТЬ: нашел другой способ сделать это, который работает для 2D и очень прост.
bool tri2d::inTriangle(vec2d pt) {
float AB = (pt.y-p1.y)*(p2.x-p1.x) - (pt.x-p1.x)*(p2.y-p1.y);
float CA = (pt.y-p3.y)*(p1.x-p3.x) - (pt.x-p3.x)*(p1.y-p3.y);
float BC = (pt.y-p2.y)*(p3.x-p2.x) - (pt.x-p2.x)*(p3.y-p2.y);
if (AB*BC>0.f && BC*CA>0.f)
return true;
return false;
}