Graphics 三维系统的翻译

Graphics 三维系统的翻译,graphics,geometry,computer-vision,Graphics,Geometry,Computer Vision,我有一个x-y坐标系 这个图表应该代表你告诉我的。 关键的一点是在CS1中表示[x2],[y2]。(我不能在这里使用latex,所以假设[A]表示向量A,|A |是向量A的长度) [v2]=v2x*[x2]+v2y*[y2] 因为我们已经很好地定义了[v1]和[d2],所以我们可以计算[x'] [x`]=[d2]-[v1] 从[x']我们可以计算x2 [x2]=(| x2 |/| x'|)自| x1 |/| x'|)以来的[x']| 从x2我们可以计算y2,虽然我不记得怎么计算。这是一个简单的9

我有一个x-y坐标系

这个图表应该代表你告诉我的。 关键的一点是在CS1中表示[x2],[y2]。(我不能在这里使用latex,所以假设[A]表示向量A,|A |是向量A的长度)

[v2]=v2x*[x2]+v2y*[y2]

因为我们已经很好地定义了[v1]和[d2],所以我们可以计算[x']

[x`]=[d2]-[v1]

从[x']我们可以计算x2

[x2]=(| x2 |/| x'|)自| x1 |/| x'|)以来的[x']|

从x2我们可以计算y2,虽然我不记得怎么计算。这是一个简单的90°旋转。 应该是这样的:

y2x=-x2y y2y=x2x

一旦我们在CS1中表达了x2,y2,我们就可以计算v2了

v2=v2x*[x2]+v2y*[y2]=v2x*(x2x*[x1]+x2y*[y1])+v2y*(y2x*[x1]+y2y*[y1]) =(v2xx2x+v2yy2x)[x1]+(v2xx2y+v2yy2y)[y1]//希望我在这里没有犯任何错误:)

最后

[十] =[v1]+[v2]

我认为最好的选择是创建一个向量类,并使用向量代数完成所有的数学运算。您只需要定义3个操作:加法、ScalarMultiplication、90旋转。

这个图表应该代表你告诉我的。 关键的一点是在CS1中表示[x2],[y2]。(我不能在这里使用latex,所以假设[A]表示向量A,|A |是向量A的长度)

[v2]=v2x*[x2]+v2y*[y2]

因为我们已经很好地定义了[v1]和[d2],所以我们可以计算[x']

[x`]=[d2]-[v1]

从[x']我们可以计算x2

[x2]=(| x2 |/| x'|)自| x1 |/| x'|)以来的[x']|

从x2我们可以计算y2,虽然我不记得怎么计算。这是一个简单的90°旋转。 应该是这样的:

y2x=-x2y y2y=x2x

一旦我们在CS1中表达了x2,y2,我们就可以计算v2了

v2=v2x*[x2]+v2y*[y2]=v2x*(x2x*[x1]+x2y*[y1])+v2y*(y2x*[x1]+y2y*[y1]) =(v2xx2x+v2yy2x)[x1]+(v2xx2y+v2yy2y)[y1]//希望我在这里没有犯任何错误:)

最后

[十] =[v1]+[v2]


我认为最好的选择是创建一个向量类,并使用向量代数完成所有的数学运算。您只需要定义3个操作:加法、ScalarMultiplication、90旋转。

两个向量和两个基(x-y坐标)。如果基础是共面的(不需要三维),则此计算将简化。同样,问题是:如何定义CS1和CS2?你有什么关于他们的信息?你没有足够的信息来做那件事。在所有情况下,您都需要将向量带到公共基。你有关于摄像机的任何信息吗?我已经根据这个描述更新了我的答案。我仍然认为你缺少一些数据,但可能是我想得太多了。如果你能画一张图表,我想那会比文本好。理论上,给定这些向量,如果我理解你的意思,你可以确定X轴的方向和原点的位置。这足以给出CS2相对于CS1的旋转角度,但仍然不能给出x2和y2的绝对长度。记住,有3种可能的变换:平移、旋转和缩放。我们以后还需要知道。除非你知道它等于1。我再次更新了我的答案:)你必须检查我的计算,但我认为这是一个正确的方法。我建议您尝试一些样本测试并比较结果。我尝试使用向量代数来避免所有的三角计算,但是你也可以使用基本几何和三角规则来找到角度。两个向量和两个基(x-y坐标)。如果基础是共面的(不需要三维),则此计算将简化。同样,问题是:如何定义CS1和CS2?你有什么关于他们的信息?你没有足够的信息来做那件事。在所有情况下,您都需要将向量带到公共基。你有关于摄像机的任何信息吗?我已经根据这个描述更新了我的答案。我仍然认为你缺少一些数据,但可能是我想得太多了。如果你能画一张图表,我想那会比文本好。理论上,给定这些向量,如果我理解你的意思,你可以确定X轴的方向和原点的位置。这足以给出CS2相对于CS1的旋转角度,但仍然不能给出x2和y2的绝对长度。记住,有3种可能的变换:平移、旋转和缩放。我们以后还需要知道。除非你知道它等于1。我再次更新了我的答案:)你必须检查我的计算,但我认为这是一个正确的方法。我建议您尝试一些样本测试并比较结果。我试图通过使用向量代数避免所有的三角计算,但是你也可以使用基本几何和三角规则来找到角度。