将世界 space 向量转换为本地 space
Transform world space vectors to local space
我正在编写一个将球体与面光源相交的光线追踪程序。我有那个向量
- wo(w - 即将离任)
- wi(w - 传入)
- n(表面法线)
如何将该向量从世界坐标系转移到局部坐标系。我搜索了一个 c++ 算法,该向量的转换位于同一个半球。谢谢。
注意:
例如,该局部坐标系中的法向量坐标为:
n2 = 向量(x=0, y=1, z=0)
编辑:
我正在搜索 "wo1"、"wi1" 和 "n2" 本地 xyz 坐标值。
您将位于世界坐标系中的矢量投影到构成本地坐标系基础的矢量。
例如,如果您的局部坐标系基础是跨越局部向量 space 的三元组向量(例如,Lx
、Ly
、Lz
)。 wo
本地系统中的坐标将是:
wo_local_x = wo . Lx;
wo_local_y = wo . Ly;
wo_local_z = wo . Lz;
其中 .
表示点积。
我正在编写一个将球体与面光源相交的光线追踪程序。我有那个向量
- wo(w - 即将离任)
- wi(w - 传入)
- n(表面法线)
如何将该向量从世界坐标系转移到局部坐标系。我搜索了一个 c++ 算法,该向量的转换位于同一个半球。谢谢。
注意: 例如,该局部坐标系中的法向量坐标为: n2 = 向量(x=0, y=1, z=0)
编辑: 我正在搜索 "wo1"、"wi1" 和 "n2" 本地 xyz 坐标值。
您将位于世界坐标系中的矢量投影到构成本地坐标系基础的矢量。
例如,如果您的局部坐标系基础是跨越局部向量 space 的三元组向量(例如,Lx
、Ly
、Lz
)。 wo
本地系统中的坐标将是:
wo_local_x = wo . Lx;
wo_local_y = wo . Ly;
wo_local_z = wo . Lz;
其中 .
表示点积。