- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设我有一个由两个函数 x(p)
和 y(p)
定义的轮廓形状,其中 p
是距离沿着形状的周边移动,在 0
和 1
之间归一化。例如,关于原点的单位圆将定义为 x(p) = sin(2 * pi * p)
和 y(p) = cos(2 * pi * p)
。
确定一个点是否在该圆内的一个简单测试是计算该点与原点的距离,然后检测该距离是否小于或等于 1
。
但是,如果我的形状有多个交叉点,并且比圆形复杂得多怎么办?
存在一个point in polygon测试由一组点定义的离散形状。这个算法很容易找到,因为它被用在很多地方。但是,如果我不想使用形状的离散定义,我可以使用什么算法来确定绕组数,假设形状是在编译时定义的?
最佳答案
推广多边形测试中的点,您可以找到y(p)=0
的所有解决方案,使得x(p)>0
并使用它们的奇偶校验数。
在圆的情况下,cos(2πp)=0
for p=(k+1/2)π
,只有一个值
使 [0,1)
范围内的 psin(2πp)>0
。
到目前为止,如果您可以解析地求解 y
方程,那就太好了。否则,您将需要一个可靠的数值求解器,能够找出所有的根。另一种方法是使曲线变平(将其绘制为多段线,确保最大偏差容差),然后应用多边形算法。
为了第二个例子,让我们用等式 r = 0.5 + cos Θ
和沿 X
的一些测试点来考虑 Pascal 的 limaçon。
y = (0.5 + cos Θ) sin Θ = 0
Θ=0
、2π/3
、π
、4π/3
。对应的横坐标为1.5
、0
、0.5
和0
。
您可以得出结论,X 轴上的内部点在 0.5
和 1.5
之间(也在 0
处,以退化的方式) .
关于闭合轮廓的绕数算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33247472/
单击位于阴影根内部的元素时出现空指针异常(已关闭) 尝试用 Java 脚本处理它: public WebElement getShadowRootElement(WebElement element)
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 3 年前。 Improve th
我开始了解 Javascript 中的原型(prototype)设计和闭包,但还不完全是这样。下面的示例中,我的两个对象,第二个对象似乎失去了范围/上下文并接管了第一个对象的身份。 function
我有一个 Ionic 应用程序,我正在尝试从闭包内部返回数据。控制台正确显示所有内容,但我似乎无法正确返回数据。我尝试了几种不同的变体,但没有成功。 $scope.callbackMethod = f
我正在编写一个程序,能够识别面部的以下特征: 眼睛是睁着还是闭着 嘴巴是张开还是闭合(最好是张开程度) 脸部转向的方向(左、右或正面) 与其从头开始开发此功能(这所以不是我的领域),我希望能够使用第三
我有一个错误,我不明白,我有一个json,我做了一个接口,当我试图循环它时,我在我的html中得到了一个错误。。JSON格式对我来说相当复杂。。谢谢。。图片中的错误。杰森。接口。服务。Ts.file。
我是一名优秀的程序员,十分优秀!