具体问题
以判断某一坐标的象限角为例。给定某一坐标
x
,
y
x,y
x,y
若,
x
>
0
,
y
>
0
x>0,y>0
x>0,y>0,则象限角在第一象限(弧度角),为
θ
=
arctan
(
∣
y
x
∣
)
\theta=\arctan(\left | \frac{y}{x} \right | )
θ=arctan(
xy
);
若,
x
<
0
,
y
>
0
x<0,y>0
x<0,y>0,则象限角在第二象限,为
θ
=
π
−
arctan
(
∣
y
x
∣
)
\theta=\pi-\arctan(\left | \frac{y}{x} \right | )
θ=π−arctan(
xy
);
若,
x
<
0
,
y
<
0
x<0,y<0
x<0,y<0,则象限角在第三象限,为
θ
=
π
+
arctan
(
∣
y
x
∣
)
\theta=\pi+\arctan(\left | \frac{y}{x} \right | )
θ=π+arctan(
xy
);
若,
x
>
0
,
y
<
0
x>0,y<0
x>0,y<0,则象限角在第四象限,为
θ
=
2
π
−
arctan
(
∣
y
x
∣
)
\theta=2\pi-\arctan(\left | \frac{y}{x} \right | )
θ=2π−arctan(
xy
);
// if语句
if y > 0 & x > 0
theta_x = atan(abs(y/x))
else if y > 0 & x < 0
theta_x = pi - atan(abs(y/x))
else if y < 0 & x < 0
theta_x = pi + atan(abs(y/x))
else if y < 0 & x > 0
theta_x = 2*pi - atan(abs(y/x))
end
end
end
end
//switch语句
switch theta_x == atan(abs(y/x))
case y > 0 & x > 0
theta_x = theta_x
case y > 0 & x < 0
theta_x = pi - theta_x
case y < 0 & x < 0
theta_x = pi + theta_x
case y < 0 & x > 0
theta_x = 2*pi - theta_x
end
运行截图: