| | |
| | | } |
| | | |
| | | // 图标默认朝下(270度),需要计算旋转角度使车头朝向行驶方向 |
| | | // 如果运动方向向上(90度)→ 需要旋转180度(270 - 90 = 180) |
| | | // 如果运动方向向右(0度)→ 需要旋转270度(270 - 0 = 270) |
| | | // 如果运动方向向左(180度)→ 需要旋转90度(270 - 180 = 90) |
| | | // 如果运动方向向下(270度)→ 需要旋转0度(270 - 270 = 0) |
| | | // 公式:heading = (270 - atan2Angle + 360) % 360 |
| | | double heading = (270.0 - atan2Angle + 360.0) % 360.0; |
| | | // 坐标系:North(+Y) -> Screen Down(90). East(+X) -> Screen Right(0). |
| | | // atan2: North(90), East(0). |
| | | // 目标:North -> Icon Down(0 rot). East -> Icon Right(270 rot). |
| | | // 90 -> 0. |
| | | // 0 -> 270. |
| | | // 公式:heading = (atan2Angle + 270) % 360 |
| | | double heading = (atan2Angle + 270.0) % 360.0; |
| | | |
| | | return heading; |
| | | } |