社区
数据结构与算法
帖子详情
求平面N点最大范围点连线成多边形算法
JTHWAMAN
2007-09-18 03:40:06
请教各位怎样才能做到将
平面N点最大范围点连线成多边形
N点位置均不是在同一线上而是任意排列
烦请各位提供一下程序算法
谢谢
...全文
204
9
打赏
收藏
求平面N点最大范围点连线成多边形算法
请教各位怎样才能做到将 平面N点最大范围点连线成多边形 N点位置均不是在同一线上而是任意排列 烦请各位提供一下程序算法 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JTHWAMAN
2007-09-22
打赏
举报
回复
请问 "Tiger_Zhao"
您说的方法中有几点不明白,可以解释一下吗?
01.斜率 (x2-x1)/(y2-y1) 若求解时出现 "除以零" 该怎样处里呢?
02.顺逆方向是由上面斜率值判断吗?
是否为: 负值为逆 正值为顺 ?
正值越小,离P1点越近 ???
03.怎样回到点 p1 ?
若是判断全部的点,也会判断到凸包内部的点阿
那在资料中不就会一直判断,没办法找出真正的外围点?
不知道上面的说法对不对
由于没看过别人写的完整凸包程序,因此会有些疑惑
或许由程式讲解会更好些...
Tiger_Zhao
2007-09-21
打赏
举报
回复
没错,不过你的紧绷法用算法描述能否比罗列所有的可能路径求最小要优?
Zricepig
2007-09-21
打赏
举报
回复
ls的,你这么说,最短路径还可以看成是一个鱼网上两个点,用手一扯,最紧绷的那根就是最短路经~~~
Tiger_Zhao
2007-09-20
打赏
举报
回复
我没学过什么算法,所以不知道归为哪类。
思路来源:将点看作插在地上的筷子,拿根线在外围绕一圈,就是凸包。
JTHWAMAN
2007-09-20
打赏
举报
回复
谢谢 "Tiger_Zhao" 的回覆
不知道您的方法算是哪类:
另外对于 凸包的求法种类查找了一下有
"Krikpatrick剪枝搜索算法" "Seidel剪枝搜索算法" "Graham扫瞄法" "Jarvis步进法"
这四种 不知道是不是还有其他,
但对于有介绍使用程序的好像只有"Graham扫瞄法".
是否因为使用其他方法的效果不如 "Graham扫瞄法" 呢 ???
Tiger_Zhao
2007-09-19
打赏
举报
回复
找出一个 x 最小的点 p1(x1,y1),该点必定是凸包的顶点;
找出一个 p2(x2,y2),使将直线 x=x1 顺时针旋转成为经过p1、p2的直线的角度最小,可以通过斜率 (x2-x1)/(y2-y1) 进行判断;
同理查找 p3 使得顺时针旋转角度最小,一直回到点 p1。
只要注意直接旋转经过象限边界时的斜率变化就可以了。
JTHWAMAN
2007-09-18
打赏
举报
回复
那凸包该用哪种算法求会比较方便及快速呢?
zgg___
2007-09-18
打赏
举报
回复
是呀,再远的地方就没有点支着了。
tailzhou
2007-09-18
打赏
举报
回复
就是求凸包吧?
google!
C++计算几何
算法
大全
㈠
点
的基本运算 1.
平面
上两
点
之间距离 1 2. 判断两
点
是否重合 1 3. 矢量叉乘 1 4. 矢量
点
乘 2 5. 判断
点
是否在线段上 2 6.
求
一
点
饶某
点
旋转后的坐标 2 7.
求
矢量夹角 2 ㈡ 线段及直线的基本运算 1.
点
与线段的关系 3 2.
求
点
到线段所在直线垂线的垂足 4 3.
点
到线段的最近
点
4 4.
点
到线段所在直线的距离 4 5.
点
到折线集的最近距离 4 6. 判断圆是否在
多边形
内 5 7.
求
矢量夹角余弦 5 8.
求
线段之间的夹角 5 9. 判断线段是否相交 6 10.判断线段是否相交但不交在端
点
处 6 11.
求
线段所在直线的方程 6 12.
求
直线的斜率 7 13.
求
直线的倾斜角 7 14.
求
点
关于某直线的对称
点
7 15.判断两条直线是否相交及
求
直线交
点
7 16.判断线段是否相交,如果相交返回交
点
7 ㈢
多边形
常用
算法
模块 1. 判断
多边形
是否简单
多边形
8 2. 检查
多边形
顶
点
的凸凹性 9 3. 判断
多边形
是否凸
多边形
9 4.
求
多边形
面积 9 5. 判断
多边形
顶
点
的排列方向,方法一 10 6. 判断
多边形
顶
点
的排列方向,方法二 10 7. 射线法判断
点
是否在
多边形
内 10 8. 判断
点
是否在凸
多边形
内 11 9. 寻找
点
集的graham
算法
12 10.寻找
点
集凸包的卷包裹法 13 11.判断线段是否在
多边形
内 14 12.
求
简单
多边形
的重心 15 13.
求
凸
多边形
的重心 17 14.
求
肯定在给定
多边形
内的一个
点
17 15.
求
从
多边形
外一
点
出发到该
多边形
的切线 18 16.判断
多边形
的核是否存在 19 ㈣ 圆的基本运算 1 .
点
是否在圆内 20 2 .
求
不共线的三
点
所确定的圆 21 ㈤ 矩形的基本运算 1.已知矩形三
点
坐标,
求
第4
点
坐标 22 ㈥ 常用
算法
的描述 22 ㈦ 补充 1.两圆关系: 24 2.判断圆是否在矩形内: 24 3.
点
到
平面
的距离: 25 4.
点
是否在直线同侧: 25 5.镜面反射线: 25 6.矩形包含: 26 7.两圆交
点
: 27 8.两圆公共面积: 28 9. 圆和直线关系: 29 10. 内切圆: 30 11.
求
切
点
: 31 12. 线段的左右旋: 31
ACM 计算几何模板
ACM 很全的计算几何模板 基础部分 1.几何公式 5 1.1三角形 5 1.2四边形 5 1.3正n边形 5 1.4圆 5 1.5棱柱 6 1.6棱锥 6 1.7棱台 6 1.8圆柱 6 1.9圆锥 6 1.10圆台 7 1.11球 7 1.12球台 7 1.13球扇形 7 2.直线与线段 7 2.0预备函数 7 2.1判三
点
是否共线 8 2.2判
点
是否在线段上 9 2.3判断两
点
在线段的同一侧 9 2.4判断两
点
是否在线段的异侧 9 2.5
求
点
关于直线的对称
点
10 2.7判断两线段是否相交 10 2.7.1常用版 10 2.7.2不常用版 11 2.8
求
两条直线的交
点
11 2.9
点
到直线的最近距离 12 2.10
点
到线段的最近距离 12 3.
多边形
12 3.0 预备浮
点
函数 12 3.1判定是否是凸
多边形
13 3.2判定
点
是否在
多边形
内 14 3.3 判定一条线段是否在一个任意
多边形
内 15 4. 三角形 16 4.0预备函数 16 4.1
求
三角形的外心 17 4.2
求
三角形内心 17 4.3
求
三角形垂心 17 5. 圆 18 5.0预备函数 18 5.1判定直线是否与圆相交 19 5.2判定线段与圆相交 19 5.3判圆和圆相交 19 5.4计算圆上到
点
p最近
点
19 5.5计算直线与圆的交
点
20 5.6计算两个圆的交
点
20 6. 球面 21 6.0给出地球经度纬度,计算圆心角 21 6.1已知经纬度,计算地球上两
点
直线距离 21 6.2已知经纬度,计算地球上两
点
球面距离 21 7. 三维几何的若干模板 22 7.0预备函数 22 7.1判定三
点
是否共线 23 7.2判定四
点
是否共面 23 7.1判定
点
是否在线段上 23 7.2判断
点
是否在空间三角形上 24 7.3判断两
点
是否在线段同侧 24 7.4判断两
点
是否在线段异侧 25 7.5判断两
点
是否在
平面
同侧 25 7.6判断两
点
是否在
平面
异侧 25 7.7判断两空间直线是否平行 25 7.8判断两
平面
是否平行 26 7.9判断直线是否与
平面
平行 26 7.10判断两直线是否垂直 26 7.11判断两
平面
是否垂直 26 7.12判断两条空间线段是否相交 27 7.13判断线段是否与空间三角形相交 27 7.14计算两条直线的交
点
28 7.15计算直线与
平面
的交
点
28 7.16计算两
平面
的交线 29 7.17
点
到直线的距离 29 7.18 计算
点
到
平面
的距离 29 7.19计算直线到直线的距离 30 7.20空间两直线夹角的cos值 30 7.21两
平面
夹角的cos值 30 7.22直线与
平面
夹角sin值 31 1.最远曼哈顿距离 31 2. 最近
点
对 32 3. 最近
点
对 34 4. 最小包围圆 36 5.
求
两个圆的交
点
39 6.
求
三角形外接圆圆心 40 7.
求
凸包 42 8.凸包卡壳旋转
求
出所有对踵
点
、最远
点
对 44 9. 凸包+旋转卡壳
求
平面
面积
最大
三角 47 10. Pick定理 50 11.
求
多边形
面积和重心 51 12. 判断一个简单
多边形
是否有核 52 13. 模拟退火 54 14. 六边形坐标系 56 15. 用一个给定半径的圆覆盖最多的
点
60 16. 不等大的圆的圆弧表示 62 17. 矩形面积并 62 18. 矩形的周长并 66 19. 最近圆对 70 20.
求
两个圆的面积交 74
避障问题最短路径的两级动态规划
算法
(2006年)
研究了任意
点
对的
平面
避障问题。用凸
多边形
表示障碍物,凸
多边形
的集合构
成
障碍环境。在此基础上,提出了一种新的路径规划思路:对图结构进行扩展,用传统的Floyed
算法
进行一级规划;对传统Floyed
算法
扩展后进行二级规划,很好地解决了任意
点
对的
平面
避障问题。利用矢量间夹角的关系来判断障碍环境中
点
对的
连线
是否交叉于
多边形
。经理论证明和算例验证,该
算法
方便简洁,容易实现,表明了
算法
的正确性。
几何
算法
:
点
集合构造简单
多边形
问题:给定
平面
中n个
点
所组
成
的集合,将它们连接起来形
成
一条简单的封闭路径。所谓简单路径,是指边与边无交叉。 如下图所示10个
点
组
成
的简单轮廓: 思路:取x坐标
最大
的
点
A(如果
最大
x坐标的
点
不止一个,则取Y坐标最小的
点
),依次计算A
点
与其余各
点
的
连线
与水平线之间夹角的正切值,然后按照正切值排序,依次连接排序后的各
点
即组
成
一个简单图形。 原理:其它所有
点
都在A
点
的左侧,所有夹角的范...
算法
- PNPoly解决
点
到
多边形
距离的问题
最近做了一个
算法
题【盒马配货】: (题目大意)盒马店的配送
范围
由一些
点
组
成
的
多边形
确定,给定一个
点
判断其是否在配送
范围
内,若在,则此
点
不需要挪动,打印"no 0";若不在,则给出此
点
需要挪动到配送
范围
的最短距离,打印"yes 距离"。 如何
求
解
点
到
多边形
的距离 此题
求
解需要解决两个问题:
点
到
多边形
的边的最短距离。
点
是否包含在
多边形
内。
点
到边的距离 计算
点
到
多边形
最短距离的基本原理是...
数据结构与算法
33,006
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章