作者chchwy (mat)
看板Prob_Solve
标题[问题] 请问三点共线
时间Sun Apr 17 18:01:22 2011
Point a,b,c;
int pos = a.x*b.y + b.x*c.y + c.x*a.y;
int neg = a.x*c.y + b.x*a.y + c.x*b.y;
if(pos==neg) {
// They're on the same line
}
请问,我在网路上看到这种做法,可以判断三点共线。
但是我不太明白为什麽可以这样做?
我个人猜测应该是跟外积有关系
但是式子又推不出来 冏
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.45.110.92
1F:推 stimim:三角形面积公式? 04/17 18:04
2F:推 syc0924:外积大小是两个向量的大小乘上夹角的sin值 共线时sinθ= 0 04/17 18:10
3F:→ firejox:斜率也可以证 04/17 19:18
4F:→ tkcn:计算几和通常不用斜率,会有额外的麻烦。 04/17 19:29
5F:→ firejox:把除法变乘法是常见的用法 04/17 19:31
※ 编辑: chchwy 来自: 114.45.110.92 (04/17 19:48)