获取点到中心点的角度和距离

Get the angle and the distance of point from center point

我正在尝试制作一个颜色选择器并需要一些帮助,我需要获得一个点与中心点的角度,从顶部开始向左移动,最高值为 1,最低值为 0 , 以及两点之间的距离;

我在高中时跳过了数学所以我很茫然,任何帮助将不胜感激

以弧度计算中心和点之间的角度:

Math.Atan2(point.y-center.y,point.x-center.x) 

标准化:

Math.Atan2(point.y-center.y,point.x-center.x)/Math.PI/2

让它从顶部开始:

Math.Atan2(point.y-center.y,point.x-center.x)/Math.PI/2+0.25

不要让它低于零:

(Math.Atan2(point.y-center.y,point.x-center.x)/Math.PI/2+0.25+1)%1

将其反转,使其逆时针旋转:

1-(Math.Atan2(point.y-center.y,point.x-center.x)/Math.PI/2+0.25+1)%1

你可以改写为:

1-(Math.Atan2(point.y-center.y,point.x-center.x)/2/Math.PI+1.25)%1