怎么判断一个点(x,y)在一条直线上,直线是用lineto画出来的

master_jt 2003-12-10 04:39:33
如题
有直线两个端点的坐标(x1,y1)(x2,y2)
...全文
159 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
master_jt 2003-12-10
  • 打赏
  • 举报
回复
我那样写了可是并不能保证直线上的每个点都包含在内
那些点有的两三个在一排里面

jiangjian0427(carabao)
我有很多条直线的不是只有一条
而且还有点呢,颜色可能会一样的
lovefox_zoe 2003-12-10
  • 打赏
  • 举报
回复
如果都按照你们说地判断,很难地,最好是设定一个区域。
hthunter 2003-12-10
  • 打赏
  • 举报
回复
jiayodo(爱上一条鱼) 、jiayodo(爱上一条鱼)
屏幕上的一条直线上的所有点并不是精确的都在那条直线上的,那些点只是最接近该直线的整数坐标的近似点
  • 打赏
  • 举报
回复
先求直线方程,再把点代入不就行了
hthunter 2003-12-10
  • 打赏
  • 举报
回复
我当然知道直线上的点的坐标都是整数,比较斜率是从数学上求证一个点是否在直线上,对于屏幕上一个点是否在一条直线上,也可以通过算斜率的方式近似的算出:首先算直线的斜率,然后根据该斜率和要求证的点的x坐标求y坐标(结果四舍五入取整数),看看求出来的y值是否与实际的要求证的点的y值吻合。
jiayodo 2003-12-10
  • 打赏
  • 举报
回复
hthunter(核桃) 说的可以实现的,只要在同一直线上其斜率就一样,一个一个点也是样的
jiangjian0427 2003-12-10
  • 打赏
  • 举报
回复
得到那个点的颜色是否和线条的颜色相同?
master_jt 2003-12-10
  • 打赏
  • 举报
回复
算斜率没用啊
你看过那个线画出来是什么样子的啊
都是一个一个点的
hthunter 2003-12-10
  • 打赏
  • 举报
回复
根据两个端点先算出斜率,然后根据你要求证的这个点与其中一个端点再算一次斜率,比较这两个斜率是否相等就可以知道这个点是否在该直线上了
master_jt 2003-12-10
  • 打赏
  • 举报
回复
up

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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