我正在尝试在我的光线追踪器中使用锥形基元。我得到了锥形和射线工作的交叉点。但是,我不知道如何从定义锥体的方式获得锥体的法线。 我用以下内容定义了我的锥体:
pos -- The vertex of the cone
size -- Height of the cone
direction -- A unit vector that defines the direction of the cone
angle -- The angle of the cone
(有关更多信息,我按照Intersection of line and Cone的方式作为参考,了解它的定义方式。)
从我收集的内容中我可以使用two tangents of a point with the parametric eqn,并使用他们的交叉产品获得正常。但是我不知道如何根据我定义锥体的方式获得参数方程,以及参数方程的两个切线。
如果以某种方式有另一种方法来找到那些很棒的法线。
答案 0 :(得分:0)
我最终将渐变函数应用于锥方程(x*a+y*b+z*c)^2-(a^2+b^2+c^2)(x^2+y^2+z^2)cos(t)^2
其中
然后使用wolframalpha,这最终会给我
和normal={x,y,z}