起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 234|回复: 10

【结帖】判断一个点是否在一条直线,用那个函数?**

[复制链接]
发表于 2008-4-1 14:42:16 | 显示全部楼层 |阅读模式
如题。
回复

使用道具 举报

发表于 2008-4-1 14:44:47 | 显示全部楼层
不用判断吧。。
看x,y  只要有一个值和直线相同的就是在直线上。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-1 15:17:58 | 显示全部楼层
不是吧,比如说一条直线,起始点:10,10    到100,100
你说点50,50 是否在这条直线上。
回复 支持 反对

使用道具 举报

发表于 2008-4-1 15:24:15 | 显示全部楼层
算法问题,网上搜阿!
最简单的就是
直线函数是y=kx+b将点坐标(x,y)代进去,函数两边相等就对了
回复 支持 反对

使用道具 举报

发表于 2008-4-1 15:27:58 | 显示全部楼层
我实在想不起来,问问高中生很容易的。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-1 15:31:27 | 显示全部楼层
如果这条直线是有宽度的,怎么判断。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-1 15:33:49 | 显示全部楼层
我找到了两个函数PtInRegion,CreateEllipticRgn
是判断一个点是否在椭圆中,
帮忙找一下,是否有解决这个问题的现成函数
回复 支持 反对

使用道具 举报

发表于 2008-4-1 15:41:01 | 显示全部楼层
如果是有斜率的直线,上面的函数是不行的。必须用数学算法去计算。
回复 支持 反对

使用道具 举报

发表于 2008-4-1 15:45:55 | 显示全部楼层
我找到了一个公式,算3楼的。两点式x-x1)/(x2-x1)=(y-y1)/(y2-y1)
---
起始点:10,10    到100,100
你说点50,50 是否在这条直线上。
----
求解后,x=y就在这个直线上。所以50,50在这个线上。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-1 16:15:23 | 显示全部楼层
先结贴吧,我们再考虑下是否可以绕过这个这里。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 21:02 , Processed in 0.043281 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表