Radyanı dereceye dönüştürme yöntemi nedir?


156

Buna ara sıra giriyorum ve nasıl yapılacağını hep unutuyorum.

Sık sık ortaya çıkan şeylerden biri.

Ayrıca, radyan cinsinden ifade edilen açıları tekrar derece ve geri dönüştüren formül nedir?


4
İnsanların bunu neden küçümsediğini anlamıyorum; bazı insanlar matematiksel olarak eğimli değildir.
thesmallprint

1
bu sadece bir ifade meselesi. Bunu matematik problemi yerine programlama problemi olarak yeniden ifade ettim ve işin içine uyuyor.
DevelopingChris

3
Bu sorunun başlığı bir anlam ifade etmiyor. "[B] yöntemde uilt" --- ne inşa?
Michael J. Barber

1
Celsius Fahrenheit ve geri dönüştürmek için bir yöntem soracağım gidiyorum, ben de unutmaya devam
Alex

7
StackOverflow sorular ve cevaplar için bir forumdan daha fazlasıdır. Bir referans yeri. Aslında soruyu referans soru olarak buraya koydum, çünkü gerçekten çok yaygın. Buraya ait, bu yüzden birisi "Sadece Google" ı yanıtladığında, Google sizi buraya yönlendirecektir.
Hans Sjunnesson

Yanıtlar:


273
radians = degrees * (pi/180)

degrees = radians * (180/pi)

Uygulamaya gelince, ana soru pi'nin değeri hakkında ne kadar kesin olmak istediğinizdir. Burada ilgili tartışmalar var


11
Pi = 4 * ArcTan (1), sisteminizde / hesap makinenizde Pi yoksa veya sadece tüm ondalıklarla yazmak istemiyorsanız kullanılabilir
Axel Kemper

21
Belki bu 2008'de mevcut değildi, ama bugünlerde Math.PIsabiti kullanabilirsiniz .
Bart

1
@Hogun Unit etiketleri cebirsel değişkenlerle aynı şey değildir. "PI radyanı = 180 derece" dediğinizde, "1 ayak = 12 inç" demeye eşdeğer birimlerle konuşuyorsunuz. Daha sonra birim etiketlerini almaz ve değişkenler olarak ele almazsınız, bu da size açıkça yanlış olan "feet = 12 * inç" denklemini verir.
Dave Costa

1
Parens derecesine gerek yok = radyan * 180 / Math.PI; radyanlar = derece * Math.PI / 180;
Pawel

2
@Pawel Haklı olduğunuzda, yazarın, işlevin kavramsal olarak nasıl bir araya geldiği hakkında bir kavram iletmek için parenleri kullandığını söyleyebilirim.
Jacksonkr

10

radyan cinsinden tam bir daire 2 * pi'dir. Derece cinsinden tam bir daire 360 ​​derecedir. Dereceden radyana gitmek için (d / 360) * 2 * pi veya d * pi / 180'dir.


9

x derece cinsinden çubuklar -> x * 180 / pi
x derece cinsinden çubuklar -> x * pi / 180

Bu [PHP] bir işlev yapmak istedim sanırım:

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

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

    return $result;
  }

Evet, muhtemelen daha iyi yazılabilir.


4

Javascript ile bu şekilde yapabilirsiniz

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

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

1

Bu benim için yeterince iyi çalışıyor :)

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



0

360 derece = 2 * pi radyan

Bu, deg2rad (x) = x * pi / 180 ve rad2deg (x) = 180x / pi anlamına gelir;


0

pi Radyan = 180 derece

Yani 1 derece = pi / 180 radyan

veya 1 radyan = 180 / pi derece


0

Çift c # için bu yararlı olabilir:

        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

İşte bazı ile Nesne uzanır koddur rad(deg), deg(rad): ve ayrıca iki daha kullanışlı fonksiyonlar getAngle(point1,point2)ve getDistance(point1,point2)bir noktası olması gerekir xve ymülk.

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.