找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2027|回复: 11

[研讨] 怎么写最方便,判断方位

[复制链接]

已领礼包: 488个

财富等级: 日进斗金

发表于 2013-12-26 17:53:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 aeo 于 2013-12-26 17:55 编辑

如图,已知方形四个点,斜线和方形方向都是45度

随便点一点,判断出这个点在 哪个区域

怎么写方便?

ppppp.jpg



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-26 18:00:11 来自手机 | 显示全部楼层
好像写过一个侧立面程序里有过正放矩形的BCDE区域判断,不过没你这复杂
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-12-26 18:02:55 | 显示全部楼层
5个区域,5个多边形,判断在哪个多边形里面。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-12-26 20:11:35 | 显示全部楼层
建立已矩形中心点为原点,长边为X轴的转换矩阵,将判断点和四边形转换到原点坐标,然后就可以根据坐标的XY之关系以及角度关系来判断点位于哪个区域!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

 楼主| 发表于 2013-12-27 00:26:41 | 显示全部楼层
一直在考虑,想的就是Lispboy 的方法。

而且这种方法好像可以检测其他凸多边形
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3032个

财富等级: 富可敌国

发表于 2013-12-27 06:42:41 | 显示全部楼层
如果是要达到目的,不用几何方法的话,我想到的是下面的步骤。
1.先建立最外围边界,找到五个多边形的面积(先打断,再建立面域,删除最大面积)
2.因为楼主是要点一下看落在那一个区域,所以利用选择点,建立边界,取得面积。
3.比较面积相等的就可以知道落在的那一个区域。
以上是个人的浅见
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-27 07:08:28 来自手机 | 显示全部楼层
本帖最后由 st788796 于 2013-12-27 07:28 编辑

线延伸到和屏幕BOX相交就形成5个区域了,xdrx_curve_getinters可以求两点和点集的交点

点评

aeo
现在我想了个方法,反正规定是凸多边形,所以变简单了 如下: 凸多边形是逆时针时 点p 找最近点p1,p1的上一点p0,下一点p2 判断p和线p0-p1,p1-p2 的时针关系。 ============================ 最简  详情 回复 发表于 2013-12-27 16:02
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

 楼主| 发表于 2013-12-27 16:02:11 | 显示全部楼层
st788796 发表于 2013-12-27 07:08
线延伸到和屏幕BOX相交就形成5个区域了,xdrx_curve_getinters可以求两点和点集的交点

现在我想了个方法,反正规定是凸多边形,所以变简单了

如下:
凸多边形是逆时针时
点p
  找最近点p1,p1的上一点p0,下一点p2
  判断p和线p0-p1,p1-p2 的时针关系。


============================

最简单的办法:
里面的框pts---画出pl线
以p到pts的任意点为距离offset
p在新的pl线上的最近点求 vlax-curve-getParamAtPoint , (fix Param)就是要求的区域位置

点评

能说说在什么地方需要应用这种判断么?  详情 回复 发表于 2013-12-27 17:35
用数学的方法判断要考虑的多,为什么不直接用点十分在多边形内,找到在哪个多边形里面呢,这样有现成的代码。很多时候直接用几何的位置比数学来的快。  详情 回复 发表于 2013-12-27 16:15
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-12-27 16:15:52 | 显示全部楼层
aeo 发表于 2013-12-27 16:02
现在我想了个方法,反正规定是凸多边形,所以变简单了

如下:

用数学的方法判断要考虑的多,为什么不直接用点十分在多边形内,找到在哪个多边形里面呢,这样有现成的代码。很多时候直接用几何的位置比数学来的快。

点评

aeo
但还要求出那么多多边形,求多边形的过程中就可以把结果求出来了.  详情 回复 发表于 2013-12-27 17:32
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

 楼主| 发表于 2013-12-27 17:32:02 | 显示全部楼层
newer 发表于 2013-12-27 16:15
用数学的方法判断要考虑的多,为什么不直接用点十分在多边形内,找到在哪个多边形里面呢,这样有现成的代 ...

但还要求出那么多多边形,求多边形的过程中就可以把结果求出来了.

点评

你给的矩形的4个点出来了,5个矩形就出来了,一两行代码而已。  详情 回复 发表于 2013-12-27 21:58
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-12-27 17:35:10 来自手机 | 显示全部楼层
aeo 发表于 2013-12-27 16:02
现在我想了个方法,反正规定是凸多边形,所以变简单了

如下:

能说说在什么地方需要应用这种判断么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-12-27 21:58:00 | 显示全部楼层
aeo 发表于 2013-12-27 17:32
但还要求出那么多多边形,求多边形的过程中就可以把结果求出来了.

你给的矩形的4个点出来了,5个矩形就出来了,一两行代码而已。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 05:16 , Processed in 0.395557 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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