社区
数据结构与算法
帖子详情
怎么判断一个线段是否可见?
idler
2002-01-11 10:34:50
在平面上给定一系列线段和一个观察点,如何判断从该点观察某线段是否可见?
只要没有被全部覆盖,这个线段即为可见。
...全文
335
7
打赏
收藏
怎么判断一个线段是否可见?
在平面上给定一系列线段和一个观察点,如何判断从该点观察某线段是否可见? 只要没有被全部覆盖,这个线段即为可见。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Soft21
2002-01-13
打赏
举报
回复
大家好啊,这里,Up!
mathe
2002-01-12
打赏
举报
回复
反正在多边形的情况,有一点是可以确定的,我们能够看到的线段肯定是一段连续的线段,而不会看到多段,所以只要将其它线段从和它相邻的线段开始一条条的计算出还没有被覆盖的部分(表示就很简单了),不过要注意一点要按照线段在多边形上的顺序来计算(不然中间结果会出现不连续的部分,那就比较麻烦了)
mathe
2002-01-12
打赏
举报
回复
这样好像将简单多了。
不过还要看观察点的位置是在多边形内部还是外部,还有多边形是否是凸多边形。
idler
2002-01-12
打赏
举报
回复
如果这些线段组成一个多边形呢?
mathe
2002-01-12
打赏
举报
回复
假设多边形的顶点依次为a1,..,an.观察点为O.
现在要判断a1an在O点能否看到。
初始化
s=0;e=1;代表线段 a1+t*(an-a1)在t=s时为a1,t=e时为an)
for(k=1;k<n;k++){
计算直线Oa[k]在直线a1an上的交点(其实可以使用上一次循环的结果)u
计算直线Oa[k+1]在直线a1an上的交点v
如果u同O在a[k]的同侧而且v同O在a[k+1]的同侧;continue;
如果一个同侧一个异侧比较麻烦,需要计算a[k]a[k+1]同a1an的交点(然后就同下面类似了,这里自己考虑一下吧)
同样将u和v表示为参数方程a1+t*(an-a1)中的形式。
由于是处理多边形,比然有u<=s或者v>=e
if(u<=s&&v>=e) 那么线段看不见;return;
if(u<=s)u=e;
else if(v>=e)v=s;
}
idler
2002-01-12
打赏
举报
回复
能不能给出一个具体的算法流程?
多谢!
mathe
2002-01-11
打赏
举报
回复
计算所有其他线段是否同目的线段所在直线相交,如果相交我们就将这些线段在交点处分为两条线段。
然后将所有这些线段上任取一点,如果它同观察点在目的直线分布在直线两边,则抛弃这条线,不然,就计算它在目的线段上投影的范围。就转化为一维问题了。
用计算机实现线框模型的消隐技术 (2011年)
消隐可增强三维图的立体感和直观性,使图形...通过
线段
在投影过程中的深度比较,可区分可见
线段
和不可见
线段
,利用邻边几何关系补充部分可见
线段
,结合LISP语言和VB软件生成人机交互系统,使计算机能够实现对立体图的消隐。
计算机图形学的实验
三维物体表示和可见面
判断
;真实感光照模型和面绘制算法等基本算法。同时培养学生进一步学习和研究图形工程高层技术的能力,使学生能够解决图形应用中的实际问题。同时通过学习和实验,培养学生把握科技发展方向,...
ThreeJS视频教程
计算
线段
与圆的交点 计算
线段
的长度
判断
折线
是否
在多边形内 等等) 5-sprite精灵(怎么让
一个
图标永远朝向屏幕,精灵的属性,精灵材质原理等,广告提示框必用) 6-骨骼游戏动画(什么是模型动画,常见游戏案例,如何...
GisTool_V4.8
输入
一个
角度值,并确定
一个
旋转基点,即可精确旋转一条
线段
。 20、改线长度功能。选项择一条
线段
,可以直接修改该
线段
的长度值。 21、属性编辑功能。采用电子表格的方式对图元属性进编辑,与excel、acsses能够...
vishull2d:二维多段线的可见区域
对于由
线段
集合表示的给定环境,从
一个
点计算可见区域。 在浏览器中亲自试用该模块: 用 只需使用 npm 安装它: npm install vishull2d 然后你可以像这样在你的游戏中使用它: var vishull = require ( ...
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章