Orbit Sandbox — brauzerdagi o‘yinchoq gravitatsiya
Jismlarni tashlang, ularga tezlik bering va n-body gravitatsiyasi ularni orbitalar, sopqon manyovrlari va to‘qnashuvlarga tortishini kuzating. Universe Sandbox’ga kichik ta’zim.
Universe Sandbox — mening «shinam» dasturim. «Koinotni turtib ko‘rish» zavqining qanchasi naiv gravitatsiyali 200 qatorlik canvas-o‘yinchog‘ida saqlanib qolishini his qilmoqchi edim.
Naiv O(n²) gravitatsiya bir necha yuz jismgacha 60fpsda bemalol ishlaydi. Bu yerdagi qiyin narsa fizika emas, balki barqaror integrator: oddiy Eyler portlaydi, yarim-oshkormas Eyler esa xotirjam qoladi.
Oddiy Eylerda ikkita yaqin jism cheksiz energiya to‘playdi va ekrandan uchib chiqadi. Masofani yumshatish (r hech qachon nolga tushmasligi uchun epsilon) va yarim-oshkormas integratsiya bu «otashinni» o‘chirdi.
Koinotni turtib ko‘r
Bo‘sh joyga bosish — jism tashlash. Bosib-sudrash — uni tezlik bilan otish. Hamma narsa hamma narsani tortadi, shu bois kichik to‘plamlar orbitaga tushadi, yonidan o‘tib ketishlar esa sopqon manyovriga aylanadi.
Bu tajriba ataylab wip deb belgilangan: integrator barqaror, lekin to‘qnashuvda jismlarning birlashuvi hali yo‘q, keyingi qadamda esa massani-sudrash-radiusiga bog‘lashni qo‘shmoqchiman. Laboratoriya yozuvining mohiyati ham shu — choklarni yashirmasdan ko‘rsatish.