ฉันพบเจอสิ่งนี้เป็นครั้งคราวและลืมวิธีที่จะทำเสมอ
หนึ่งในสิ่งเหล่านั้นที่ปรากฏขึ้นบ่อยครั้ง
นอกจากนี้สูตรการแปลงมุมที่แสดงเป็นเรเดียนเป็นองศาแล้วกลับมาอีกครั้งคืออะไร
ฉันพบเจอสิ่งนี้เป็นครั้งคราวและลืมวิธีที่จะทำเสมอ
หนึ่งในสิ่งเหล่านั้นที่ปรากฏขึ้นบ่อยครั้ง
นอกจากนี้สูตรการแปลงมุมที่แสดงเป็นเรเดียนเป็นองศาแล้วกลับมาอีกครั้งคืออะไร
คำตอบ:
radians = degrees * (pi/180)
degrees = radians * (180/pi)
สำหรับการดำเนินการคำถามหลักคือความแม่นยำของคุณเกี่ยวกับค่าของ pi มีการสนทนาที่เกี่ยวข้องที่นี่
Math.PI
ค่าคงที่ได้
วงกลมทั้งหมดในเรเดียนคือ 2 * pi วงกลมที่สมบูรณ์ในองศาคือ 360 เมื่อต้องการไปจากองศาเป็นเรเดียนจะ (d / 360) * 2 * pi หรือ d * pi / 180
x rads ในหน่วยองศา -> x * 180 / pi
x rads ในหน่วยองศา -> x * pi / 180
ฉันเดาว่าคุณต้องการสร้างฟังก์ชันสำหรับ [ใน PHP] นี้หรือไม่:
function convert($type, $num) {
if ($type == "rads") {
$result = $num*180/pi();
}
if ($type == "degs") {
$result = $num*pi()/180;
}
return $result;
}
ใช่นั่นอาจจะเขียนได้ดีกว่า
ใน javascript คุณสามารถทำได้ด้วยวิธีนี้
radians = degrees * (Math.PI/180);
degrees = radians * (180/Math.PI);
มันใช้งานได้ดีพอสำหรับฉัน :)
// deg2rad * degrees = radians
#define deg2rad (3.14159265/180.0)
// rad2deg * radians = degrees
#define rad2deg (180/3.14159265)
360 องศา = 2 * pi เรเดียน
นั่นหมายถึง deg2rad (x) = x * pi / 180 และ rad2deg (x) = 180x / pi;
pi Radians = 180 องศา
1 องศา = pi / 180 เรเดียน
หรือ 1 เรเดียน = 180 / pi องศา
สำหรับ double ใน c # สิ่งนี้อาจมีประโยชน์:
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)
และยังมีสองฟังก์ชันที่มีประโยชน์อื่น ๆ อีกมากมาย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));
radians = (degrees/360) * 2 * pi