我需要幫助,使我的代碼更高效,並將其清理一點。如何使三角代碼更有效
如此image所示,x和y可以是整個屏幕周圍的任意點,並且我試圖找到角度t。有什麼方法可以減少這裏的線數?
注:原點在左上角;向右移動/下在正方向
o := MiddleOfScreenX - x;
a := MiddleOfScreenY - y;
t := Abs(Degrees(ArcTan(o/a)));
if(x > MiddleOfScreenX)then
begin
if(y > MiddleOfScreenY)then
t := 180 + t
else
t := 360 - t;
end
else
if(y > MiddleOfScreenY)then
t := 180 - t;
的代碼是帕斯卡移動,但與類似的語法或C++或其他語言的答案Java也很好。
:= sets the variable to that value
Abs() result is the absolute of that value (removes negatives)
Degrees() converts from radians to degrees
ArcTan() returns the inverse tan
非常感謝您的幫助,是的,確切的功能存在,它完美的工作(一旦我拿出'Abs()')。 – putonajonny
我拿出了腹肌,對錯誤抱歉。 –