Pi dienā, aprēķiniet Pi sevi, izmantojot divas sadursmes bumbas


Tas ir vismaz manā devītajā gadā par Pi dienu – šeit ir mans ieraksts no 2010. gada. Protams, to sauc par Pi dienu, jo datums, 3/14, ir līdzīgs pirmajiem trim cipariem pi (3.1415…). Šajā brīdī es esmu izveidojusi visu jautru lietu bibliotēku par godu Pi dienā.

Šeit ir jauna. Jūs varat aprēķināt pi ciparus, izmantojot elastīgas sadursmes starp diviem dažādu masu objektiem un sienu. Ļaujiet man paskaidrot ar šo diagrammu.

Rhett Allain

Ir divas bumbiņas, A un B. Ball A ir lielāka masa un sākotnēji pārvietojas. Tā saskaras ar B bumbu, tā ka B bumba paātrinās un bumba A palēnina tikai nedaudz (tas ir pilnīgi elastīgs sadursme). Pēc tam B bumba sāk virzīties uz sienu un galu galā atkāpjas no tā atpakaļ pret bumbu A pret citu sadursmi. Tas turpinās, kamēr bumba A virzās prom no sienas, nevis pret to, un vairs nav sadursmju.

Tagad par pi daļu. Ja jūs zināt, ka bumbu A masa ir 100 reižu lielāka par B bumbas masu, būs 31 sadursme. Ja masu attiecība ir no 10 000 līdz 1, būs 314 sadursmes. Jā, tas ir pirmie 3 cipari pi. Ja jums būtu 1 miljona līdz 1 masas attiecība, jūs saņemsiet 3114 sadursmes. (Atcerieties pirmos pirmos ciparus pi ir 3.1415…) Kopumā, ja vēlaties "d" ciparus pi, tad jums ir nepieciešama masa A, kas dalīta ar masu B, lai 100 palielinātu līdz d-1 jaudai.

Tas nav ļoti efektīva metode pi skaitļu aprēķināšanai, bet šķiet, ka tā darbojas. Šeit ir lielisks video no 3Brown1Blue, kas izskaidro šo situāciju. Arī šeit ir vecāks video no Numberphile, kas arī pārvar šo problēmu.

Tas ir crazy awesome. Es pat nesaprotu, kā tas darbojas. Bet tas nav iemesls, kāpēc es esmu šeit. Tā vietā es jums parādīšu, kā modelēt šo parādību ar skaitlisku aprēķinu. Tas būs jautri.

Es domāju, ka pirmā lieta, kas jārisina, ir: Kāda heck ir elastīga sadursme? Ir patiešām divas lietas, kas jāapsver sadursmē. Ir objektu impulss, kur impulss ir masas un ātruma rezultāts. Ja abiem objektiem nav ārēju spēku sadursmes (vai sadursme notiek ļoti īsā laika periodā), kopējais objektu vektora impulss pirms sadursmes ir vienāds ar impulsu pēc sadursmes. Mēs to saucam par impulsa saglabāšanu.

Cits daudzums, kas jāņem vērā sadursmē, ir kinētiskā enerģija. Tāpat kā impulss, tas ir atkarīgs arī no objekta masas un ātruma. Bet ir divas būtiskas atšķirības. Pirmkārt, kinētiskā enerģija ir proporcionāla masas produktam un ātrumam kvadrātā. Otrkārt, impulss ir vektors un tādējādi tam ir virziens, bet kinētiskā enerģija ir skalārs bez virziena.

Lielākajā daļā sadursmju ir saglabājies impulss, bet kinētiskā enerģija nav. Tomēr īpašās sadursmēs, ko sauc par elastīgām sadursmēm, tiek saglabāta gan dinamika, gan kinētiskā enerģija. Šīs ir sadursmes, kas mums jāaprēķina pi.

Lai gan ir iespējams izmantot impulsu un kinētisko enerģiju, lai noskaidrotu, cik reizes divas bumbas saduras, es to nedarīšu. Tā vietā es to darīšu kā skaitlisku modeli. Skaitliskā modelī jūs veicat dažus pamata aprēķinus un pēc tam vienkārši izjauciet problēmu nelielu soļu grupā. Šajā gadījumā mazie soļi būs īsi laika intervāli, kuros es pieņemu, ka stuff ir nemainīgs. Uzticiet man, tas darbojas.

Bet kā jūs modelējat sadursmi? Viens veids ir izlikties, ka bumbiņās ir atsperes (kas nav pilnīgi nepareizi). Ja divu bumbiņu rādiuss pārklājas, būs atsperes spēks, kas tos atdala. Šī atsperu spēka lielums ir proporcionāls abu objektu pārklāšanās apjomam. Tā kā šis pavasara spēks būs vienīgais spēks, kas iedarbojas uz diviem objektiem, impulss tiks saglabāts. Tā kā pavasarī uzglabātajai enerģijai nav enerģijas zudumu, tiks saglabāta arī kinētiskā enerģija. Tā ir pilnīgi elastīga sadursme.

Kas ir sadursme ar sienu? Tādā gadījumā tas ir tāpat kā sadursme starp divām bumbām, bet ar vienu atšķirību. Neļaujiet sienai mainīt savu pozīciju vai impulsu – jūs zināt … jo tā ir siena.

Tagad skaitliskajam aprēķinam. Šeit ir divu bumbu sadursme ar 100 masas attiecību. Ja vēlaties to palaist vēlreiz, vienkārši noklikšķiniet uz pogas Atskaņot. Ja vēlaties redzēt un rediģēt kodu, noklikšķiniet uz zīmuļa.

Tas strādā. Šajā modelī ir 31 sadursme, kas ir divi pirmie pi. Ko darīt, ja vēlaties trīs ciparus? Jūs varat mēģināt mainīt masu, bet tas nedarbojas. Problēma ir tā, ka tad, kad liela masa kļūst ļoti tuvu sienai ar nelielu masu starp tām, lietas nenotiek tā, kā jūs plānojat. Jūs patiešām varat iegūt nelielu masu, kas vienlaikus mijiedarbojas gan ar sienu, gan lielo masu. Lai gan tas ir reāli, tas nedod mums labāko pi.

Tātad, kā jūs to labojat? Man ir pāris iespējas (un jūs varat to izmēģināt kā mājasdarbu). Pirmā metode būtu noteikt šo skaitlisko pavasara modeli. Es domāju, ka, ja mainīsiet laika soli (dt) un atsperu konstantu (k), kad bumbas saduras, jūs varat saņemt labāku atbildi. Lūk, ko jūs darītu. Kad bumbas tuvinās, izveidojiet mazāku laika posmu un lielāku atsperu konstantu. Tas padarītu bumbu bumbu sadursmi precīzāku gadījumos, kad mazāka bumba kļūst sasmalcināta.

Nākamais variants ir vienkārši atteikties no pavasara sadursmes modeļa. Tā vietā, pēc katras sadursmes, analītiski varēja aprēķināt bumbiņu ātrumu. Pārsteidzoši, viena dimensija, pilnīgi elastīga sadursme nav tik vienkārša problēma, kas jārisina. Bet neuztraucieties, es to darīju jūsu labā un aptvēra visas detaļas. Es pat izveidoju python funkciju, kas ņem divus objektus ar sākuma ātrumiem un atgriež ātrumus pēc sadursmes. Jā, es tiešām jums devu galvu par šo pēdējo problēmu. Varbūt es to saglabāšu nākamā gada Pi dienā.


Lielāki WIRED stāsti