Phương pháp để chuyển đổi radian sang độ là gì?


156

Thỉnh thoảng tôi gặp phải điều này và luôn quên cách làm.

Một trong những điều đó bật lên thường xuyên.

Ngoài ra, công thức để chuyển đổi các góc được biểu thị bằng radian sang độ và trở lại là gì?


4
Tôi không thấy lý do tại sao mọi người lại hạ thấp điều này; một số người không thiên về toán học.
in

1
nó chỉ là một vấn đề của phrasing. Tôi đã viết lại nó như một vấn đề lập trình thay vì một vấn đề toán học, và thì đấy, nó phù hợp.
DevelopChris

3
Tiêu đề của câu hỏi này không có ý nghĩa. "[B] uilt trong phương thức" --- được xây dựng để làm gì?
Michael J. Thợ cắt tóc

1
Tôi sẽ đi hỏi một phương pháp để chuyển đổi Celsius thành Fahrenheit và quay lại, tôi cũng quên mất điều đó
Alex

7
StackOverflow không chỉ là một diễn đàn cho câu hỏi và câu trả lời. Đó là một nơi tham khảo. Ban đầu tôi đặt câu hỏi ở đây như một câu hỏi tham khảo, bởi vì nó thực sự phổ biến. Nó thuộc về nơi này nên khi ai đó trả lời "Chỉ Google thôi", Google sẽ hướng dẫn bạn đến đây.
Hans Sjunnesson

Câu trả lời:


273
radians = degrees * (pi/180)

degrees = radians * (180/pi)

Đối với việc thực hiện, câu hỏi chính là bạn muốn chính xác như thế nào về giá trị của pi. Có một số thảo luận liên quan ở đây


11
Pi = 4 * ArcTan (1) có thể được sử dụng, trong trường hợp bạn không có Pi trên hệ thống / máy tính của mình hoặc chỉ không muốn nhập nó với tất cả các số thập phân
Axel Kemper

21
Có thể điều này không có sẵn trong năm 2008, nhưng ngày nay bạn chỉ có thể sử dụng Math.PIhằng số.
Bart

1
Nhãn đơn vị @Hogun không giống với các biến đại số. Khi bạn nói "PI radian = 180 độ", bạn đang nói theo đơn vị, tương đương với nói "1 feet = 12 inch". Sau đó, bạn không lấy nhãn đơn vị và coi chúng là các biến, điều này sẽ cho bạn phương trình rõ ràng sai "feet = 12 * inch".
Dave Costa

1
Không cần độ parens = radian * 180 / Math.PI; radian = độ * Math.PI / 180;
Pawel

2
@Pawel Trong khi bạn đúng, tôi dám nói rằng tác giả đã sử dụng các parens để truyền đạt một khái niệm về cách thức chức năng kết hợp với nhau về mặt khái niệm.
Jacksonkr

10

một vòng tròn hoàn chỉnh tính bằng radian là 2 * pi. Một vòng tròn hoàn chỉnh tính theo độ là 360. Để chuyển từ độ sang radian, đó là (d / 360) * 2 * pi hoặc d * pi / 180.


9

x rad theo độ -> x * 180 / pi
x độ theo rad -> x * pi / 180

Tôi đoán nếu bạn muốn tạo một hàm cho điều này [trong PHP]:

function convert($type, $num) {
    if ($type == "rads") {
          $result = $num*180/pi();
        }

    if ($type == "degs") {
          $result = $num*pi()/180;
        }

    return $result;
  }

Vâng, điều đó có thể được viết tốt hơn.


4

Trong javascript bạn có thể làm theo cách này

radians = degrees * (Math.PI/180);

degrees = radians * (180/Math.PI);

1

Điều này hoạt động đủ tốt cho tôi :)

// deg2rad * degrees = radians
#define deg2rad (3.14159265/180.0)
// rad2deg * radians = degrees
#define rad2deg (180/3.14159265)



0

360 độ = 2 * pi radian

Điều đó có nghĩa là deg2rad (x) = x * pi / 180 và rad2deg (x) = 180x / pi;


0

pi radian = 180 độ

Vậy 1 độ = pi / 180 radian

hoặc 1 radian = 180 / pi độ


0

Đối với gấp đôi trong c # điều này có thể hữu ích:

        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;
        }

0

Đây là một số mã mở rộng Object với rad(deg), deg(rad)và cũng có hai hàm hữu ích hơn: getAngle(point1,point2)getDistance(point1,point2)trong đó một điểm cần phải có một thuộc tính xy.

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));

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.