里面大部分计算 与圆柱的交点类似,可以看下圆柱交点的推导过程:
https://mp.csdn.net/postedit/92795146
点到直线的距离参考:
https://mp.csdn.net/postedit/91954743
通过上面的公式求得k1,k2分别对于圆锥上的2点,但这个2点需要判断是不是到圆锥轴的距离小于等于底面圆的半径。
附上代码:
/// <summary>
/// 直线与圆锥的交点
/// </summary>
/// <param name="c"></param>
/// <param name="p1"></param>
/// <param name="p2"></param>
/// <param name="rp1"></param>
/// <param name="rp2"></param>
/// <returns></returns>
public static int LineToConePoint(Cone c, Vector3 p1, Vec