我有一个3D世界,其中有几个2D圆躺在地面上,面向天空。

我如何检查一条线是否从上到下与这些圆中的一个相交?

我试图搜索,但我得到的只是这种相交测试:
http://mathworld.wolfram.com/Circle-LineIntersection.html

但它不是我所需要的,这是我的意思的图像:
http://imageshack.us/m/192/8343/linecircleintersect.png

最佳答案

如果在坐标系中,对于c,c的常数为z = c,则可以简单地计算z = c的直线的x,y坐标。现在,对于原点x0,y0和半径R的圆,您只需检查是否

(x-x0)^ 2 +(y-y0)^ 2
如果为真,则该线与圆相交。

关于c++ - 线-3d世界中的圆交集测试?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6059196/

10-11 18:03