私は時々これに遭遇し、いつもそれを行う方法を忘れます。
非常に頻繁に表示されるものの1つ。
また、ラジアンで表された角度を度に変換し、再び戻すための式は何ですか?
私は時々これに遭遇し、いつもそれを行う方法を忘れます。
非常に頻繁に表示されるものの1つ。
また、ラジアンで表された角度を度に変換し、再び戻すための式は何ですか?
回答:
radians = degrees * (pi/180)
degrees = radians * (180/pi)
Math.PI
定数を使用することができます。
度単位のx rad-> x * 180 / pi
度単位のx度-> x * pi / 180
あなたがこれのために関数を作りたかったのかと思います[PHPで]:
function convert($type, $num) {
if ($type == "rads") {
$result = $num*180/pi();
}
if ($type == "degs") {
$result = $num*pi()/180;
}
return $result;
}
はい、おそらくもっと上手く書くことができます。
360度は2 * PIラジアンです
変換式はhttp://en.wikipedia.org/wiki/Radian#Conversion_between_radians_and_degreesにあります。
C#でのdoubleの場合、これは役に立ちます。
public static double Conv_DegreesToRadians(this double degrees)
{
//return degrees * (Math.PI / 180d);
return degrees * 0.017453292519943295d;
}
public static double Conv_RadiansToDegrees(this double radians)
{
//return radians * (180d / Math.PI);
return radians * 57.295779513082323d;
}
ここではいくつかでオブジェクトを拡張するコードでありrad(deg)
、deg(rad)
:また、2つの有用な機能getAngle(point1,point2)
とgetDistance(point1,point2)
ポイントを有することが必要x
とy
プロパティが。
Object.prototype.rad = (deg) => Math.PI/180 * deg;
Object.prototype.deg = (rad) => 180/Math.PI * rad;
Object.prototype.getAngle = (point1, point2) => Math.atan2(point1.y - point2.y, point1.x - point2.x);
Object.prototype.getDistance = (point1, point2) => Math.sqrt(Math.pow(point1.x-point2.x, 2) + Math.pow(point1.y-point2.y, 2));