获取点到中心点的角度和距离
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
我正在尝试制作一个颜色选择器并需要一些帮助,我需要获得一个点与中心点的角度,从顶部开始向左移动,最高值为 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