我完全清楚"定向导向"在3D空间中完全是任意的,很像在外太空中没有上升或下降;它基于感知。但是,我很好奇,当宣布某些东西面向北方时,是否有任何共同的约定?阳性X可以被认为是北方吗?
编辑: 我记得Minecraft在调试控制台中有一个基于方向的输出;他们似乎这样定位:
正X:东
否定X:西部
正Z:南
负Z:北
我决定坚持使用“我的世界”如何宣布其定向饰面;我也写了这个小帮手类。切换解析方法是不必要的,但无论如何我都想要它。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace YourNameSpaceHere {
public static class Orientation {
public const double North = 180.0D;
public const double East = -90.0D;
public const double South = 0.0D;
public const double West = 90.0D;
public enum Direction {
North ,
East ,
South ,
West
}
public static double ParseRotation( Direction direction ) {
double returnVal = 0.0D;
switch( direction ) {
case Direction.North:
returnVal = North;
break;
case Direction.East:
returnVal = East;
break;
case Direction.South:
returnVal = South;
break;
case Direction.West:
returnVal = West;
break;
}
return returnVal;
}
}
}
答案 0 :(得分:3)
在OpenGL中为特定轴指定世界方向时没有惯例,但我会说常识建议按照您在编辑中描述它的方式命名。
我认为很明显地假设用户在查看屏幕时面向的默认方向是北方,因此-Z:北,Z:南,-X:西,X:东。但是你真的取决于你如何命名这些方向,所以如果你觉得不同的方法对你更具启发性,你可以去寻找它。
请注意,当您使用2D地图时,您将改变思考世界方向的方式。