Aturan Kosinus: Pythagoras untuk Setiap Segitiga dan Kegunaannya

Diperbarui 19 menit baca Menengah Read in English

Geometri Aljabar Komputasi Python JavaScript

Jawaban singkat

Aturan kosinus mengatakan bahwa pada segitiga dengan sisi a, b dan sudut C di antaranya, sisi di depannya memenuhi c^2=a^2+b^2-2ab\cos C: teorema Pythagoras dengan koreksi yang lenyap pada sudut siku-siku. Ia mencari sisi ketiga dari dua sisi dan sudut apitnya, dan setiap sudut dari tiga sisi, dengan \cos C=(a^2+b^2-c^2)/(2ab). Tanda koreksinya juga mengatakan apakah sudutnya lancip, siku-siku, atau tumpul. Rumus yang sama menjumlahkan dua gaya pada sebuah sudut dan mengubah dua leg perjalanan menjadi jarak.

Poin penting

  • Pada c^2=a^2+b^2-2ab\cos C, C adalah sudut di antara a dan b, yang juga sudut di depan c. Pada C=90^\circ, \cos C=0 dan ia menjadi teorema Pythagoras; untuk sudut lancip koreksinya mengurangi dan c lebih pendek daripada sisi miring bersisi tegak yang sama, untuk sudut tumpul ia menambah.
  • Ia mengikuti dari satu garis tinggi dan Pythagoras: garis tinggi membagi a menjadi b\cos C dan a-b\cos C (yang pertama negatif, dan kakinya jatuh di luar, bila C tumpul), dan c^2=h^2+(a-b\cos C)^2 dengan h=b\sin C.
  • Dua sisi dan sudut apitnya (SAS) memberi sisi ketiga secara langsung. Tiga sisi (SSS) memberi setiap sudut, \cos C=(a^2+b^2-c^2)/(2ab): cari sudut terbesar dulu, yang di depan sisi terpanjang, karena hanya ia yang dapat tumpul.
  • Karena -1\le\cos C\le1, sisi ketiga selalu berada di antara |a-b| dan a+b: aturan itu memuat ketaksamaan segitiga. Dan membandingkan c^2 dengan a^2+b^2 memberi tahu lancip, siku-siku, atau tumpul dari sisi-sisinya saja, yang membuktikan kebalikan teorema Pythagoras.
  • Dua gaya F_1 dan F_2 yang arahnya membentuk sudut θ menjumlah menjadi R dengan R^2=F_1^2+F_2^2+2F_1F_2\cosθ, dengan plus karena sudut segitiganya 180^\circ-θ. Perjalanan dua leg pada arah mata angin adalah segitiga yang sama, dan aturan itu memberi jarak dan arah pulang.
  • Dalam program, bentuk arkus kosinus kehilangan sudut segitiga tipis: sisi 10^8, 10^8, dan 1 memberi \cos C yang dibulatkan menjadi 1 dan sudut 0 alih-alih 5,7×10^-7 derajat. Bentuk setengah sudut \tan\frac C2=√(((s-a)(s-b))/(s(s-c))), dengan s-a dan s-b dihitung sebagai (c±(b-a))/(2), menjaganya.

Apa bunyi aturan kosinus?

Aturan kosinus mengatakan bahwa pada segitiga dengan sisi a dan b yang mengapit sudut C, sisi ketiga c, di depan C, memenuhi c^2=a^2+b^2-2ab\cos C. Bacalah sebagai teorema Pythagoras ditambah koreksi. Bila C sudut siku-siku, \cos C=0, koreksinya lenyap dan c^2=a^2+b^2. Bila C lancip, \cos C>0 dan koreksinya mengurangi: sisi ketiga lebih pendek daripada sisi miring segitiga siku-siku dengan dua sisi tegak yang sama. Bila C tumpul, \cos C<0 dan koreksinya menambah: ia lebih panjang.

Huruf-hurufnya mengikuti kesepakatan yang sama seperti pada aturan sinus: A, B, C adalah sudut dan a, b, c sisi di depannya. Pada rumus di atas C adalah sekaligus sudut di depan c dan sudut di antara a dan b, dan itu sudut yang sama. Dua bentuk lainnya adalah aturan yang sama dengan huruf dipindahkan: a^2=b^2+c^2-2bc\cos A dan b^2=a^2+c^2-2ac\cos B. Menyelesaikan untuk kosinus memberi bentuk untuk mencari sudut: \cos C=(a^2+b^2-c^2)/(2ab).

Pemeriksaan pertama dengan segitiga 13, 14, 15: untuk sudut A di depan 13, \cos A=(14^2+15^2-13^2)/(2·14·15)=(252)/(420)=0,6, sehingga A=53,13^\circ, sudut yang sama seperti pada segitiga 3-4-5. Kapan ia diperlukan? Aturan sinus memerlukan sebuah sisi bersama sudut di depannya; bila tak ada, dengan dua sisi dan sudut apitnya atau dengan tiga sisi, aturan kosinus adalah jalan masuknya (lihat aturan sinus untuk pilihan di antara keduanya, dan artikel tentang segitiga untuk gambaran umumnya).

Mengapa aturan kosinus benar? Bukti dengan satu garis tinggi

Aturan kosinus mengikuti dari teorema Pythagoras yang diterapkan pada segitiga siku-siku yang dipotong oleh sebuah garis tinggi. Letakkan sudut C di titik sudut C dan jatuhkan garis tinggi h dari A ke garis CB. Pada segitiga siku-siku dengan sisi miring b dan sudut C, sisi samping adalah b\cos C dan tingginya h=b\sin C (lihat segitiga siku-siku). Garis tinggi itu membagi sisi a menjadi b\cos C dan a-b\cos C. Segitiga siku-siku yang lain memiliki sisi miring c dan sisi tegak h serta a-b\cos C, sehingga menurut Pythagoras c^2=h^2+(a-b\cos C)^2=b^2\sin^2C+a^2-2ab\cos C+b^2\cos^2C. Kumpulkan b^2\sin^2C+b^2\cos^2C=b^2 (identitas \sin^2C+\cos^2C=1, lihat identitas) dan tersisa c^2=a^2+b^2-2ab\cos C.

Bila C tumpul, kaki garis tinggi jatuh di luar segitiga, pada perpanjangan a, berjarak -b\cos C (bilangan positif, karena \cos C<0) dari C, dan segitiga siku-siku memiliki sisi tegak a+(-b\cos C)=a-b\cos C. Perhitungannya sama persis, jadi satu rumus mencakup kedua kasus.

Bukti kedua, dengan koordinat. Letakkan C di titik asal, B di (a,0) dan A di (b\cos C, b\sin C). Kuadrat jarak A ke B adalah (b\cos C-a)^2+(b\sin C)^2, yang dijabarkan menjadi hal yang sama. Dalam bahasa vektor ia adalah identitas |u-v|^2=|u|^2+|v|^2-2 u· v dengan u· v=|u||v|\cos C, itulah sebabnya perkalian titik didefinisikan dengan kosinus.

Sudut $C$ lancip. Garis tinggi $h$ dari $A$ jatuh pada sisi $a$ dan membaginya menjadi $b\cos C$ dan $a-b\cos C$, dengan $h=b\sin C$. Pythagoras pada segitiga siku-siku di kanan memberi $c^2=h^2+(a-b\cos C)^2$, yang dengan $h=b\sin C$ dijabarkan menjadi $a^2+b^2-2ab\cos C$.
Sudut $C$ tumpul. Kaki garis tinggi kini berada di luar segitiga, pada perpanjangan $a$, berjarak $|b\cos C|=-b\cos C$ dari $C$. Segitiga siku-siku itu memiliki sisi tegak $a+|b\cos C|=a-b\cos C$, sehingga perhitungan yang sama memberi $c^2=h^2+(a-b\cos C)^2=a^2+b^2-2ab\cos C$: rumusnya tak memerlukan kasus tersendiri, karena $\cos C$ negatif.

Bagaimana aturan itu mengubah teorema Pythagoras menjadi aturan untuk setiap sudut?

Bayangkan dua sisi dengan panjang tetap a dan b yang disambung dengan engsel, dengan sudut C di antaranya: sisi ketiga c adalah jarak antara ujung-ujung bebasnya, dan ia bertambah ketika engsel membuka. Pada C dekat 0^\circ kedua sisi hampir bertumpuk dan c≈|a-b|. Pada C=90^\circ keduanya tegak lurus dan c=√(a^2+b^2). Pada C dekat 180^\circ keduanya menunjuk berlawanan arah dan c≈ a+b. Di antaranya, c bertambah terus, karena \cos C menurun dari 1 ke -1.

Inilah ketaksamaan segitiga dalam penyamaran. Karena -1\le\cos C\le1, aturan itu memberi a^2+b^2-2ab\le c^2\le a^2+b^2+2ab, yaitu (a-b)^2\le c^2\le(a+b)^2, sehingga |a-b|\le c\le a+b. Inilah aturan tanda dalam satu baris: c^2<a^2+b^2 tepat ketika \cos C>0 (C lancip), c^2=a^2+b^2 tepat ketika C=90^\circ, dan c^2>a^2+b^2 tepat ketika C tumpul. Jadi teorema Pythagoras dan kebalikannya (segitiga dengan c^2=a^2+b^2 bersudut siku-siku di C) adalah satu kasus \cos C=0 dari satu aturan.

Buka engsel di bawah, ubah kedua sisinya, dan lihat suku koreksi berganti tanda di sudut siku-siku.

Interaktif: engsel, bagaimana sisi ketiga bertambah dengan sudutnya

Buka dua sisi berpanjang a dan b seperti engsel dan lihat c² = a² + b² − 2ab cos C: suku koreksi, sudut siku-siku tempat ia lenyap, dan batas |a − b| dan a + b.

Bagaimana mencari sisi ketiga dari dua sisi, atau semua sudut dari tiga sisi?

Dengan dua sisi dan sudut apitnya (SAS), aturan kosinus memberi sisi ketiga dalam satu langkah; dengan tiga sisi (SSS), ia memberi tiap sudut, dan urutannya penting: mulailah dari sudut terbesar.

SAS. a=7, b=10, dan C=120^\circ. Maka c^2=149-140\cos120^\circ=149+70=219, sehingga c=14,80. Sudutnya tumpul dan koreksi +70 membuat c lebih panjang daripada sisi miring √(149)=12,21. Kedua sudut lain berikutnya, dengan aturan kosinus lagi atau dengan aturan sinus: \sin A=\frac7\sin120^\circ14,80=0,4096, dan karena A bukan sudut terbesar ia lancip, sehingga A=24,18^\circ dan B=180^\circ-120^\circ-24,18^\circ=35,82^\circ.

SSS. Ambil sisi 5, 7, 10. Sisi terpanjang, 10, berada di depan sudut terbesar C, dan hanya ia yang dapat tumpul, jadi cari lebih dulu: \cos C=(25+49-100)/(2·5·7)=(-26)/(70)=-0,3714, dan kosinus yang negatif mengatakan C=111,80^\circ tumpul (arkus kosinus mengembalikan satu sudut dari 0^\circ sampai 180^\circ, sehingga ia tak dapat keliru tentang itu). Lalu \cos A=(49+100-25)/(2·7·10)=(124)/(140)=0,8857, A=27,66^\circ, dan B=180^\circ-111,80^\circ-27,66^\circ=40,54^\circ. Pemeriksaan: sudut-sudutnya berjumlah 180^\circ, dan sudut terbesar menghadap sisi terpanjang.

Mengapa yang terbesar dulu? Begitu sudut terbesar diketahui lancip (atau ditemukan tumpul) sudut lainnya pasti lancip, sehingga bahkan aturan sinus, yang arkus sinusnya hanya mengembalikan sudut lancip, aman untuk mereka. Mulai dari sudut yang lebih kecil dengan aturan sinus dan sudut terbesar yang tumpul memberi jawaban yang salah.

Bagaimana mengetahui dari sisi-sisinya saja apakah segitiga lancip, siku-siku, atau tumpul?

Bandingkan kuadrat sisi terpanjang dengan jumlah kuadrat dua sisi lainnya: lebih kecil berarti semua sudut lancip, sama berarti sudut siku-siku, lebih besar berarti ada sudut tumpul. Ini adalah aturan kosinus yang dibaca untuk tandanya. Bila c sisi terpanjang, sudut C di depannya adalah yang terbesar, dan c^2-(a^2+b^2)=-2ab\cos C bertanda sama dengan -\cos C: negatif untuk C lancip, nol untuk sudut siku-siku, positif untuk yang tumpul. Kedua sudut lain lebih kecil daripada C, sehingga lancip selama C tidak tumpul; bila C tumpul keduanya tetap lancip, karena segitiga memiliki paling banyak satu sudut 90^\circ atau lebih.

Sisic^2a^2+b^2Sudut terbesar
4, 5, 63641lancip: c^2<a^2+b^2
5, 12, 13169169siku-siku: c^2=a^2+b^2
4, 5, 74941tumpul: c^2>a^2+b^2

Baris tengah adalah kebalikan teorema Pythagoras: bila kuadrat sisi-sisinya memenuhi c^2=a^2+b^2, segitiga itu bersudut siku-siku di depan c. Kebalikannya tidak jelas dari pernyataan teorema saja, tetapi dengan aturan kosinus ia hanya satu baris: c^2=a^2+b^2 memaksa -2ab\cos C=0, sehingga \cos C=0 dan C=90^\circ. Uji ini hanya memerlukan kuadrat panjang, sehingga dapat dikerjakan secara eksak (lihat jenis-jenis segitiga).

Bagaimana menjumlahkan dua gaya yang menarik pada sebuah sudut?

Dua gaya yang menarik pada arah yang membentuk sudut θ menjumlah menjadi satu gaya R dengan R^2=F_1^2+F_2^2+2F_1F_2\cosθ, yaitu aturan kosinus dengan sudut jajar genjang yang lain. Gambar F_1 lalu F_2 dari ujungnya: resultan R menutup segitiganya. Sudut segitiga itu di ujung F_1 bukan θ melainkan 180^\circ-θ, karena arah F_2 membentuk θ dengan perpanjangan F_1. Karena \cos(180^\circ-θ)=-\cosθ, minus pada aturan itu menjadi plus.

Contoh. 30 N dan 40 N dengan 60^\circ di antara arahnya: R^2=2500+2400\cos60^\circ=2500+1200=3700, sehingga R=60,83 N. Pada 90^\circ ia √(900+1600)=50 N, teorema Pythagoras. Pada 0^\circ gaya menarik ke arah yang sama dan menjumlah, 70 N; pada 180^\circ saling berlawanan dan mengurang, 10 N. Arah R membentuk sudut \arctan(F_2\sinθ)/(F_1+F_2\cosθ)=34,7^\circ dengan F_1. Aturan yang sama menjumlah dua vektor mana pun, seperti kecepatan (perahu dan arus) atau perpindahan.

Kesalahan yang harus dihindari adalah menulis minus: ia milik sudut di dalam segitiga, plus milik sudut antara kedua arah sebagaimana diberikan soal.

Dua gaya $30$ N dan $40$ N yang arahnya membentuk sudut $60^\circ$ (digambar pada sepersepuluh skala). Jumlahnya $R$ adalah diagonal jajar genjang, dan segitiga $0,F_1,R$ memiliki sudut $180^\circ-60^\circ=120^\circ$ di ujung $F_1$. Jadi $R^2=30^2+40^2-2\cdot30\cdot40\cos120^\circ=3700$ dan $R\approx60{,}83$ N.

Bagaimana mencari jarak dan arah setelah perjalanan dua leg?

Perjalanan dua leg lurus adalah dua sisi sebuah segitiga, jarak kembali ke awal adalah sisi ketiga, dan aturan kosinus memberikannya dari panjang kedua leg dan belokan di tikungan. Arah mata angin (bearing) adalah sudut yang diukur searah jarum jam dari utara, ditulis tiga angka (060^\circ, 085^\circ), seperti kapal atau pesawat dikemudikan. Bila haluan berubah dari arah b_1 ke b_2, ia berbelok sebesar |b_2-b_1| (lewat jalan yang lebih pendek, tak pernah lebih dari 180^\circ), dan sudut segitiga di tikungan adalah 180^\circ dikurangi belokan itu.

Contoh. 120 km pada 060^\circ, lalu 90 km pada 120^\circ. Belokannya 60^\circ, jadi sudut di tikungan 120^\circ dan jarak kembali s=√(120^2+90^2-2·120·90\cos120^\circ)=√(33300)=182,48 km. Untuk arahnya, cari sudut di awal antara leg pertama dan garis lurus, lagi dengan aturan kosinus pada ketiga sisi: sudut di awal ada di depan leg kedua sepanjang 90 km, sehingga \cosα=\frac120^2+182,48^2-90^22·120·182,48=0,9042 dan α=25,3^\circ. Haluan berbelok ke kanan di tikungan, jadi ujungnya berada di kanan arah pertama: arah akhir 060^\circ+25,3^\circ=085,3^\circ. Arah pulang 085,3^\circ+180^\circ=265,3^\circ.

Atur perjalananmu sendiri di bawah; widget mencari sudut di awal dengan aturan kosinus dan memilih sisinya dari arah belokan.

Sebuah kapal berlayar $120$ km pada arah $060^\circ$ (diukur searah jarum jam dari utara) lalu $90$ km pada arah $120^\circ$. Haluan berbelok $60^\circ$ di tikungan, sehingga sudut segitiga di sana $180^\circ-60^\circ=120^\circ$ dan aturan kosinus memberi jarak ke awal: $\sqrt{120^2+90^2-2\cdot120\cdot90\cos120^\circ}=\sqrt{33300}\approx182{,}5$ km, pada arah $085{,}3^\circ$.

Interaktif: kapal pada dua arah, seberapa jauh dan ke arah mana

Berlayarlah sejauh tertentu pada satu arah lalu arah lain dan dapatkan jarak garis lurus, arah akhir, dan arah pulang, dengan aturan kosinus pada segitiga perjalanan itu.

Bagaimana aturan kosinus terhubung dengan rumus Heron dan panjang garis berat?

Dua rumus klasik keluar dari aturan kosinus lewat aljabar: luas dari tiga sisi (Heron) dan panjang garis berat (Apollonius).

Rumus Heron. Luasnya K=\frac12ab\sin C, sehingga 16K^2=4a^2b^2\sin^2C=4a^2b^2(1-\cos^2C). Masukkan 2ab\cos C=a^2+b^2-c^2 dari aturan itu: 16K^2=4a^2b^2-(a^2+b^2-c^2)^2=\left[2ab-(a^2+b^2-c^2)\right]\left[2ab+(a^2+b^2-c^2)\right]. Kurung pertama adalah c^2-(a-b)^2=(c-a+b)(c+a-b) dan yang kedua (a+b)^2-c^2=(a+b-c)(a+b+c), sehingga 16K^2=(a+b+c)(-a+b+c)(a-b+c)(a+b-c), yang dengan s=(a+b+c)/(2) adalah K=√(s(s-a)(s-b)(s-c)). Untuk 13, 14, 15 ini √(21·8·7·6)=84 (lihat luas segitiga).

Garis berat. Misalkan m_c garis berat dari C ke titik tengah M sisi c. Terapkan aturan kosinus pada dua segitiga ACM dan BCM, yang sudutnya di M berjumlah 180^\circ, sehingga kosinusnya berlawanan: a^2=m_c^2+(c^2)/(4)-m_cc\cos\mu dan b^2=m_c^2+(c^2)/(4)+m_cc\cos\mu. Jumlahkan kedua persamaan itu dan kosinusnya saling meniadakan: a^2+b^2=2m_c^2+(c^2)/(2) ⇒ m_c=\frac12√(2a^2+2b^2-c^2). Untuk a=13, b=15, c=14: m_c=\frac12√(338+450-196)=\frac12√(592)=12,17. Pada segitiga siku-siku dengan a=6, b=8, c=10 ia memberi \frac12√(72+128-100)=5, setengah sisi miring, fakta tentang pusat lingkaran luar segitiga siku-siku (lihat garis berat dan titik-titik penting).

Mengapa aturan kosinus kehilangan sudut segitiga tipis, dan apa yang dilakukan?

Untuk segitiga yang sangat tipis, bentuk arkus kosinus \arccos(a^2+b^2-c^2)/(2ab) membuang sudutnya, karena kosinus sudut yang sangat kecil adalah bilangan yang dibulatkan menjadi 1; bentuk setengah sudut menjaganya. Ambil sisi 10^8, 10^8, dan 1. Sudut sebenarnya di depan sisi 1 adalah 2\arcsin(1)/(2·10^8)=5,73×10^-7 derajat. Tetapi a^2+b^2=2×10^16 dan mengurangkan c^2=1 tidak mengubah apa pun yang dapat ditunjukkan bilangan presisi ganda (jarak antar-bilangan ganda di dekat 2×10^16 adalah 4), sehingga rasionya tepat 1 dan arkus kosinusnya tepat 0: sudutnya lenyap. Sebelum titik itu, sudutnya benar tetapi membawa makin sedikit digit: kosinus sudut dekat 0 itu landai, sehingga galat 10^-16 padanya adalah galat 10^-8 radian pada sudutnya.

Dua jalan keluar. Untuk segitiga tipis dengan sudut kecil C, cari sudut itu dengan aturan sinus, yang tidak mengkuadratkan apa pun. Atau pakai bentuk setengah sudut, dalam setengah keliling s=(a+b+c)/(2): \tan\frac C2=√(((s-a)(s-b))/(s(s-c))). Ia memerlukan kehati-hatian di satu tempat: s-a=(b+c-a)/(2) adalah selisih kecil bilangan besar bila c sangat kecil, jadi tulis s-a=(c+(b-a))/(2) dan s-b=(c-(b-a))/(2), tempat pengurangan b-a dua sisi panjang yang berdekatan itu eksak. Widget di bawah memperlihatkan kedua bentuk untuk tiga sisi mana pun; coba "sangat tipis".

Interaktif: ketiga sudut dari tiga sisi, dan segitiga tipis

Ketik tiga panjang sisi dan dapatkan sudutnya dengan dua cara, lewat arkus kosinus dan bentuk setengah sudut, beserta jenis tiap sudut; segitiga dengan dua sisi sangat panjang memperlihatkan di mana arkus kosinus biasa gagal.

Bagaimana memakai aturan kosinus dalam program?

Program memakai aturan kosinus dalam tiga fungsi: sisi ketiga dari dua sisi dan sudut apit, sudut dari tiga sisi, dan resultan dua vektor; satu-satunya tempat yang memerlukan kehati-hatian adalah sudut dari tiga sisi. Ubah derajat ke radian sebelum cos, periksa ketaksamaan segitiga sebelum mengambil arkus kosinus, dan batasi rasionya ke [-1,1] agar pembulatan tidak membuat acos gagal. Untuk segitiga tipis, jangan percaya arkus kosinus biasa, seperti yang ditunjukkan bagian di atas.

Program di bawah mencari sisi ketiga untuk a=7, b=10, C=120^\circ (memberi 14,7986), ketiga sudut segitiga 5, 7, 10 (terbesar dulu: 111,80^\circ, 27,66^\circ, 40,54^\circ), resultan 30 N dan 40 N pada 60^\circ (60,83 N), dan segitiga tipis 10^8, 10^8, 1 yang sudutnya, dalam sepersejuta derajat, adalah 0 menurut arkus kosinus dan 0,573 menurut bentuk setengah sudut.

Python: sisi ketiga, sudut, resultan, dan segitiga tipis
import math


def third_side(a, b, C):
    """The side opposite C (degrees) between the sides a and b: c^2 = a^2 + b^2 - 2ab cos C."""
    return math.sqrt(a * a + b * b - 2 * a * b * math.cos(math.radians(C)))


def angle_naive(a, b, c):
    """The angle opposite c by the arccosine, the ratio clamped into [-1, 1]."""
    x = (a * a + b * b - c * c) / (2 * a * b)
    return math.degrees(math.acos(max(-1.0, min(1.0, x))))


def angle_stable(a, b, c):
    """The same angle by the half-angle form; s - a and s - b are written (c +- (b - a)) / 2 so a tiny c is not lost."""
    u = (c + (b - a)) / 2
    v = (c - (b - a)) / 2
    s = (a + b + c) / 2
    return math.degrees(2 * math.atan(math.sqrt(u * v / (s * (s - c)))))


def resultant(F1, F2, theta):
    """The size of the sum of two forces whose directions make the angle theta (degrees)."""
    return math.sqrt(F1 * F1 + F2 * F2 + 2 * F1 * F2 * math.cos(math.radians(theta)))


print(round(third_side(7, 10, 120), 4))                       # 14.7986
a, b, c = 5, 7, 10                                             # the largest angle first: the one opposite the longest side
C = angle_naive(a, b, c)
A = angle_naive(b, c, a)
print(round(C, 2), round(A, 2), round(180 - C - A, 2))         # 111.8 27.66 40.54
print(round(resultant(30, 40, 60), 2))                         # 60.83
print(round(angle_naive(1e8, 1e8, 1) * 1e6, 4), round(angle_stable(1e8, 1e8, 1) * 1e6, 4))   # 0.0 0.573
JavaScript: keempat fungsi yang sama
const rad = (d) => (d * Math.PI) / 180
const deg = (r) => (r * 180) / Math.PI

// the side opposite C (degrees) between the sides a and b: c^2 = a^2 + b^2 - 2ab cos C
const thirdSide = (a, b, C) => Math.sqrt(a * a + b * b - 2 * a * b * Math.cos(rad(C)))

// the angle opposite c by the arccosine, the ratio clamped into [-1, 1]
function angleNaive(a, b, c) {
  const x = (a * a + b * b - c * c) / (2 * a * b)
  return deg(Math.acos(Math.max(-1, Math.min(1, x))))
}

// the same angle by the half-angle form; s - a and s - b are written (c +- (b - a)) / 2 so a tiny c is not lost
function angleStable(a, b, c) {
  const u = (c + (b - a)) / 2
  const v = (c - (b - a)) / 2
  const s = (a + b + c) / 2
  return deg(2 * Math.atan(Math.sqrt((u * v) / (s * (s - c)))))
}

// the size of the sum of two forces whose directions make the angle theta (degrees)
const resultant = (F1, F2, theta) => Math.sqrt(F1 * F1 + F2 * F2 + 2 * F1 * F2 * Math.cos(rad(theta)))

+thirdSide(7, 10, 120).toFixed(4)                              // 14.7986
const [a, b, c] = [5, 7, 10]                                   // the largest angle first: the one opposite the longest side
const C = angleNaive(a, b, c)
const A = angleNaive(b, c, a)
;[+C.toFixed(2), +A.toFixed(2), +(180 - C - A).toFixed(2)]     // [111.8, 27.66, 40.54]
+resultant(30, 40, 60).toFixed(2)                              // 60.83
;[+(angleNaive(1e8, 1e8, 1) * 1e6).toFixed(4), +(angleStable(1e8, 1e8, 1) * 1e6).toFixed(4)]   // [0, 0.573]
C++: yang sama dengan <cmath>
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;

const double PI = 3.14159265358979323846;
double rad(double d) { return d * PI / 180.0; }
double deg(double r) { return r * 180.0 / PI; }

// the side opposite C (degrees) between the sides a and b
double thirdSide(double a, double b, double C) { return sqrt(a * a + b * b - 2 * a * b * cos(rad(C))); }

// the angle opposite c by the arccosine, the ratio clamped into [-1, 1]
double angleNaive(double a, double b, double c) {
  double x = (a * a + b * b - c * c) / (2 * a * b);
  if (x > 1) x = 1;
  if (x < -1) x = -1;
  return deg(acos(x));
}

// the same angle by the half-angle form; s - a and s - b are written (c +- (b - a)) / 2 so a tiny c is not lost
double angleStable(double a, double b, double c) {
  double u = (c + (b - a)) / 2;
  double v = (c - (b - a)) / 2;
  double s = (a + b + c) / 2;
  return deg(2 * atan(sqrt(u * v / (s * (s - c)))));
}

// the size of the sum of two forces whose directions make the angle theta (degrees)
double resultant(double F1, double F2, double theta) { return sqrt(F1 * F1 + F2 * F2 + 2 * F1 * F2 * cos(rad(theta))); }

int main() {
  printf("%.4f\n", thirdSide(7, 10, 120));
  double C = angleNaive(5, 7, 10);                  // the largest angle first: the one opposite the longest side
  double A = angleNaive(7, 10, 5);
  printf("%.2f %.2f %.2f\n", C, A, 180 - C - A);
  printf("%.2f\n", resultant(30, 40, 60));
  printf("%.4f %.4f\n", angleNaive(1e8, 1e8, 1) * 1e6, angleStable(1e8, 1e8, 1) * 1e6);
  return 0;
}

/* output:
14.7986
111.80 27.66 40.54
60.83
0.0000 0.5730
*/

Dari mana aturan kosinus berasal?

Aturan kosinus lebih tua daripada kosinus: Euclid membuktikannya sebagai dua teorema tentang persegi dan persegi panjang, dan ia menjadi rumus hanya ketika kosinus menjadi bilangan.

  • Sekitar 300 SM. Elements Euclid, Buku II, Proposisi 12 dan 13, adalah aturan kosinus dalam bahasa geometri: pada segitiga tumpul kuadrat sisi di depan sudut tumpul lebih besar daripada kuadrat dua sisi lainnya sebesar dua kali sebuah persegi panjang, dan pada segitiga lancip ia lebih kecil sebesar dua kali sebuah persegi panjang. Persegi panjang itu adalah a· b\cos C, dibangun dari sebuah sisi dan proyeksi sisi lainnya.
  • Abad ke-15. Jamshid al-Kashi, yang bekerja di Samarkand, menyatakan aturan itu dalam bentuk yang cocok untuk menghitung sebuah sisi dari dua sisi dan sudut apitnya dengan tabel sinus. Di Prancis ia masih disebut teorema Al-Kashi.
  • 1748. Introductio karya Euler memperlakukan sinus dan kosinus sebagai fungsi bilangan, sehingga persegi panjang itu dapat ditulis ab\cos C dan aturannya sebagai satu rumus yang dipakai sekarang.
  • Abad ke-19 dan ke-20. Dengan vektor, aturan itu menjadi |u-v|^2=|u|^2+|v|^2-2 u· v, dan perkalian titik u· v=|u||v|\cosθ didefinisikan agar ini berlaku, yang membawa aturan itu ke dimensi mana pun.

Apa kesalahan umum pada aturan kosinus?

Kesalahan paling umum pada aturan kosinus adalah sembilan hal berikut, masing-masing dengan pernyataan yang benar.

KesalahanYang benar
❌ c^2=a^2+b^2-2ab\cos A (sudut yang salah)Sudutnya C, di antara a dan b dan di depan c.
❌ c=a+b-2ab\cos C (lupa kuadrat)Ruas kiri adalah c^2; tarik akar kuadrat di akhir.
❌ (a^2+b^2-2ab)\cos CKosinus hanya mengalikan suku 2ab: a^2+b^2-2ab\cos C.
❌ Mengambil \arccos dari rasio tanpa memeriksaPeriksa ketaksamaan segitiga dulu, dan batasi rasio ke [-1,1] dalam program.
❌ Kalkulator mode radian dengan data derajatAtur ke derajat, atau ubah, kalau tidak setiap kosinus salah.
❌ R^2=F_1^2+F_2^2-2F_1F_2\cosθ untuk gaya pada sudut θSudut segitiganya 180^\circ-θ: R^2=F_1^2+F_2^2+2F_1F_2\cosθ.
❌ Mencari sudut kecil dulu dengan arkus kosinus lalu mengurangi untuk mendapat yang terbesarCari sudut terbesar dulu (di depan sisi terpanjang); hanya ia yang dapat tumpul.
❌ Mempercayai \arccos untuk segitiga yang sangat tipisKosinus dibulatkan menjadi 1: pakai bentuk setengah sudut atau aturan sinus.
❌ Arah mata angin diukur dari sumbu timurArah diukur searah jarum jam dari utara, dengan tiga angka (060^\circ).

Latihan: uji pemahamanmu

Soal-soal ini mencampur semua yang dibahas di atas. Jika jawabanmu belum tepat, perhatikan petunjuk yang tersedia, lalu coba kembali.

Benar atau salah?

Tentukan tiap pernyataan Benar atau Salah.

  • Pada C=90^\circ aturan kosinus adalah teorema Pythagoras.
  • Pada c^2=a^2+b^2-2ab\cos C, C adalah sudut di antara a dan b, di depan c.
  • Bila C tumpul, maka c^2 lebih kecil daripada a^2+b^2.
  • Dengan ketiga sisi diketahui, aturan kosinus memberi tiap sudut.
  • Aturan kosinus hanya berlaku untuk segitiga lancip.
  • Sisi ketiga segitiga dengan sisi a dan b dapat lebih panjang daripada a+b.

Sisi ketiga

Dua sisi segitiga adalah 3 dan 5 dan sudut apitnya 120^\circ. Berapa panjang sisi ketiganya?

Kosinus dari tiga sisi

Sebuah segitiga bersisi 13, 14, dan 15. Berapa kosinus sudut di depan sisi 13?

Kosinus lain

Sebuah segitiga bersisi 5, 6, dan 7. Berapa kosinus sudut di depan sisi 7?

Seberapa panjang sisi ketiga?

Dua sisi segitiga adalah 9 dan 4. Berapa banyak panjang bilangan bulat yang dapat dimiliki sisi ketiga?

Dua gaya

Dua gaya 6 N dan 8 N menarik saling tegak lurus. Berapa besar jumlahnya, dalam newton?

Garis berat

Sebuah segitiga bersisi a=6, b=8, dan c=10. Berapa panjang garis berat ke sisi c?

Sudut mana dulu?

Kamu tahu ketiga sisi dan ingin ketiga sudutnya. Apa yang dicari pertama?

  • sudut terbesar, di depan sisi terpanjang
  • sudut terkecil, di depan sisi terpendek
  • jumlah sudut, 180°
  • luasnya

Segitiga jenis apa?

Sebuah segitiga bersisi 6, 7, dan 10. Apa sudut terbesarnya?

  • lancip
  • siku-siku
  • tumpul
  • tidak dapat menjadi segitiga

Bentuk mana yang benar?

Mana dari berikut yang merupakan bentuk aturan kosinus yang benar? Pilih semua yang benar.

  • c^2=a^2+b^2-2ab\cos C
  • a^2=b^2+c^2-2bc\cos A
  • a^2=b^2+c^2-2bc\cos B
  • c^2=a^2+b^2+2ab\cos C
  • \cos C=(a^2+b^2-c^2)/(2ab)

Urutkan penyelesaiannya

Urutkan langkah mencari sudut segitiga dari ketiga sisinya.

Isi sudutnya

Lengkapi aturan kosinus untuk sisi c.

Ringkasan: aturan kosinus sekilas

  • Aturannya: c^2=a^2+b^2-2ab\cos C, dengan C di antara a dan b dan di depan c; dan \cos C=(a^2+b^2-c^2)/(2ab).
  • Pythagoras dengan koreksi: pada 90^\circ ia lenyap; lancip mengurangi, tumpul menambah.
  • Bukti: garis tinggi membagi a menjadi b\cos C dan a-b\cos C (yang pertama negatif untuk C tumpul), dan h=b\sin C.
  • Jangkauan dan jenis: |a-b|\le c\le a+b; membandingkan c^2 dengan a^2+b^2 memberi lancip, siku-siku, atau tumpul, dan membuktikan kebalikan Pythagoras.
  • SAS: sisi ketiga dalam satu langkah. SSS: tiap sudut; yang terbesar dulu.
  • Gaya: R^2=F_1^2+F_2^2+2F_1F_2\cosθ untuk sudut θ di antara arahnya. Perjalanan: sudut di tikungan adalah 180^\circ dikurangi belokan.
  • Heron dan garis berat: 16K^2=4a^2b^2-(a^2+b^2-c^2)^2 memberi rumus Heron; m_c=\frac12√(2a^2+2b^2-c^2).
  • Numerik: arkus kosinus kehilangan sudut segitiga tipis; pakai \tan\frac C2=√(((s-a)(s-b))/(s(s-c))) dengan s-a=(c+(b-a))/(2) dan s-b=(c-(b-a))/(2).

Glosarium: istilah penting

Aturan kosinus
Aturan bahwa pada segitiga kuadrat sebuah sisi sama dengan jumlah kuadrat dua sisi lainnya dikurangi dua kali hasil kalinya kali kosinus sudut di antaranya.
Sudut apit
Sudut di antara dua sisi yang diberikan pada segitiga, yang juga sudut di depan sisi ketiga.
Suku koreksi
Suku minus 2ab cos C yang mengubah teorema Pythagoras menjadi aturan kosinus; ia nol pada sudut siku-siku, negatif untuk sudut lancip, dan positif untuk yang tumpul.
Ketaksamaan segitiga
Aturan bahwa tiap sisi segitiga lebih pendek daripada jumlah dua sisi lainnya dan lebih panjang daripada selisihnya, yang termuat dalam aturan kosinus.
Resultan
Gaya atau vektor tunggal yang sama dengan jumlah dua lainnya; besarnya mengikuti aturan kosinus dengan sudut 180 derajat dikurangi sudut di antara arahnya.
Arah mata angin
Arah yang diberikan sebagai sudut yang diukur searah jarum jam dari utara, ditulis dengan tiga angka, seperti 060 derajat.
Garis berat
Ruas dari sebuah titik sudut segitiga ke titik tengah sisi di depannya; panjangnya setengah akar dari 2a kuadrat ditambah 2b kuadrat dikurangi c kuadrat.
Bentuk setengah sudut
Rumus tan C per 2 sama dengan akar dari s dikurangi a kali s dikurangi b per s kali s dikurangi c, yang mencari sudut dari tiga sisi tanpa kehilangan digit sudut yang sangat kecil.

Pertanyaan yang sering diajukan

Apa rumus aturan kosinus?

Pada segitiga dengan sisi a, b, c dan sudut C di antara a dan b, c kuadrat sama dengan a kuadrat ditambah b kuadrat dikurangi 2 a b kali kosinus C. Untuk sudut siku-siku kosinusnya nol dan ia menjadi teorema Pythagoras.

Bagaimana membuktikan aturan kosinus?

Jatuhkan garis tinggi dari A ke sisi a. Ia membagi a menjadi b cos C dan a dikurangi b cos C, dan tingginya b sin C. Pythagoras pada segitiga siku-siku di sisi lain memberi c kuadrat, dan sin kuadrat ditambah cos kuadrat sama dengan 1 menyelesaikannya.

Kapan memakai aturan kosinus alih-alih aturan sinus?

Ketika tak ada sisi yang disertai sudut di depannya: dua sisi dan sudut apitnya, atau tiga sisi. Dengan sebuah sisi dan sudut di depannya diketahui, aturan sinus lebih cepat. Untuk mencari sudut, aturan kosinus juga lebih aman.

Bagaimana mencari sudut dari tiga sisi?

Pakai cos C sama dengan a kuadrat ditambah b kuadrat dikurangi c kuadrat, per 2 a b, dan ambil arkus kosinus. Cari sudut terbesar dulu, di depan sisi terpanjang, karena hanya ia yang dapat tumpul; kosinus negatif berarti tumpul.

Mengapa aturan kosinus menjadi teorema Pythagoras pada 90 derajat?

Kosinus 90 derajat adalah nol, sehingga suku minus 2 a b cos C lenyap dan c kuadrat sama dengan a kuadrat ditambah b kuadrat. Suku itu adalah koreksi untuk sudut yang bukan siku-siku: negatif bila lancip, positif bila tumpul.

Bagaimana menjumlahkan dua gaya pada sebuah sudut?

Pakai R kuadrat sama dengan F1 kuadrat ditambah F2 kuadrat ditambah 2 F1 F2 cos theta, dengan theta sudut di antara arah kedua gaya. Ia plus karena sudut di dalam segitiga adalah 180 derajat dikurangi theta.

Mengapa aturan kosinus memberi sudut yang salah untuk segitiga yang sangat tipis?

Kosinus sudut yang sangat kecil adalah bilangan yang sangat dekat dengan 1, yang dibulatkan komputer menjadi tepat 1, sehingga arkus kosinus mengembalikan 0. Pakai rumus setengah sudut untuk tan C per 2, atau aturan sinus, yang menjaga digitnya.

Bagaimana mencari jarak setelah dua leg perjalanan dengan arah berbeda?

Sudut segitiga di tikungan adalah 180 derajat dikurangi belokan di antara kedua arah. Lalu jaraknya adalah akar dari d1 kuadrat ditambah d2 kuadrat dikurangi 2 d1 d2 kali kosinus sudut itu.

Referensi

  1. James Stewart, Lothar Redlin, Saleem Watson (2016). Precalculus: Mathematics for Calculus (chapters on the law of sines and the law of cosines). Cengage Learning.
  2. I. M. Gelfand, Mark Saul (2001). Trigonometry (2nd ed.). Birkhäuser.
  3. Eli Maor (1998). Trigonometric Delights. Princeton University Press.
  4. Thomas L. Heath (translator) (1956). The Thirteen Books of Euclid's Elements (Book II, Propositions 12 and 13). Dover.
  5. Carl B. Boyer, Uta C. Merzbach (2011). A History of Mathematics (3rd ed.). Wiley.
  6. Leonhard Euler (1748). Introductio in analysin infinitorum. Marcum-Michaelem Bousquet.
  7. David Goldberg (1991). What Every Computer Scientist Should Know About Floating-Point Arithmetic. ACM Computing Surveys.