社区
数据结构与算法
帖子详情
计算几何问题
bacmoz
2007-12-04 03:27:21
点集S = {S1, S2, ..., Sn}
A,B∈S, A != B
求P∈S, 使得PAB方向为逆时针, PAB不共线, 且三角形PAB内不包含S中的点
如何设计S的存储结构?
如果有三角剖分的结果就容易了
...全文
134
9
打赏
收藏
计算几何问题
点集S = {S1, S2, ..., Sn} A,B∈S, A != B 求P∈S, 使得PAB方向为逆时针, PAB不共线, 且三角形PAB内不包含S中的点 如何设计S的存储结构? 如果有三角剖分的结果就容易了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
HUNTON
2007-12-06
打赏
举报
回复
定义:平面上的三点P1(x1,y1),P2(x2,y2),P3(x3,y3)的面积量:
S(P1,P2,P3) = (x1-x3)*(y2-y3) - (y1-y3)*(x2-x3)
如果S(P1,P2,P3)< 0,则P1P2P3是顺指针的
如果S(P1,P2,P3)> 0,则P1P2P3是逆指针的
如果S(P1,P2,P3)= 0,则P1P2P3三点共线
kaishui_gu
2007-12-05
打赏
举报
回复
问题的复杂度等价于对“角度”排序的复杂度
tailzhou
2007-12-05
打赏
举报
回复
其实不管怎么预处理,都只能使系数变小,不可能使复杂度低于o(n);
除非对所有可能的ab都预先求解;
tailzhou
2007-12-05
打赏
举报
回复
可以考虑对点按照坐标做索引;
若在 由a,b点组成的矩形框内存在有逆时针的点,则在该矩形内肯定存在有符合条件的p;
若不存在有符合条件的点,扩大矩形的范围;
mathe
2007-12-04
打赏
举报
回复
很简单,顺序保存就可以达到O(n)的算法
首先对于S中每个元素P
计算向量AP×AB(叉乘),得到三角形PAB的有向面积
找到上面计算结果为正而且最小的P就可以了
bacmoz
2007-12-04
打赏
举报
回复
"PAB方向为逆时针", 用来固定P在AB的一侧
bacmoz
2007-12-04
打赏
举报
回复
我的问题在于:
能否设计合适的数据结构, 或采用合适的预处理
得到时间复杂度低于O(n)的算法
tailzhou
2007-12-04
打赏
举报
回复
类似凸包的解法;
大概的计算可以这样;
计算AB的直线;
1)若AB直线与X轴平行,则计算所有的y坐标大于A的y坐标的点(若a的x坐标大于b点的x坐标,则取y坐标小于A的y的点)p,求AB与BP的角的角度;
2)若AB直线与不与X轴平行,则对所有的点p,计算“y=p的y坐标”的直线与AB直线的交点若交点的x坐标<p的x坐标(若a的x坐标大于b点的x坐标,则条件为:交点的x坐标>p的x坐标),则求AB与BP的角的角度;
角度最小且大于0的点既为所求;
若有多个角度相同的点,那么,取这些点中跟b点最近的那个点;
medie2005
2007-12-04
打赏
举报
回复
"PAB方向为逆时针"什么意思?
(HDUACM201403版_08)
计算几何
基础
杭电ACM课件2014版之 (HDUACM201403版_08)
计算几何
基础
计算几何
问题
汇总--圆与矩形
我在上一篇博客中(详见:
计算几何
问题
汇总–点与线的位置关系)谈到了
计算几何
最基本的
问题
:解决点与线(线段or直线)的位置关系判断。那么,更进一步,还需要探讨复杂一点的情况:比如面与线,面与面之间的关系。本文中,我就先说说最常见的两种几何图形:圆与矩形。我将就矩形与圆的碰撞判断
问题
、线与矩形、线与圆之间的碰撞
问题
作出分析,以及给出这些解决
问题
的算法、代码。在此之前,我默认所有对本文内容感兴趣的读者,都
MATLAB
计算几何
MATLAB
计算几何
,包括几何图元的关系运算、点集的凸包、Delaunay剖分和Voronoi图等内容。 所在套餐:MATLAB核心知识点系列课程-CSDN程序员研修院,不断更新和增加课程。
计算几何
基础【用图来助你理解几何算法】
计算几何
基础 1.基本概念 1.1
计算几何
的引入
计算几何
是几何学的一个重要分支,也是计算机科学的一个分支,研究解决几何
问题
的算法。在现代工程与数学、计算机图形学、机器人学、VLSI设计、计算机辅助设计等学科领域中,
计算几何
都有重要应用。
计算几何
问题
的输入一般是关于一组几何物体(如点、线)的描述;输出常常是有关这些物体相关
问题
的回答,如直线是否相交、点围成的面积等
问题
。 1.2 浮点数造成的误差 在学习
计算几何
之前,我们来回顾一下高中知识,我们求直线方程,或者是交点时,经常出现根号多少多少,以至我
计算几何
---ToLeftTest
计算几何
—ToLeftTest 标签(空格分隔):
计算几何
问题
场景 ToLeftTest用于片段一个点在一个向量的左侧还是右侧(或者在向量所在的直线上)。 《
计算几何
–算法与应用》第一章中用于确定凸包的边。如图,灰色的线段即为凸包的边,也称为极边。 极边都会有一个性质,那就是:除了极边的两个端点,其余的顶点全部都在极边的左边/右边(或者上)。 如何判断其余所有顶点在边的...
数据结构与算法
33,007
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章