【发布时间】:2016-11-10 19:25:01
【问题描述】:
我有以下六边形网格并尝试计算从中心到每个边缘六边形的度数(浅蓝色):
蓝色突出显示的十六进制在 0 度处是正确的,并且该象限(右下方)是正确的。这是我的角度计算方法:
private static function calculateAngle(hex1:Hexagon, hex2:Hexagon):Number {
// hex1 is always passed in as the grid center or start
var diffY:Number = Math.abs(hex2.center.y) - Math.abs(hex1.center.y);
var diffX:Number = Math.abs(hex2.center.x) - Math.abs(hex1.center.x);
var radians:Number = Math.atan(diffY / diffX);
return radians * 180 / Math.PI;
}
为什么剩余的角度(每个六边形中的文字)不正确?
【问题讨论】:
-
center属性是Point对象吗? -
@null: 是的,
center是一个Point对象。 -
认为
Point中的角度有一个getter,但只有一个静态方法polar(len:Number, angle:Number):Point从极坐标构造Point。没有内置方法来获取现有极坐标。
标签: actionscript-3 geometry polar-coordinates