“Teori Fisika” Mengejar Ayam atau Dikejar Ayam
Ini adalah contoh video orang dikejar ayam dan orang mengejar ayam [1]
Adakah “hukum Fisika” nya?
Kita misalkan petani mengejar ayam. Posisi petani dan ayam dinyatakan dalam vektor \( \overrightarrow{r}_{f} \) dan \( \overrightarrow{r}_{c} \) . Posisi ayam relatif terhadap petani adalah \( \overrightarrow{r}=\overrightarrow{r}_{c}-\overrightarrow{r}_{f} \) . Vektor satuan yang menghubungkan petani ke arah ayam adalah
\( \hat{r}=\frac{\overrightarrow{r}}{r}=\hat{i}\cos \theta +\hat{j}\sin \theta \)dengan \( \theta \) adalah sudut yang dibentuk vektor ini dengan arah horisontal.
Kita asumsikan bahwa petani selalu bergerak menuju ayam mengikuti arah vektor ini. Jika laju petani menuju ayam adalah \( v_{f} \) dan kita asumsikan nilainya adalah konstan maka vektor kecepatan petani memenuhi persamaan
\( \overrightarrow{v}_{f}=v_{f}\hat{r} =v_{f} ( \hat{i}\cos \theta +\hat{j}\sin \theta ) \)Ketika petani mendekati ayam, maka ayam akan bergerak dengan arah sembarang. Arah yang diambil ayam tidak selalu sama dengan arah \( \hat{r} \) . Misalkan ayam bergerak dengan arah yang membentuk sudut \( \varphi \) terhadap vektor \( \hat{r} \) . Vektor satuan arah gerak ayam menjadi
\( \hat{r}^{‘}=\hat{i}\cos \left( \theta + \varphi \right) +\hat{j}\sin \left( \theta + \varphi \right) \)Kecepatan ayam menjadi
\( \overrightarrow{v}_{c}=v_{c}\hat{r}^{‘}=v_{c} \left[ \hat{i}\cos \left( \theta + \varphi \right) +\hat{j}\sin \left( \theta + \varphi \right) \right] \)Laju ayam sangat bergentung pada jarak ayam tersebut terhadap petani. Laju tersebut makin kecil jika jarak ayam terhadap petani makin besar. Ayam yang bergerak menjauhi petani akan mengurangi laju ketika jarak dengan petani sudah sangat jauh. Kadang ayam berhenti berlari jika jarak petani sudah sangat jauh. Untuk menentukan laju ayam, kita asumsikan persamaan berikut
\( v_{c} \left( r \right) =\frac{2v_{c}}{1+\exp \left( \gamma r \right) } \)di mana \( \gamma \) adalah kontanta. Tampak dari persamaan ini bahwa jika jarak ayam dengan petani hampir nol maka \( v_{c} \left( 0 \right) =v_{c} \) . Sebaliknya, jika jarak ayam dari petani sangat jauh maka \( v_{c} \left( \infty \right) =0 \).
Kita bermaksud mencari evolusi jarak petani ke ayam dengan menyelesaikan persamaan-persaman di atas. Solusi secara analitik sangat sulit dilakukan. Maka kita akan melakukan pencarian solusi secara numerik. Pada selang waktu \( \Delta t \) beriktunya, posisi petani maupun ayam berubah menjadi
\( \overrightarrow{r}_{f} \left( t+ \Delta t \right) =\overrightarrow{r}_{f} \left( t \right) +\overrightarrow{v}_{f} \Delta t \)\( \overrightarrow{r}_{c} \left( t+ \Delta t \right) =\overrightarrow{r}_{c} \left( t \right) +\overrightarrow{v}_{c} \Delta t \)Jika kita nyatakan dalam komponen-komponen koordinat x dan y maka kita peroleh
\( x’_{f}=x_{f}+\hat{i}.\overrightarrow{v}_{f} \Delta t=x_{f}+v_{f} \Delta t\cos \theta \)\( y’_{f}=y_{f}+\hat{j}.\overrightarrow{v}_{f} \Delta t=y_{f}+v_{f} \Delta t\sin \theta \)\( x’_{c}=x_{c}+\hat{i}.\overrightarrow{v}_{c} \Delta t=x_{f}+v_{c} \Delta t\cos \left( \theta + \varphi \right) \)\( y’_{c}=y_{c}+\hat{j}.\overrightarrow{v}_{c} \Delta t=y_{c}+v_{c} \Delta t\sin \left( \theta + \varphi \right) \)Vektor yang menguhungkan petani dan ayam setelah selang waktu \( \Delta t \) menjadi
\( \overrightarrow{r}^{‘}=\overrightarrow{r}’_{c}-\overrightarrow{r}’_{f}=\hat{i} \left( x^{‘}_{c}-x^{‘}_{f} \right) +\hat{j} \left( y^{‘}_{c}-y^{‘}_{f} \right) \)Vektor tersebut membentuk sudut baru \( \theta ‘ \) terhadap sumbu horisontal yang memenuhi
\( \tan \theta ‘=\frac{y^{‘}_{c}-y^{‘}_{f}}{x^{‘}_{c}-x^{‘}_{f}} \)Untuk mencari lintasan ayam dan petani bada berbagai waktu, kita lekaukukan perhitungan numerik. Untuk tujuan ini kita membuat program iteratif berikut ini. Dari keadaan pada step ke-i \( ( r_{i}, \theta _{i}, \varphi _{i} ) \) kita hitung besaran terkait pada step ke-i+1 (setelah selang waktu \( \Delta t \) ) menggunakan persamaan
\( x_{f,i+1}=x_{f,i}+v_{f} \Delta t\cos \theta _{i} \)\( y_{f,i+1}=y_{f,i}+v_{f} \Delta t\sin \theta _{i} \)\( x_{c,i+1}=x_{c,i}+v_{c} \Delta t\cos \left( \theta _{i}+ \varphi _{i} \right) \)\( =x_{c,i}+v_{c} \Delta t \left( \cos \theta _{i}\cos \varphi _{i}-\sin \theta _{i}\sin \varphi _{i} \right) \)\( y_{c,i+1}=y_{c,i}+v_{c} \Delta t\sin \left( \theta _{i}+ \varphi _{i} \right) \)\( =y_{c,i}+v_{c} \Delta t \left( \sin \theta _{i}\cos \varphi _{i}+\cos \theta _{i}\sin \varphi _{i} \right) \)Di mana \( \varphi _{i} \) selalu dipilih secara random.
Kita lakukan pendekatan yang mudah dengan asmumsi ayam mengambil arah relatif terhadap vektor penghubung dengan petati dalam arah random menurut fungsi distribusi berikut ini
\( f \left( \varphi \right) =Ae^{- \beta \vert \varphi \vert } \)Dengan \( – \pi \leq \varphi \leq \pi \) . Karena fungsi probabilitas harus ternomalisasi maka
\( \int _{- \pi }^{ \pi }f \left( \varphi \right) d \varphi =2A \int _{0}^{ \pi }e^{- \beta \varphi }d \varphi =1 \)Jika diselesaikan maka kita peroleh
\( A=\frac{ \beta }{2 \left( 1-e^{- \beta \pi } \right) } \)
Dan
\( f \left( \varphi \right) =\frac{ \beta e^{- \beta \vert \varphi \vert }}{2 \left( 1-e^{- \beta \pi } \right) } \)Kita gunakan metode Monte Carlo sederhan untuk meprediksi sudut yang dipilih oleh ayam. Kita membangkitkan bilangan random \( R_{1} \) yang memiliki nilai antara 0 sampai 1 kemudian menentukan sudut yang dipilih ayam, \( \varphi _{0} \) dengan syarat:
Jika \( 0 \leq R_{1}<0,5 \) maka
\( R_{1}= \int _{- \pi }^{ \varphi _{0}}f \left( \varphi \right) d \varphi \)\( =\frac{ \beta }{2 \left( 1-e^{- \beta \pi } \right) } \int _{- \pi }^{ \varphi _{0}}e^{- \beta \vert \varphi \vert }d \varphi \)Karena \( 0 \leq R_{1}<0,5 \) maka nilai \( \varphi \) dalam integral selalu negatif sehingga kita dapat menulis
\( R_{1}=\frac{ \beta }{2 \left( 1-e^{- \beta \pi } \right) } \int _{- \pi }^{ \varphi _{0}}e^{ \beta \varphi }d \varphi \)\( =\frac{e^{ \beta \varphi _{0}}-e^{- \beta \pi }}{2 \left( 1-e^{- \beta \pi } \right) } \)Dengan demikian, kita dapatkan
\( \varphi _{0}=\frac{1}{ \beta }\ln \left[ 2R_{1} \left( 1-e^{- \beta \pi } \right) +e^{- \beta \pi } \right] \)Sebaliknya, jika \( 0,5 \leq R_{1} \leq 1 \) maka
\( R_{1}= \int _{- \pi }^{ \varphi _{0}}f \left( \varphi \right) d \varphi \)\( =\frac{ \beta }{2 \left( 1-e^{- \beta \pi } \right) } \int _{- \pi }^{ \varphi _{0}}e^{- \beta \vert \varphi \vert }d \varphi \)\( =\frac{ \beta }{2 \left( 1-e^{- \beta \pi } \right) } \int _{- \pi }^{0}e^{- \beta \vert \varphi \vert }d \varphi +\frac{ \beta }{2 \left( 1-e^{- \beta \pi } \right) } \int _{0}^{ \varphi _{0}}e^{- \beta \vert \varphi \vert }d \varphi \)\( =\frac{1}{2}+\frac{ \beta }{2 \left( 1-e^{- \beta \pi } \right) } \int _{0}^{ \varphi _{0}}e^{- \beta \varphi }d \varphi \)\( =\frac{1}{2}+\frac{ \left( 1-e^{- \beta \varphi _{0}} \right) }{2 \left( 1-e^{- \beta \pi } \right) } \)
Dengan demikian
\( \varphi _{0}=-\frac{1}{ \beta }\ln \left[ 1-2 \left( R_{1}-1/2 \right) \left( 1-e^{- \beta \pi } \right) \right] \)Ini contoh video animasi dengan menggunakan program berikut ini.
*****
Berikut adalah program visual basic yang dapat langsung dicopy di macro
Sub Kejarayam()
Dim sp As Shape
‘
For Each sp In ActiveSheet.Shapes
sp.Delete
Next sp
‘
kali = 100
d1 = 20
d2 = 10
x0 = 100
y0 = 200
‘
‘ Parameter input
‘
pi1 = 3.141592654 / 4
beta1 = pi1 / 5
gamma1 = 0.05
vf = 1#
eta1 = 0.9
vc0 = eta1 * vf
‘
‘ Posisi awal
‘
xc1 = 2
yc1 = 0
xf1 = 0
yf1 = 0
‘
pjg = ((xc1 – xf1) ^ 2 + (yc1 – yf1) ^ 2) ^ 0.5
vc = 2 * vc0 / (1 + Exp(gamma1 * pjg))
ctet1 = (xc1 – xf1) / pjg
stet1 = (yc1 – yf1) / pjg
‘
dt = 0.05
i = 1
Do
i = i + 1
r1 = Rnd()
If r1 < 0.5 Then
phi0 = (1 / beta1) * Log(2 * r1 * (1 – Exp(-beta1 * pi1)) + Exp(-beta1 * pi1))
Else
phi0 = (-1 / beta1) * Log(1 – 2 * (r1 – 0.5) * (1 – Exp(-beta1 * pi1)))
End If
‘
xc2 = xc1 + vc * dt * (ctet1 * Cos(phi0) – stet1 * Sin(phi0))
yc2 = yc1 + vc * dt * (atet1 * Cos(phi0) + ctet1 * Sin(phi0))
‘
xf2 = xf1 + vf * dt * ctet1
yf2 = yf1 + vf * dt * stet1
‘
pjg = ((xc2 – xf2) ^ 2 + (yc2 – yf2) ^ 2) ^ 0.5
vc = 2 * vc0 / (1 + Exp(gamma1 * pjg))
‘
xc1 = xc2
yc1 = yc2
xf1 = xf2
yf1 = yf2
‘
ctet1 = (xc1 – xf1) / pjg
stet1 = (yc1 – yf1) / pjg
‘
If i > 2 Then
Sheet1.Shapes(“tani”).Delete
Sheet1.Shapes(“ayam”).Delete
End If
‘
Set sp = Sheet1.Shapes.AddShape(msoShapeOval, x0 + kali * xf1, y0 + kali * yf1, d1, d1)
sp.Name = “tani”
Set sp = Sheet1.Shapes.AddShape(msoShapeOval, x0 + kali * xc1, y0 + kali * yc1, d2, d2)
sp.Name = “ayam”
DoEvents
tunggu (0.1)
Loop Until pjg < (d1 / 2 + d2 / 2) / kali
End Sub
Sub tunggu(durasi As Double)
awal = Timer
Do
DoEvents
Loop Until (Timer – awal) >= durasi
End Sub
**********
Sumber video [1] dan gambar fitur: ‘https://www.youtube.com/watch?v=LMFdH0wdjeI&t=186s
47 thoughts on ““Teori Fisika” Mengejar Ayam atau Dikejar Ayam”