home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1997 #3 / amigamamagazinepolishissue03-1 / ma_1995 / 07 / ami003 < prev    next >
Text File  |  1997-04-15  |  12KB  |  261 lines

  1. -------------Uwaga! Fragmenty w >...< -- kursywa--------------
  2.  
  3. GRAWITACJA
  4.  
  5. <lead>Wiëkszoôê z nas koïczy edukacjë z doûywotniâ alergiâ na
  6. przedmioty ôcisîe. Wzory z drzewa wziëte, mëtne dowody, totalne
  7. ôciemnianie i duûo innych krëtactw. To, czyja to wina -- systemu
  8. nauczania czy naszego lëku przed myôleniem -- to temat na innâ
  9. dyskusjë. Faktem jednak jest, ûe po ukoïczeniu liceum nadal
  10. patrzymy na niebo, nie wiedzâc, dlaczego jest niebieskie...
  11. Chciaîbym wiëc nakîoniê do maîej gimnastyki rozumu.
  12.  
  13. <a>Bolesîaw Szczerba
  14.  
  15. <txt>Myôlë, ûe kaûdy sîyszaî co nieco o oddziaîywaniach
  16. elementarnych i umie wymieniê przynajmniej dwa z czterech
  17. znanych: oddziaîywanie grawitacyjne i elektromagnetyczne.
  18. Dociekliwych informujë, ûe sâ jeszcze dwa: oddziaîywanie jâdrowe
  19. silne (odpowiedzialne za jâdrowe oddziaîywanie miëdzy nukleonami)
  20. i sîabe (odpowiadajâce za wszystkie rodzaje rozpadu betajâder, za
  21. wiele rozpadów czâstek elementarnych oraz za wszystkie procesy
  22. oddziaîywania neutrin z materiâ). Dwa ostatnie majâ bardzo krótki
  23. zasiëg (rzëdu rozmiaru jâdra, wiëc femtometry). Dwa pierwsze
  24. (grawitacja i elektromagnetyzm) majâ teoretycznie nieskoïczony
  25. zasiëg. Najsilniejsze jest oddziaîywanie jâdrowe silne,
  26. elektromagnetyczne ma 1/137 jego siîy. Oddziaîywanie sîabe jest
  27. sîabsze o okoîo 10^-14 (dziesiëê do minus czternastej), podczas
  28. gdy grawitacja jest skrajnie sîaba -- 10^41 (dziesiëê do
  29. czterdziestej pierwszej) razy sîabsza od oddziaîywania silnego.
  30. Czy ktoô z Was zdaje sobie sprawë z wielkoôci liczby 10^40? To
  31. jeden i czterdzieôci zer. Napiszë jâ tutaj, o proszë:
  32.  
  33. 10000000000000000000000000000000000000000 
  34.  
  35. Podam tylko, ûe mniej wiëcej na tyle wîaônie szacuje sië liczbë
  36. protonów we wszechôwiecie... Z wielkoôci tej liczby wynika,
  37. dlaczego ûaden fizyk przy zdrowych zmysîach nie uwzglëdnia
  38. oddziaîywania grawitacyjnego protonu i elektronu w modelu atomu
  39. wodoru, w którym (z grubsza) elektron krâûy po orbitach wokóî
  40. protonu. Po prostu ich przyciâganie grawitacyjne i zwiâzana z nim
  41. poprawka na ruch elektronu jest bardzo maîa i absolutnie nie da
  42. sië zmierzyê. Gîównâ (ûeby nie powiedzieê wyîâcznâ) rolë odgrywa
  43. tu oddziaîywanie elektrostatyczne.
  44.  
  45. Najzabawniejsze w tym wszystkim jest to, ûe najpierw zostaîo
  46. odkryte wîaônie oddziaîywanie grawitacyjne, mimo iû jest
  47. najsîabsze ze wszystkich dotychczas znanych oddziaîywaï. Niezîy
  48. numer, no nie? Najsîabsze, ale najwczeôniej odkryte. Dlaczego?
  49. Ano dlatego, ûe jest powszechne, to znaczy, ûe podlegajâ mu
  50. WSZYSTKIE bez wyjâtku ciaîa, obdarzone masâ. (A czy sâ jakieô
  51. ciaîa pozbawione masy? Sâ, np. fotony czy neutrina.)
  52. Oddziaîywaniu elektromagnetycznemu zaô podlegajâ tylko ciaîa
  53. obdarzone niezerowym wypadkowym îadunkiem elektrycznym, a o
  54. takie, bâdú co bâdú, trudniej. Siîy te nazywa sië teû siîami
  55. kulombowskimi, od nazwiska ich odkrywcy, niejakiego Coulomba (nie
  56. myliê z Columbem, tym od Ameryki). O oddziaîywaniach jâdrowych w
  57. ogóle nie wspomnë, bo ich zasiëg jest tak maîy, ûe dopiero w
  58. naszym stuleciu staîo sië moûliwe ich zauwaûenie. Moûe kiedyô
  59. napiszë o szukaniu ich postaci za pomocâ komputera.
  60.  
  61. Na poczâtek uwaga organizacyjna. Poniûszy monolog bëdzie dotyczyî
  62. zarówno oddziaîywania grawitacyjnego, jak i elektrostatycznego.
  63. Chociaû to ostatnie jest wymienionâ wczeôniej liczbë razy
  64. silniejsze od grawitacji, to jednak opis matematyczny jest ten
  65. sam (no, prawie). Róûnica polega w zasadzie tylko na tym, ûe
  66. îadunki mogâ mieê dwie formy (dodatniâ i ujemnâ), masy zaô nie.
  67.  
  68. <sr>Trochë teorii
  69.  
  70. <txt>Dwa ciaîa materialne przyciâgajâ sië wzajemnie siîâ tym
  71. wiëkszâ, im wiëksze sâ ich masy (ôciôlej -- iloczyn mas), i tym
  72. mniejszâ, im wiëksza odlegîoôê dzieli ich ôrodki (ôciôlej, im
  73. wiëkszy jest kwadrat ich odlegîoôci). Wartoôê tej siîy wynosi:
  74.  
  75. <l>  (1) F=GMm/r²
  76.  
  77. <txt>gdzie >M< i >m< to masy owych ciaî, >r< odlegîoôê ich
  78. ôrodków, a >G< to tzw. staîa grawitacji.
  79.  
  80. Przesuniëcie punktu materialnego w polu grawitacyjnym, czy
  81. îadunku punktowego w polu elektrostatycznym, zwiâzane jest z
  82. wykonaniem pracy (dodatniej lub ujemnej) przez siîy pola.
  83. Wartoôê wykonanej przez pole grawitacyjne pracy wynosi:
  84.  
  85. <l>  (2) W=m[U(r0)-U(r)]
  86.  
  87. <txt>gdzie >m< -- masa przesuwanego ciaîa, >U(r0)< -- potencjaî w
  88. punkcie wyjôciowym, >U(r)< -- potencjaî w punkcie koïcowym ruchu.
  89. Jak widaê, praca nie zaleûy od wartoôci potencjaîów, a tylko od
  90. ich róûnicy. Sam potencjaî wynosi:
  91.  
  92. <l> (3) U(r)=-GM/r
  93.  
  94. <txt>gdzie >M< to masa obiektu, traktowanego jako úródîo pola (np.
  95. Sîoïca, przy rozwaûaniu ruchu Ziemi wokóî Sîoïca, lub Ziemi, przy
  96. rozwaûaniu ruchu Ksiëûyca). Wynika stâd, ûe:
  97.  
  98. <l>  (4) W=GMm(1/r - 1/r0)
  99.  
  100. <txt>Praca jest równa ZERO dla r=r0, to znaczy, gdy zatoczymy
  101. pëtelkë (o dowolnym ksztaîcie) i wrócimy do punktu startu.
  102. Konsekwencjâ tego faktu jest istnienie tzw. linii
  103. ekwipotencjalnych, czyli krzywych o staîym potencjale. Poruszajâc
  104. sië po takich krzywych, nie wykonujemy ÛADNEJ pracy. Z grubsza
  105. biorâc, np. satelity poruszajâ sië wîaônie po takich liniach
  106. ekwipotencjalnych i dlatego nie wymagajâ ciâgîego napëdzania
  107. odrzutowego, poniewaû nie muszâ wykonywaê pracy przeciw siîom
  108. pola. Linie ekwipotencjalne w wypadku jednej masy (planety),
  109. dostatecznie oddalonej od innych mas, sâ okrëgami. Jednak w
  110. wypadku wielu mas przyjmujâ bardzo skomplikowane i ciekawe
  111. ksztaîty. Do ich wyznaczania moûna wykorzystaê komputer, i to
  112. wîaônie jest celem tego artykuîu.
  113.  
  114. Przy zaîoûeniu, ûe mamy do czynienia z obiektami o staîych
  115. masach, problem policzenia pracy sprowadza sië do wyznaczenia
  116. potencjaîów we wszystkich interesujâcych nas punktach. Wtedy
  117. wystarczy tylko wziâê dwa punkty, odjâê od siebie ich potencjaîy,
  118. pomnoûyê przez masë przesuwanego obiektu i juû mamy pracë
  119. potrzebnâ do jego przemieszczenia. W wypadku wiëkszej liczby "mas
  120. úródîowych" potencjaîy w danym punkcie przestrzeni, pochodzâce od
  121. úródeî, po prostu sië sumujâ. Mówimy, ûe potencjaî grawitacyjny
  122. jest addytywny, czyli:
  123.  
  124. <l>  (5) V(r)=V(r1)+V(r2)+V(r3)+...V(rn)
  125.  
  126. <sr>No i co z tego?
  127.  
  128. <txt>Wyznaczenie rozkîadu potencjaîu wokóî mas/îadunków
  129. punktowych to w sam raz robota dla komputera. Moûemy go
  130. wykorzystaê, aby dokonaî za nas ûmudnych obliczeï, i w ten sposób
  131. otrzymaê bardzo îadne obrazki (patrz rysunki 1. i 2.). Spójrzmy
  132. na listing przedstawionego programu. Tak jak w poprzednim
  133. artykule ("Psia krzywa") zakîadam, ûe Czytelnicy majâ podstawowâ
  134. znajomoôê programowania (pëtle, instrukcje warunkowe itp.),
  135. podstawowâ znajomoôê C (jeûeli Czytelnik nie chce wklepywaê
  136. bezmyôlnie listingów) -- wystarczâ pierwsze rozdziaîy Kernighana
  137. i Ritchie'ego (dla nie wtajemniczonych dodam, ûe to elementarz i
  138. jednoczeônie biblia jëzyka C, napisana przez... jego autorów).
  139. Ponadto trzeba mieê oczywiôcie dostëp do jakiegoô kompilatora.
  140. Najlepiej, jakby to byî SAS/C 6.5, ale w zasadzie nie powinno byê
  141. specjalnych trudnoôci przy innych kompilatorach (patrz poprzedni
  142. artykuî).
  143.  
  144. Wróêmy do programu. Zanosi sië na spore obliczenia. Ale cóû to
  145. dla nas, brutali z A1200 i 4 MB Fast RAM-u i koprocesorem. Brane
  146. sâ po kolei wszystkie punkty ekranu (x, y) i w kaûdym z nich
  147. obliczany jest potencjaî, bëdâcy sumâ potencjaîów od wszystkich
  148. mas (pëtelka od i=1 do liczby obiektów pomniejszonej o jeden) i w
  149. koïcu na ekranie stawiany jest punkt o kolorze proporcjonalnym do
  150. wartoôci potencjaîu. Trzeba jednak uwaûaê, bo potencjaî powinien
  151. mieê wartoôê nieskoïczonâ w centrum obiektu (ze wzglëdu na
  152. dzielenie przez zerowy promieï). Jeôli tego nie obejdziemy, to
  153. moûemy oglâdaê guru 80000005 (dzielenie przez zero). Jak to
  154. zrobiê -- pokazaîem na listingu. To, co powstanie, to rozkîad
  155. potencjaîu, pochodzâcego od wszystkich zadanych punktów. Niejako
  156. przez przypadek widaê linie ekwipotencjalne -- sâ to linie
  157. oddzielajâce od siebie obszary o innym kolorze (czyli
  158. potencjale). W rzeczywistoôci linie te sâ "gëôciej" upakowane
  159. (mówi sië o tzw. rozkîadzie ciâgîym potencjaîu), jednak do
  160. dyspozycji mam tu tylko 16 barw (co wymaga rozkîadu dyskretnego).
  161. Uûycie 256 kolorów daîoby juû lepszy rezultat (i daje), a rysunek
  162. w trybie HAM8, czy na karcie grafiki 24-bitowej, to prawie ideaî.
  163. Jak znajdë chwilë czasu, to poprawië bîâd w moim programie, który
  164. to robi, ale sië jeszcze wiesza, i podeôlë ten program do
  165. redakcji. Moûe wydrukujâ obrazki. Tam w ogóle nie widaê linii
  166. ekwipotencjalnych (tak powinno byê, jest ich przecieû
  167. nieskoïczenie wiele, nieskoïczenie blisko siebie), caîy rysunek
  168. ma formë pîynnego przejôcia kolorów.
  169.  
  170. Przy okazji: nie starczyîo miejsca na przedstawienie procedury,
  171. zgrywajâcej obrazek na dysk. Jeôli zatem chcesz nagraê sobie
  172. wygenerowany obrazek, musisz sië posîuûyê specjalnym
  173. programikiem, który umoûliwia wycinanie fragmentów ekranu. Na
  174. szczëôcie nie ma problemu z jego zdobyciem. Jest ich
  175. zatrzësienie, dla przykîadu podam tylko niektóre: GrabIFF,
  176. QuickGrab, odpowiedni moduî w MagicCX, ScreenSaver, ScreenX i
  177. kupa innych. Zdecydowanie polecam pierwsze trzy. Sâ to programiki
  178. dostëpne bez trudu w róûnych bibliotekach public domain i
  179. shareware, na gieîdzie (wolno je LEGALNIE kopiowaê), w Aminecie,
  180. u lepiej zorientowanych kolegów itp. W zasadzie posiadanie
  181. takiego programiku w systemie naleûy do dobrego tonu. Bez niego,
  182. jak bez rëki. A i wstyd przed szklarzami (uûytkownicy Windows).
  183.  
  184. Moûna zrobiê jeszcze inaczej. Program sam losuje wspóîrzëdne
  185. punktów. Nic nie stoi na przeszkodzie, aby punkty podawaî
  186. uûytkownik lub by byîy czytane z pliku (czyli ogólnie ze
  187. standardowego wejôcia -- zaîatwia to funkcja scanf()). Moûna
  188. sobie teraz zaûyczyê, aby po kaûdym wygenerowanym obrazku program
  189. poczekaî, aû sobie zgramy obrazek na dysk, po czym generowaî
  190. nastëpny, z przesuniëtymi do innych pozycji punktami (odczytanymi
  191. z pliku lub znów podanymi przez uûytkownika). Nagrane obrazki
  192. moûemy poskîadaê, np. za pomocâ Deluxe Painta -- otrzymamy w ten
  193. sposób animacjë, przedstawiajâcâ, jak wyglâda potencjaî wokóî
  194. poruszajâcych sië punktów.
  195.  
  196. Moûna zrobiê jeszcze inaczej. Nie pytaê uûytkownika o
  197. wspóîrzëdne, tylko je wylosowaê (tak jak ja), a przesuwaê kaûdy z
  198. nich o NIEWIELKIE, ale wylosowane, odlegîoôci w róûne strony. Da
  199. nam to bardzo ciekawy i îadny efekt -- coô w stylu ruchów Browna.
  200. Jak sië zabieraîem do pisania mojego programu, to nawet nie
  201. myôlaîem, ûe to zrobi na mnie takie wraûenie (no cóû, program
  202. rzadko mile zaskakuje swojego autora).
  203.  
  204. Nie przedstawiam tych cudownoôci tutaj, bo mi to naczelny
  205. odrzuci. Cóû, gazeta nie jest z gumy... Jak znajdâ sië
  206. zainteresowani, to w którymô artykule mogë dokîadnie opisaê, jak
  207. to zrobiê, tzn. podam przede wszystkim, jak samemu zapisaê
  208. obrazek, bez uciekania sië do pomocy GrabIFF-a czy innego, oraz
  209. jak dokîadnie losowaê punkty, pytaê uûytkownika o ich wspóîrzëdne
  210. lub czytaê je z dysku. Zainteresowane nerwusy mogâ mnie îapaê pod
  211. adresem:
  212.  
  213. <l>email: zfjmgr@usctoux1.cto.us.edu.pl
  214.  
  215. <txt>Przedstawiam jedynie wymaganâ przez programik zawartoôê
  216. pliku SCOptions:
  217.  
  218. <l> DATA=FAR
  219.  
  220. MATH=STANDARD
  221.  
  222. ERRORREXX
  223.  
  224. OPTIMIZE
  225.  
  226. LINK
  227.  
  228. OPTIMIZERTIME
  229.  
  230. <txt>Jeûeli chcesz zoptymalizowaê program dla danego typu
  231. procesora, dodaj jeszcze linië, np.:
  232.  
  233. <l>CPU=68020
  234.  
  235. <txt>lub oczywiôcie inny, z zakresu 68010 -- 68040 (patrz poprzedni
  236. artykuî -- "Psia krzywa").
  237.  
  238. <sr>Jak to dziaîa?
  239.  
  240. <txt>Program uruchamiamy z Workbencha lub Shella, nie podajâc
  241. ûadnych argumentów. Zostaniemy poproszeni (jak nietrudno sië
  242. domyôliê, przeglâdajâc kod úródîowy) o podanie liczby obiektów
  243. oraz okreôlenie jasnoôci obrazka. Tym drugim (wprowadzonym jako
  244. liczba rzeczywista Z KROPK zamiast przecinka) moûna regulowaê
  245. jasnoôê obrazka, bo przy wiëkszej liczbie punktów (powiedzmy 50)
  246. bëdzie za jasny. Im wiëcej obiektów, tym mniejszâ radzë
  247. dawaê wartoôê. Przy N równym np. 50 polecam jasnoôê w granicach
  248. od 0,6 do 0,8. Potem pozostaje tylko czekaê -- tym dîuûej, im
  249. wiëcej obiektów. Zdajë sobie sprawë, ûe program jest powolny, a
  250. przedstawiony algorytm moûna by z pewnoôciâ rozwiâzaê lepiej pod
  251. wzglëdem czasowym (chodzi o czas procesora, nie mój, niestety),
  252. ale po pierwsze nie ma miejsca, po drugie program powstaî w ciâgu
  253. paru godzin, z czego wiëkszoôê spëdziîem na wyszukiwaniu bîëdów w
  254. wywoîywaniu funkcji bibliotecznych oraz uûeraniu sië z Intuition,
  255. po trzecie bardziej sobie cenië prostotë rozwiâzania od jego
  256. szybkoôci (w pewnej klasie cenowej oczywiôcie -- a czas to
  257. pieniâdz).
  258.  
  259. I to juû w zasadzie koniec. A moûe program przyda sië na
  260. lekcji astronomii?
  261.