Solusi Soal OSK Astronomi 2015

Kemarin makan malam, eh di akhir malah ngebahas soal (toweng), karena banyak anak2 haus ilmu yang bertanya di WA dll :v,  jadi akhirnya kami buat solusi OSK Astronomi 2015… LOL.

Jika ingin sekaligus menjajal kemampuan lagi, bisa coba versi online berikut (numpang di salah satu lembaga bimbel olim, hehe)

Kalau mau langsung download, silahkan: link download
Terdapat update yang dilakukan, terakhir tanggal 14 Februari pukul 00:30,
jika ada yang pernah mendownload sebelumnya sebaiknya download kembali versi terbaru.

Kalau dirasa masih ada yang salah bisa dimasukkan sebagai komentar disini! :D

Plot zero-velocity curves (circular restricted 3-body problem) using Python

Saya tulis program dalam python untuk menghitung lokasi titik Lagrange dalam masalah tiga-benda terbatas (CRTBP) serta mengeplotnya bersama kontur integral Jacobi yang melewati L1, L2, dan L3.
(Sebenarnya untuk keperluan penulisan sebuah buku.. tunggu kehadiran bukunya.. :D)

#!/usr/bin/python -tt
import math
import matplotlib
import numpy as np
import matplotlib.cm as cm
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

"""
    (c) Copyleft 2015 | Ridlo W. Wibowoo
    Zero Velocity Curve for circular restricted three-body problem
    Normalization: m1 + m2 = 1, r = 1, mu = m2/(m1+m2)
"""

# for a given value of mu, 
# this function computes location of lagrange points
def locationLagrange(mu):
    l = 1-mu
    
    # for L1, L2, L3: solving quintic polynomial function of lagrange point positions.
    # Lagrange 1
    coefL1 = [1, 2*(mu-l), l**2 - 4*l*mu + mu**2, 2*mu*l*(l-mu) + mu - l, mu**2 * l**2 + 2*(l**2 + mu**2), mu**3 - l**3]
    L1roots = np.roots(coefL1) 
    L1 = 0
    for i in L1roots:
        if (i > -mu) and (i < l):
            L1 = i
    LP1 = [L1, 0]
    
    # Lagrange 2
    coefL2 = [1, 2*(mu-l), l**2 - 4*l*mu+mu**2, 2*mu*l*(l-mu) - (mu+l), mu**2 * l**2 + 2*(l**2 - mu**2), -(mu**3 + l**3)]
    L2roots = np.roots(coefL2)
    L2 = 0
    for i in L2roots:
        if (i > -mu) and (i > l):
            L2 = i
    LP2 = [L2, 0]
    
    # Lagrange 3
    coefL3 = [1, 2*(mu-l), l**2 - 4*mu*l+mu**2, 2*mu*l*(l-mu) + (l+mu), mu**2 * l**2 + 2*(mu**2 - l**2), l**3 + mu**3]
    L3roots = np.roots(coefL3)
    L3 = 0
    for i in L3roots:
        if (i < -mu):
            L3 = i
    LP3 = [L3, 0]

    # Lagrange 4
    LP4 = [0.5 - mu, math.sqrt(3)/2]
    
    # Lagrange 5
    LP5 = [0.5 - mu, -math.sqrt(3)/2]
    
    return LP1, LP2, LP3, LP4, LP5


# for a given value of x,y, and mu 
# this function computes jacobi constant Cj
def cr3bpJacobi(x, y, mu):
    r1 = np.sqrt((x+mu)**2 + y*y)
    r2 = np.sqrt((x-1+mu)**2 + y*y)
    return x**2 + y**2 + 2*((1-mu)/r1 + mu/r2) # n = 1


# plot ZVC of lagrange points
def plotLagrangeCj(mu):
    LP = locationLagrange(mu)
    Lx = [LP[0][0].real, LP[1][0].real , LP[2][0].real, LP[3][0], LP[4][0]]
    Ly = [i[1] for i in LP]

    CjL1 = cr3bpJacobi(Lx[0], Ly[0], mu)
    CjL2 = cr3bpJacobi(Lx[1], Ly[1], mu)
    CjL3 = cr3bpJacobi(Lx[2], Ly[2], mu)
    CjL = [CjL1, CjL2, CjL3]

    # plot ZVC that run through L1, L2, L3
    delta = 0.025
    x = np.arange(-2.0, 2.0, delta)
    y = np.arange(-2.0, 2.0, delta)
    X, Y = np.meshgrid(x, y)
    Z = cr3bpJacobi(X, Y, mu)
    
    # plt.figure()
    CS = plt.contour(X, Y, Z, CjL, cmap=cm.coolwarm) # contour for CjL
    
    # massive object
    CS = plt.scatter([-mu], [0], marker='o', s=40, color='r', alpha=0.7)
    plt.text(-mu-0.1, -0.15, r'$m_1$')

    CS = plt.scatter([1-mu], [0], marker='o', s=20, color='r', alpha=0.7)
    plt.text(1-mu-0.1, -0.15, r'$m_2$')

    CS = plt.scatter(Lx, Ly, marker='.', color='b', alpha=0.8) # for labels
    # labels = [r'L$_1$', r'L$_2$', r'L$_3$', r'L$_4$', r'L$_5$']
    # for i in range(5):
    #     CS = plt.text(Lx[i]-0.2, Ly[i]-0.05, labels[i])
    CS = plt.text(Lx[0]-0.05, Ly[0]-0.15, r'L$_1$')
    CS = plt.text(Lx[1]+0.05, Ly[1]-0.05, r'L$_2$')
    CS = plt.text(Lx[2]-0.2, Ly[2]-0.05, r'L$_3$')
    CS = plt.text(Lx[3]-0.05, Ly[3]+0.05, r'L$_4$')
    CS = plt.text(Lx[4]-0.05, Ly[4]-0.15, r'L$_5$')

    plt.axis('equal')
    plt.axis('off')
    
    # plt.title('ZVC for Lagrange points')
    plt.show()
    # plt.savefig('ZVCLagrange.png')


if __name__ == "__main__":
    plotLagrangeCj(0.2)

Hasil:
ZVCLagrange

Gerakan langit dan kesalahan 0.4% dari seorang peraih Nobel

brian p schmidt Credit: Pak Acep Purqon

Iseng posting ini, setelah mengikuti kuliah umum dari peraih Nobel (Brian P. Schmidt) dengan kalimat yang tertulis di ”prasasti”:

Bandung – one of the only places in the world that can see the entire Universe

juga karena ingin membagi tentang gerakan benda-benda langit (bintang, etc) akibat rotasi. Banyak orang yang masih tidak sadar kalau bintang yang terbit di tenggara terbenamnya adalah di Barat Daya. :D

Bagaimana sih gerakan benda langit menurut pengamat di Bumi itu? Gerakan benda langit di sini diakibatkan rotasi Bumi (dari Barat ke Timur) yang menyebabkan benda-benda langit tiap harinya “seolah-olah bergerak dari Timur ke Barat”. Apakah sesederhana itu menjelaskan gerak semu harian benda langit ini? Lebih detailnya ingin dijelaskan di sini.

Kutub Utara

Pertama mari kita bayangkan kita sedang berdiri di Kutub utara! Bagaimanakah gerak bintang-bintang dilangit menurut kita yang berdiri tepat di Kutub Utara (jangan gerak2 sama sekali ya…)?. Yak benar, karena kita berdiri di poros putar, maka langit akan berputar mengelilingi kita.. Woooowww… (kalau masih susah bayangkan kita berdiri diatas bola besar, lalu bolanya diputar horizontal.. hahaha). Lihatlah video di bawah ini. Begitulah, bintang tidak ada yang terbit dan terbenam! Efek lainnya adalah hanya setengah dari keseluruhan langit yang bisa kita lihat! hoho..

——————-

Ekuator/Khatulistiwa
Sekarang mari kita pindah tempat.. bayangkan kita sedang berdiri di ekuator/khatulistiwa.. misal di Pontianak.. hohoho.. panasss.. Bisa ditebak bagaimana bintang-bintang bergerak dilangit tiap malamnya? harusnya bisa kebayang, bahwa bintang yang terbit di Tenggara terbenamnya di Barat Daya! Semua benda langit bergerak secara simetri terhadap garis yang menghubungkan Utara-Selatan! Kalau kita sedang naik motor, tentu pohon yang di depan kiri akan seolah-olah bergerak ke belakang namun tetap di sebelah kiri kan ya? gak pindah ke kanan.. wkwk, bintang juga demikian, karena Bumi berotasi dengan sumbu rotasi adalah Utara-Selatan, maka gerak semu bintang akan seperti video dibawah. Kalau bintang di Tenggara gerak ke Barat Laut dan bintang di Timut Laut gerak ke Barat Daya ntar tumbukan semua di atas kepala kita.. wkwk. Efek lain adalah, kalau kita berdiri di ekuator, harusnya semua objek langit bisa kita amati! Tidak ada yang ketutup oleh Bumi yang kita injak ini.. hohoho..

——————–

Lintang 45°U
Sekarang kalau pindah ke lintang tertentu gimana ya? hohoho.. ini yang agak susah dibayangkan. Karena gravitasi, acuan bawah kita selalu pusat Bumi. Jadi kalau kita berdiri di lintang 45°U, artinya kita miring 45° terhadap orang yang berdiri di ekuator. Efeknya terhadap gerak semu benda langit ternyata menarik lho.. jadinya seperti di video ini.. :D (semoga kebayang.. hahaha). Dapat dilihat ada bintang-bintang yang tidak akan pernah terbit, ada juga bintang-bintang yang tidak pernah terbenam (istilahnya: bintang circumpolar). -> Ada bagian langit yang tidak mungkin bisa kita amati :D

source: Astronomy Principle and Practice

source: Astronomy Principle and Practice

======= *** =======

Lintang 7°S
Selanjutnya yang mau dibahas adalah kalau di Bandung bagaimana? Yow.. tentu saja sama seperti kasus di lintang 45 di atas, akan ada bagian langit yang tidak akan teramati (bintang-bintang disana tidak akan pernah terbit sepanjang hari). Posisi Bandung yang berada pada lintang 6°54′53.08″S menyebabkan gerakan tersebut (lihat video di bawah). Karena dekat ekuator maka bagian tersebut sangat kecil. Oleh karena itu Om Brian mengatakan hal di atas.

—————-

Woho.. sekarang kita tahu kenapa si Om Brian menulis seperti di atas, bahwa Bandung yang “dekat” dengan Ekuator memungkinkan untuk melihat “hampir” semua benda langit. Sekarang, saya ingin mencoba memeriksa seberapa dekatkah “pendekatan” itu? :D Mudah saja, kalau sudah tahu koordinat bola.. :D, kalau tidak ya coba pakai pendekatan luas lingkaran saja. Berapa persen ya luas langit yang tidak akan tampak (lingkaran merah gambar di bawah)? :D

langit_tidak_tampak

\int_{0}^{2 \pi} \int_{0}^{7^{\circ}} \sin(\theta) d \theta d \phi / \int_{0}^{2 \pi} \int_{0}^{\pi} \sin(\theta) d \theta d \phi = 0.0149 \pi / 4 \pi = 0.0037269 = 0.37269\%

Wow, ternyata kecil sekali, hanya 0.4% luas langit yang tidak akan tampak dari Bandung lho.. wkwk, pantes saja si Om Brian bilang gt.. hehe :D

Eh kalau dipengamatan kita mengenal beberapa koreksi lho.. yang terpenting dan terkait dengan kasus ini adalah koreksi ketinggian dan refraksi atmosfer. Langit bagian utara “turun” sebesar 7° sesuai lintang Bandung. Untuk refraksi, seperti di jelaskan pada sketsa di bawah, mampu menaikkan tinggi tampak dari objek di langit, namun besar koreksi ketinggian di dekat horizonpun hanya 35′ (jadi kalau kita lihat bintang yang terbenam, sebenarnya dia sudah terbenam 35 menit busur di bawah horizon, hahaha..) sehingga dapat diabaikan.

refraksi_atmosfer

source: http://cbse-notes.blogspot.com/2012/12/cbse-class-10-physics-ch11-human-eye_14.html

Sedangkan koreksi ketinggian, kalau kita ambil ketinggian Obs Bosscha (1310 m), hanya mampu “menurunkan” horizon tampak sebesar:
\cos(\theta) = 6378000/6379310
\theta \sim 1.2^{\circ}

Untuk mampu “menurunkan” horizon sebesar 7° butuh lokasi dengan ketinggian 48 km.. wahaha, tidak mungkin di Bandung ada gunung setinggi itu.. (di Bumi lebih tepatnya..) angle_of_depth

source: http://astronavigationdemystified.com/mason-dixon-line/

Sekian, dan terima kasih, jadi panjang ternyata postingannya.. -_-

8 Nov 2014, @Bandara Juanda, sembari menunggu pesawat

Catatan – 2 benda bermasalah

Maksud tulisan ini adalah ingin sedikit membahas masalah dua benda (two-body problem) atau lebih tepatnya gravitational two-body problem. Kita tahu bahwa solusi dari gerak 2 benda dalam pengaruh gravitasi adalah gerak Keplerian, dimana dua benda akan saling mengorbit satu sama lain, dan bentuk orbitnya hanya ditentukan oleh energi (E) dan momentum sudut (L).

Mari kita tinjau kasus benda massless yang dipengaruhi oleh satu benda masif. Misalkan benda yang massless memiliki kecepatan awal v yang kurang dari kecepatan lepas, atau dengan kata lain E negatif, maka orbit yang kita peroleh adalah orbit elips atau lingkaran (e < 1). Sebagai contoh, saya punya benda masif di (0,0), lalu benda kedua yang massless saya lempar dari posisi (5, 0) dengan kecepatan awal yang sama, namun arahnya berbeda (momentum sudut — L berbeda), maka orbit yang dihasilkan pasti elips, dengan eksentrisitas berbeda tergantung arah tadi. Energi yang sama ditunjukkan dengan semimajor (a) yang sama dalam gambar berikut.
ellips

—– ** —–

Lalu pertanyaan muncul, bagaimana dengan bentuk orbit parabola dan hiperbola ditinjau dengan cara yang sama? Jujur susah membayangkan bentuknya, sebagai contoh jika kita melempar batu dari permukaan Bumi dengan kecepatan lepas di permukaan Bumi, namun saya lempar ke arah berbeda, bagaimana cara menggambar orbit parabola dari sudut awal lemparan saya tadi, harusnya berbeda namun tetap parabola bukan?

maka dari itu saya lakukan kerjaan ini.., ternyata hasilnya sebagai berikut:
parabola

untuk hiperbola:
hyperbola

Catatan Penting! kita harus berhati-hati dalam memplot posisi, software plot biasa memplot dengan membuat sumbu-x dan y dengan skala berbeda.. namun untuk plot “posisi” sebaiknya selalu gunakan skala yang sama.. karena akan berpengaruh pada interpretasi dan gambaran di kepala kita. Sebagai contoh, parabola di atas kalau di plot dengan tanpa mengatur skala yang sama, hasilnya akan aneh seperti dibawah ini (dalam kasus ini kita akan melihat massa pusat tidak berada di fokus orbit!).
parabola_aneh