如何检测点是否在3d圆锥内

时间:2014-09-22 05:08:59

标签: 3d collision

我想编写一个简单的程序来构造一个3d圆锥体(不需要渲染)并采用一个点并告诉该点是否在c ++中的锥体(单个圆锥体)内。

就像我们在圆圈中做的那样,中心位于h,k并指向x,y指向(x-h)^2 + (y-k)^2 - r^2 = 0如果答案等于零,则点位于边界上,如果小于零则位于圆内如果大于零,它将在圆外,所以我想要这种类型的简单方程,我可以写入函数并返回,如果该点在锥体内或锥体外

伪代码应该是这样的 圆的伪代码:

bool isInsideCircle(Circle circle, Point point)  // circle (radius, center(x,y)), point (x,y)
{

   if ( square(point.x - circle.center.x) + square(point.y - circle.center.y) - square(r) < 0)
      return true
   else 
      return false
}

锥形的伪代码

bool isInsideCone(Cone cone, Point point) // Point (x,y,z)
{
   if (here i want this equation which tests that if a point is inside the cone)
      return true
   else
      return false
}

因为我知道它有一个锥体(高度半径和角度theata)在3d 现在我不知道怎么做,因为我也是数学周, 这是我的第一个问题所以现在我希望每个人都能更好地理解

0 个答案:

没有答案