如何用C++判断点是否在一条直线上,尽可能简单

「已注销」 2017-11-10 01:58:40
...全文
2339 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhoujk 2018-08-22
引用 3 楼 holkie 的回复:
这连公式都给了, 直接 if((a*c+b*d)==e) Console.WriteLine("true"); else Console.WriteLine("false"); 就完事啦
如果是浮点数的话,最好别用 == 运算。 我解决这一类问题的方法是将直线(由AB两点定义)和点C构成一个三角形,海伦公式求出其面积,然后面积除以线段AB的长度,就是点C到直线的距离。如果距离小于指定的阈值,就可以返回 TRUE。这样要稍微慢一点,但好处是把距离都返回了,这才是我的需求里真正需要的结果。
  • 打赏
  • 举报
回复
holkie 2018-08-01
这连公式都给了,

直接
if((a*c+b*d)==e)
Console.WriteLine("true");
else
Console.WriteLine("false");
就完事啦
  • 打赏
  • 举报
回复
三眼二郎 2017-12-28
点在直线上可以考虑用hough变换进行判断,点在线上就是线是否和其他两条在线上的点过同一点。
  • 打赏
  • 举报
回复
NoEdUl 2017-11-10
线公式给了 测试点给了 点到直线距离不会算?
  • 打赏
  • 举报
回复
相关推荐
发帖
机器视觉
加入

4114

社区成员

图形图像/机器视觉
申请成为版主
帖子事件
创建了帖子
2017-11-10 01:58
社区公告
暂无公告