我有几个输入:F(前进),R(右转),L(左转),U(“上转”),D(“下调”),< (“落在左侧”),> (“落在右侧”)。
想象一下,我站在点(0,0,0),右边是X轴,向上是Y轴,向前是Z轴(所以方向向量是(0,0,1)) 。我希望用户能够编写像“FFRFFLFLF”这样的命令,然后在3D空间中打印正确的位置。
例如:命令“FFLFRF<'FRFUFF”。会给我这个(我在每个命令后打印位置):
当我想表示给定方向的旋转和移动时,我遇到了问题。我的第一个方法是写出可能发生的所有可能的旋转和方向。当然,这不是一个非常好的方法,因为它会以非常丑陋的代码结束重复。
我的问题是:对于这个确切的问题,最好的方法是什么?我读到了旋转矩阵,但我很困惑如何在这个确切的问题中使用它们。你能给我解决方案或任何暗示或建议吗?谢谢。