我正在做一个three.js项目,但这实际上只是数学。
通常我有一个Y轴向上系统。
想象一下我的对象位于0,0,0(尽管可能位于任何地方)
我在某个位置有一个聚光灯,可以是任何一个,但为了示例,可以说(130,75,50),总是指向0,0,0;
我可以更改哪个轴指向上方(x,y,z,-x,-y,-z),并且可以随意将其更改为任意轴。当我这样做时,我希望灯光达到“相同位置”(从用户的角度来看,因此灯光矩阵/位置矢量需要旋转以将其移动到相同位置以保持灯光相同。
由于光线可以在任何位置,并且上轴可以从任何位置移动到任何位置,因此我无法以一种简单的方式绕头转动向量。我确定必须进行一些计算,而不是确定每种情况下的轴旋转(例如,从+ x到-z)。希望这是有道理的。