请问如何判断点是否直线上?

pcboy0785 2005-11-21 08:05:57
各位大哥,请问如何判断点是否直线上? 如点p(px,py),直线a(ax,ay) b(bx,by),如何判断p是否在直线上?
...全文
912 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kudeet 2005-11-24
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngdi/html/msdn_hittest2.asp
  • 打赏
  • 举报
回复
。。。如果不介意,我想改口,以上方法完全正确。。。不好意思。
  • 打赏
  • 举报
回复
抱歉,自己再算了下,上面方法不对。
  • 打赏
  • 举报
回复
因为直线的公式是:
y = ax + b
根据公式,可以知道:
a = (y2 - y1) / (x2 - x1)
有了a,我样就可以代入任意一点(这里用点1):
b = y1 - ax1
得到a、b后,将x y代入公式,如果ax + b等于y,那这个点就在直线上。
寻开心 2005-11-22
  • 打赏
  • 举报
回复
这个算是初等教育的知识了吧 :-)
寻开心 2005-11-22
  • 打赏
  • 举报
回复 1
如果是直线的话,已知了直线上的两个点和待检测点的方法
对于2d的来说,最简单的就是用面积公式了
.
.s = 0.5 * fabs( x1*y2-x2*y1 + x2*y3-x3*y2 + x3*y1-x1*y3)
.

如果是0或者是很接近0,就认为在上面,否则就不是
ddmor 2005-11-22
  • 打赏
  • 举报
回复
判断点在直线上最简单的方法就是判断点到直线的距离,然后还需要判断该点是否在直线的范围内,即该点的水平投影或垂直投影在直线段上。
还有一种方法是判断这三点的夹角,当然也需要判断该点是否在直线的范围内。
alphapaopao 2005-11-22
  • 打赏
  • 举报
回复
基础教育就是失败。高等教育就更不用提了。
寻开心 2005-11-22
  • 打赏
  • 举报
回复
写了一个点是否在线段上的判别方法
http://blog.csdn.net/happy__888/archive/2005/11/09/526154.aspx
syy64 2005-11-22
  • 打赏
  • 举报
回复
这种问题比较简单,有中学知识就够了;
这上面以前也有人发个这方面的帖子,找找看啊。
property1 2005-11-21
  • 打赏
  • 举报
回复
(y2 - y)(x1 - x) == (y1-y) (x2 -x)

如果是 浮点数 相乘 会有 误差, 应该考虑 (y2 - y)(x1 - x) - (y1-y) (x2 -x) 在某个 范围。

楼主 太懒。
pcboy0785 2005-11-21
  • 打赏
  • 举报
回复
请楼上的兄弟,能不能给我这个方程式,谢谢
BBirdlyh 2005-11-21
  • 打赏
  • 举报
回复
1 用初中知识列一个方程
2 在算法中实现着个方程,参数就是X Y坐标
3 得出一个BOOL 型结果
pcboy0785 2005-11-21
  • 打赏
  • 举报
回复
嘿嘿,见笑了。我的找不到这方面的资料,请各位帮忙,谢谢
property1 2005-11-21
  • 打赏
  • 举报
回复
如果是 存几何 问题 ,请翻阅 初中几何 教材。

如果是 计算机 绘图 问题, 有看 画直线的 算法

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧