首页 > 解决方案 > 计算正方形的角度距离

问题描述

给定正方形中的一个点,我需要计算该点在正方形上的距离(一端为 0%,另一端为 100%)。对于简单的水平(或垂直)遍历,进度只是 X 坐标(或 Y 坐标)除以正方形的大小。

但这就是我苦苦挣扎的地方:我需要遍历成一个角度,所以有几个(度数?弧度?)向上或向下倾斜。如果这有帮助:所有具有匹配“进度”值的点应形成一条垂直于路径/遍历角度的线。

我需要编写一个这样的方法(大多数语言),它返回一个介于 0 和 1 之间的值:

float calculateProgress(float x, float y, float size, float angle) { }

...但不知道从哪里开始。

非常感谢任何帮助!

编辑/添加说明:对于平面/水平遍历,报告“50% 进度”的点将在正方形中间形成一条垂直线。但是逆时针旋转了一点,我希望那些相同的点(现在旋转形成一条斜线)报告“50% 的进度”,即使上半部分现在在 x/size 的左侧,而下半部分现在是x/size 的右边。

标签: javageometry

解决方案


推荐阅读