Saya mengalami ini sesekali dan selalu lupa bagaimana melakukannya.
Salah satu hal yang sering muncul.
Juga, apa rumus untuk mengubah sudut yang dinyatakan dalam radian menjadi derajat dan kembali lagi?
Saya mengalami ini sesekali dan selalu lupa bagaimana melakukannya.
Salah satu hal yang sering muncul.
Juga, apa rumus untuk mengubah sudut yang dinyatakan dalam radian menjadi derajat dan kembali lagi?
Jawaban:
radians = degrees * (pi/180)
degrees = radians * (180/pi)
Adapun implementasi, pertanyaan utama adalah seberapa tepat Anda ingin tentang nilai pi. Ada beberapa diskusi terkait di sini
Math.PI
konstanta.
x rads dalam derajat -> x * 180 / pi
x derajat dalam rads -> x * pi / 180
Saya kira jika Anda ingin membuat fungsi untuk ini [dalam PHP]:
function convert($type, $num) {
if ($type == "rads") {
$result = $num*180/pi();
}
if ($type == "degs") {
$result = $num*pi()/180;
}
return $result;
}
Ya, itu mungkin bisa ditulis lebih baik.
360 derajat adalah 2 * PI radian
Anda dapat menemukan rumus konversi di: http://en.wikipedia.org/wiki/Radian#Conversion_between_radians_and_degrees .
360 derajat = 2 * pi radian
Itu berarti deg2rad (x) = x * pi / 180 dan rad2deg (x) = 180x / pi;
Untuk double in c # ini mungkin bermanfaat:
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;
}
Berikut adalah beberapa kode yang memperluas Object dengan rad(deg)
, deg(rad)
dan juga dua fungsi yang lebih berguna: getAngle(point1,point2)
dan di getDistance(point1,point2)
mana suatu titik perlu memiliki x
dan y
properti.
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));