【问题标题】:Transform world space vectors to local space [closed]将世界空间向量转换为局部空间
【发布时间】:2016-01-07 00:26:14
【问题描述】:

我正在编写一个将球体与区域光源相交的光线追踪程序。我有那个向量

  • wo (w - 传出)
  • wi(w - 传入)
  • n(表面法线)

我如何将向量从世界坐标系转移到本地坐标系。我搜索了一个 c++ 算法,该向量的变换位于同一个半球。谢谢。

注意: 例如,该局部坐标系中的法向量坐标为: n2 = 向量(x=0, y=1, z=0)

编辑: 我正在搜索“wo1”、“wi1”和“n2”局部 xyz 坐标值。

【问题讨论】:

    标签: c++ math vector raytracing coordinate-systems


    【解决方案1】:

    您将位于世界坐标系中的向量投影到构成本地坐标系基础的向量。

    例如,如果您的本地坐标系基础是三个向量(例如,LxLyLz),它们跨越您的本地向量空间。 wo 本地系统中的坐标将为:

    wo_local_x = wo . Lx;
    wo_local_y = wo . Ly;
    wo_local_z = wo . Lz;
    

    其中. 表示点积。

    【讨论】:

      猜你喜欢
      • 2013-04-22
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      相关资源
      最近更新 更多