请教:

cpfhsl 2003-08-22 05:58:26
在一个画图程序中,怎样实现用鼠标点击来选取线段(用什么算法比较精确),我是初学者,请高手赐教!!
...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2003-08-23
  • 打赏
  • 举报
回复

什么矩阵?

是线段。
记录你绘制的所有的线段到一个数组或者队列当中,每个线段记录它的两个端点的位置,当鼠标选择线段的时候,你自己查询一下这个队列,看鼠标点距离那个线段最近,就认为那个线段被选择了。

BlueSky2008 2003-08-22
  • 打赏
  • 举报
回复
可以用一种"染色"的方法。
图像以矩阵形式存储。第一条直线经过的点全部设置为1,第二条直线经过的点全部设置为2...,
相交情况可以自己确定一个次序。没有直线经过的点全部设置为0。
鼠标点击的时候,先判断当前点的值,如果是1就是第一条直线,如果是2就是第2条直线...,
如果当前点是0,可以再判断当前点周围的8个点,(就是把选取的范围逐步宽)。
放宽到一定程度,就行了。如果还是0,就认为没选中。
这其实是一种以空间换时间的方法,可以在很短的时间内找到选取的直线。
cpfhsl 2003-08-22
  • 打赏
  • 举报
回复
这个我明白,比方说:你用一个矩阵(这个矩阵的起点就是你按下选取的点)然后判断这个线段是与在这个矩阵相交(这个相交有什么比较好的算法?),多谢指教
寻开心 2003-08-22
  • 打赏
  • 举报
回复
不要企图从绘制出来的图片上选择这个线段。
而是记录你自己绘制线段参数,然后在鼠标点击的时候,确定位置,根据点到记录的已知直线的位置确定该直线是否呗选中

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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