Data structures 在R3中仅用三个数字定义平面

Data structures 在R3中仅用三个数字定义平面,data-structures,geometry,plane,Data Structures,Geometry,Plane,我找到的所有平面定义都使用四个数字(用于平面法线和与原点的距离定义)或六个数字(用于平面法线和平面定义上的点) 也许我遗漏了一些东西,但是用向量的方向作为平面法线,向量的大小作为距原点的距离,难道不可能定义一个只有三个数字(nx,ny,nz)的平面吗 我正在尝试编写一个生成数十亿个平面的游戏,将我的平面结构剃掉25%真的会有帮助。这是可能的,每次需要时都要重新计算到原点的距离。如果需要使用3个参数的解决方案,并且没有退化情况,请使用两个方向角(U,V)和到原点的距离D 平面方程:cos(U)。X

我找到的所有平面定义都使用四个数字(用于平面法线和与原点的距离定义)或六个数字(用于平面法线和平面定义上的点)

也许我遗漏了一些东西,但是用向量的方向作为平面法线,向量的大小作为距原点的距离,难道不可能定义一个只有三个数字(nx,ny,nz)的平面吗


我正在尝试编写一个生成数十亿个平面的游戏,将我的平面结构剃掉25%真的会有帮助。

这是可能的,每次需要时都要重新计算到原点的距离。

如果需要使用3个参数的解决方案,并且没有退化情况,请使用两个方向角
(U,V)
和到原点的距离
D

平面方程:
cos(U)。X+sin(U)。cos(V)。Y+sin(U)。sin(V)。Z=D


如果不要求高精度,则可以将角度存储为短角度,并进行适当的缩放,以达到0°00'20“的分辨率。使用float
D
,每个平面可压缩到8字节。

当平面穿过原点时,向量没有方向信息。