【发布时间】:2011-01-20 22:56:37
【问题描述】:
谁能提供一个返回两个二维向量叉积的函数示例?我正在尝试实现this algorithm。
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;
}
【问题讨论】:
-
这是工作还是在家工作?
-
这是个人欣赏。为什么?
-
@tm1rbt -- 因为 SOers 喜欢知道我们什么时候在做或帮助做作业,以便我们可以将学分转移到我们自己的成绩单上。
-
你到底怎么能要求一个函数来计算叉积,接受一个不正确的答案,然后发布一个返回布尔值的函数?我对此投了反对票并投票结束。