社区
数据结构与算法
帖子详情
图形操作算法
bluecc
2002-09-02 09:31:00
现有一组直线,知道直线的两端点坐标,相交组成网格,网格形状不定,可能为三角形或四边形.知道网格中的一点<即用鼠标点击网格中一点>,要求出组成该网络的各边的直线.
...全文
29
15
打赏
收藏
图形操作算法
现有一组直线,知道直线的两端点坐标,相交组成网格,网格形状不定,可能为三角形或四边形.知道网格中的一点,要求出组成该网络的各边的直线.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xdspower
2002-11-08
打赏
举报
回复
我觉得这个问题应该有比较好的解决办法,基本思路就是记录下确定的各个网格(网格的确定依据这样的算法,首先线条是有序的,则起码要到第三条线开始才能确定第一个网格,而没增加一条线可增加的网格只有两种类型,一个就是切分已有网格,一个就是独立的新网格,这样可以用一个多二叉树来描述各个网格了,这样在判断点的时候可以通过搜索树来完成)
zzwu
2002-10-20
打赏
举报
回复
较好的办法是求出由直线组成的所有的多边形,这样,只要依次判别点在那一多边形就可以了.
bluecc
2002-10-15
打赏
举报
回复
这个方法不错,但是在预先确定Tn时每个网格内的点怎么定.而且网格的个数也是未知的.
bluecc
2002-10-14
打赏
举报
回复
TO Wugifer() :你的方法是可行的,但是计算太大,每算一次都必须遍历所有直线,恐怕会很慢的.而且要计算直线和多边形的交点好象也很麻烦
Wugifer
2002-10-14
打赏
举报
回复
另一种方法:
预先求出n条直线的方程fn(x,y)=ax+by+c=0,
令gn(x,y)= 1 if fn(x,y)>0;-1 if fn(x,y)<0 ,
则每个备选的网格对应的{g1(x,y),...,gn(x,y)}序列可确定下来,记为Tn.每两个网格的Tn均不相同。
以上操作均可预先做完。
对每个点(x,y),计算{g1(x,y),...,gn(x,y)},与各Tn比较即可。
systree
2002-10-12
打赏
举报
回复
如果直线不变化,而要持续点击
就先将点击平面分割成以序列的方块,然后计算每个方块涉及的直线
再
计算点在每条直线的哪一边,继续求直线的交点就可以
wtzyb4446
2002-10-11
打赏
举报
回复
非数学算法可以用图形学中的漫水法填充的思想,要求直线的颜色与其他地方的颜色不一样。从选取的点开始,向四周找相同颜色的点,直到找到四周不同颜色的点,有了这些点就可以求直线了。
Wugifer
2002-10-11
打赏
举报
回复
假定 参考点 不在任何直线上:
1. 构造足够大的矩形,使得所有直线的交点都在矩形内部,记为凸多边形S;
2. 依次枚举每一条直线:计算直线与 S 的交点,S至多被分割为2个小凸多边形,选择包含 参考点 的小凸多边形为新的S;
3. 枚举完后,S即为所求。
xiaonian_3654
2002-10-10
打赏
举报
回复
我补充一下吧,如果这个点落在边上,就求两个网格,
如果落在网格公共顶点上上的,就求这几个网格,
toulouse
2002-10-10
打赏
举报
回复
GZ
alidiedie
2002-09-07
打赏
举报
回复
比一般的图形拾取算法复杂多了.
偶得想想
bluecc
2002-09-03
打赏
举报
回复
最好是数学上的解
你说的这种方法具体怎么做法
weya
2002-09-03
打赏
举报
回复
如果你不是想要得到纯数学上的解的话,用种子染色法试试。
bluecc
2002-09-03
打赏
举报
回复
这个问题先不考虑,能求出边界再说.
qiuyang_wang
2002-09-02
打赏
举报
回复
如果鼠标正好点在线上该怎么办?
OpenCV和MFC的实例+界面程序+各种图像处理操作
有良好的mfc界面,可以打开图像、视频,并作简单的数字图象处理,视频目标检测、跟踪等等,包含大量的基础
算法
,基于opencv1.0和vc6.0(vs2008)都可以应用,不用安装,直接编译运行就可以,对于初学者熟悉opencv的...
VC++编程100个实用实例源码
VC++ 实用编程100个实例,包含界面编辑,文件操作、
算法
计算、硬件检测、图形绘制等,这些实例大部分都属底层编程,有的还有一定难度,初学者可以参考阅读一下。
【奇境】计算机图形学底层原理-如何从C++独立编写一个openGL
涵盖了(环境搭建,绘制点,Bresenham
算法
绘制完美直线,三角形拆分绘制
算法
,颜色插值
算法
,图片操作,图片二次插值放缩
算法
,纹理系统接口搭建及封装,矩阵操作理论以及实践,openGL类似接口封装,3D世界的图形学...
计算机图形学-基本图形生成
算法
基本图形生成
算法
图元扫描转换 直线段扫描转换 圆弧扫描转换 实区域填充 图形的剪裁 图形反走样 消隐 光栅化
算法
线段光栅化
算法
DDA
算法
中点Bresenham画线
算法
Bresenham改进
算法
圆光栅化...
光栅图形学
算法
(一)
随着光栅显示器的出现,为了在计算机上处理、显示图形,需要发展一套与之相适应的
算法
:光栅图形学
算法
光栅图形学
算法
的研究内容 直线段的扫描转换
算法
多边形的扫描转换与区域填充
算法
裁剪
算法
反走样...
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章