三维空间中的方向

时间:2015-03-14 11:40:46

标签: c# 3d rotation orientation direction

我有几个输入:F(前进),R(右转),L(左转),U(“上转”),D(“下调”),< (“落在左侧”),> (“落在右侧”)。

想象一下,我站在点(0,0,0),右边是X轴,向上是Y轴,向前是Z轴(所以方向向量是(0,0,1)) 。我希望用户能够编写像“FFRFFLFLF”这样的命令,然后在3D空间中打印正确的位置。

例如:命令“FFLFRF<'FRFUFF”。会给我这个(我在每个命令后打印位置):

  • (0,0,1)
  • (0,0,2)
  • (0,0,2)
  • ( - 1,0,2)
  • ( - 1,0,2)
  • ( - 1,0,3)
  • ( - 1,0,3)
  • ( - 1,0,4)
  • ( - 1,0,4)
  • ( - 1,1,4)
  • ( - 1,1,4)
  • ( - 2,1,4)
  • ( - 3,1,4)

当我想表示给定方向的旋转和移动时,我遇到了问题。我的第一个方法是写出可能发生的所有可能的旋转和方向。当然,这不是一个非常好的方法,因为它会以非常丑陋的代码结束重复。

我的问题是:对于这个确切的问题,最好的方法是什么?我读到了旋转矩阵,但我很困惑如何在这个确切的问题中使用它们。你能给我解决方案或任何暗示或建议吗?谢谢。

0 个答案:

没有答案