找回密码
 点一下
查看: 1264|回复: 4

求方法获取不规则区域

[复制链接]
发表于 2010-9-14 21:42:34 | 显示全部楼层 |阅读模式
会随机在地图上创建几个点,但希望这几个点连成一个区域.进入这个不规则区域的单位会触发一定事件.
问题在于如何取得这几个点的位置和集成为一个区域并存储在变量的问题.
发表于 2010-9-14 22:29:16 | 显示全部楼层
不断用矩形区域叠加,达到近似效果,似乎最多只能做到这样了
回复

使用道具 举报

发表于 2010-9-15 06:30:13 | 显示全部楼层
我以前做过这个,在技能区,不过当时做的有点问题,另外包括凹多边形的还没有解
回复

使用道具 举报

发表于 2010-9-15 07:37:34 | 显示全部楼层
想到一个简单的方法,此方法无法判断边界。方法如下:设点a为欲判断的点,b为确定这个凸多边形的全部点(或者说判断的多边形区域为由b中全部国部分点组成的最大多边形,此多边形一定为凸的)设c为b中任意一点(固定为某一个)然后获取从a到c的角度,设为d。循环b中全部点(可以包括c),设循环到的点为bx,获取从a到bx的方向为e,并求d-e的结果再处理为-180至+180的范围内(加减360),并记录其最大最小值分别为f,g。循环完毕后若f-g的值小于180,就是多边形的外的点。
回复

使用道具 举报

 楼主| 发表于 2010-9-15 21:02:25 | 显示全部楼层
部分地方比较难以计算,比如万一就是凹形的..
还是考虑下普通的矩形区域让其随机化地图选择一区域创建好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-4 18:24 , Processed in 0.044360 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表