EDA365电子论坛网

标题: 关于chuankay的贴《skill中多边形与圆形选择的看法》 [打印本页]

作者: 86232648    时间: 2013-10-3 10:54
标题: 关于chuankay的贴《skill中多边形与圆形选择的看法》

这两种选择方式尽管不是很必要,但是用skill实现确实有点纠结,下面是这两种选择模式的实现思路,大家来吐槽。
圆形:
获取圆形的db——circle
获取圆形的圆心——circleXY
获取circle的bBox ——box = circle->bBox
用box选择函数选择box内的所有目标对象——List
方式1——遍历List中的对象到圆心的距离,若在半径之内就是在圆形内部了。
方式2——将圆形构建shape,判断List所有目标是否在shape内,参考axlGeoPointInShape函数。
多边形:
同上,获取box,并选择box内所有对象List
方式1——将多边形构建shape,判断List所有的目标是否在shape内,参考axlGeoPointInShape函数。
方式2——判断List内所有目标的xy到box外连城的线与多边形是否有奇数个交点(除多边形端点,与边重合等因素),有奇数个交点则目标在多边形内部,若有偶数个交点则目标在多边形外部。(这种方法在数学中已经很老了)


大家还有其他的方法吗?




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2