![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
гравитация и её последствия [Delphi, Windows]
TButton © (2006-05-26 17:57:00)свершилось! =)
я собрал мысли в кучу и вдохновлённый передачей про зарождение солнечной системы в целом и земли в частности
написал систему взаимогравитирующих частиц
прикрутил это к движку на qPixels
(2Д, говорите, не модно)
и получилось собственно вот это
http://slil.ru/22783716
очень долго мучался с настройкой мировых констант
но вроде бы что-то получилось
Думкин (2006-06-02 11:07:00) [81]> Fosgen (02.06.06 10:04) [61]
г-ну Fosgen'у:
Ваши фразы ни о чем. вы уважаемый не видели видимо программы, так вот там смещается все.
А я не путаю геомеьтрический центр и центр масс. Квалификация не позволяет знаете ли. Мне как раз было интересно узнать, как люди не рассчитывая местоположение центра масс тем не менее говорят о каких-то биениях.
И про прецессию мне не надо. Как и сказал прецессия будет вызвана внешними силами. А именно реакцией опоры и силой тяжести. В данном же случае внешних сил нет. поэтому центр масс будет двигаться именно так как и описал я.
далее, если еще захотите читать мне лекции, то пожлуйста почитайте, что я пишу, а не то что вы подумали. Очень прошу. А то даже не смешно. Уважаемый.
cyborg (2006-06-02 10:09:00) [82]Неплохо бы, при столкновении планет, создавать дополнительные объекты - осколки, а появление из неоткуда новых планет отключить, либо по нажатию какой либо клавиши генерировать объекты пришельцы, а не неизвестно откуда появившиеся планеты.
Притяжение, на глаз, какое-то не реалистичное :), две большие планеты пролетают рядом (думал столкнутся), но практически ничего не происходит, я ожидал что орбиты сильно изменятся. Аналогично, когда маленькая пролетает рядом с большой, она либо столкнётся, либо орбита незначительно изменится (хотя я ожидал, что она станет луной). Масштаб можно раза в 4 уменьшить, тогда на экране больше уместится и можно реализовать спутники.
Советовать конечно легко :)
Кстати, могу текстуры планет дать :).
Fosgen (2006-06-02 10:04:00) [83]Г-ну Думкину:
Ваш спор - ни о чем. Все вылилось на самом деле из-за того что Вы, уважаемый, перепутали визуально определяемый геометрический центр, с визуально скрытым центром масс системы. Центр масс стоит на месте, как ему и положено, а видимый геометрический центр (который из-за неравномерности распределения массы никак не совпадает с центром масс) - прецессирует так как ему захочется. Если я правильно предполагаю, вследствие однонаправленности вращения - прецессия будет скорее всего - так же однонаправленной и иметь траекторию спирали...
Таким образом - сохраняется правило неподвижного центра масс при замкнутости системы и сохраняется внутренняя стабильность самой системы.
Погрешностей критичных для центра масс (не путайте с визуальным центром) там вроде нет, а модель - очень даже "прямая".
Насчет волчка - тут Вы, уважаемый очень не правы. Если распределение массы по волчку будет неравномерным (т.е. - его центр масс смещен, относительно геометрического), то геометрический центр так же выдаст прецессию. Воздействуют на него внешние силы или нет - без разницы...
Дабы исключить Ваши сомнения - уточняю: волчок со жвачкой и волчок без жвачки :)) находятся в равных системах воздействия внешних сил - вы же в одном и том же месте их раскручиваете или даже это - один и тот же волчок. Но поведение их в обоих случаях будет разным... Есть у Вас, уважаемый, некоторая погрешность в знаниях ОТО - Вы забыли что внешние для двух систем силы, можно брать как общую точку отсчета...
Cash (2006-06-02 09:44:00) [84]Так, есть у кого ни будь мысли, как у этого алгоритма снизить трудоемкость
с N^2 до N*Log(N)? Это будет колоссальный прирост производительности!
Если что, модуль в [33].
Cash (2006-06-02 09:31:00) [85]Думкин © (02.06.06 09:23) [58]:
> В модели вашей - нет внешних сил.
Да им просто неоткуда взяться!
> Пока вы этого не поймете, все остальное - просто разговоры.
Ну... как пожелаете, коллега.
Думкин (2006-06-02 09:23:00) [86]> Cash © (02.06.06 09:20) [56]
В модели вашей - нет внешних сил.
Все. На этом просто - все. Извините, но это курс элементарной школьной физики. Про более высокие материи я и разговаривать смысла просто не вижу.
Пока вы этого не поймете, все остальное - просто разговоры. :(
Думкин (2006-06-02 09:21:00) [87]> TButton © (02.06.06 09:16) [55]
По боку. К волчку приложена внешняя сила.
Я повторяю - вы посмотрите все-таки предложенное мной . выведите начальные значения - центра масс и компоненты импульса. И последите за их изменением.
Извините, но читать курс школьной физики немного утомительно.
Если гуляет не по прямой с постоянной скоростью, то:
1. Модель кривая.
2. Погрешности расчетов.
Ничего иного быть не может.
Cash (2006-06-02 09:20:00) [88]Мне просто интересно увидеть ход ваших мыслей по этому вопросу.
> А вот если вы ззахотите его вращать вокруг геометрического
> - то увидите болтанку
Именно это в программе мы и наблюдаем! Там постоянно идет перемещение
центра масс, и он никогда не будет совпадать с геометрическим центром,
ну разве что только на один - 2 тика, но это малые промежутки времени.
Вся система подчиняется и вращается постоянно вокруг этого центра,
тем самым давая ему повод опять сместиться. Естественно, приложив
некоторые силы всей системе мы ее установим в каком либо устойчивом
положении, но это не будет гармонией, а только тратой энергии.
TButton (2006-06-02 09:16:00) [89]ой вей =)
естествеено
1) вся система в начале раскручивается, т.е. обладает некоторым начальным импульсом. но! при генерации системы используется полярная система координат. а при генерации начальных скоростей используются угловые скорости и они для всех частиц равны.
2) в принципе без раскручивания системы центр всё равно гуляет
причём гуляет куда хочет (как же я без рандомайза)
3) возьмите обычный детский волчок, прилепите к нему с боку жевачку и раскрутите, а потом утверждайте, что неравномерность по боку.
4) про первый релиз и думать забудьте, там ошибка с вычислением силы притяжения.
5) в остальных релизах центр всё равно гуляет, но! гуляет не в одном каком-то на правлении. а гуляет по кривой.
6) просто информация. при генерации звезды она помещается в точку начала координат и импульс её гасится. не знаю. как это на что-то влияет. импульса нет, значит влиять не должно никак.
Думкин (2006-06-02 09:12:00) [90]> Cash © (02.06.06 09:01) [53]
Не будем. А если не сбалансированный, то при отсутствии внешних сил он будет вращаться вокруг центра масс, который не будет совпадать с геометрическим центром.
А вот если вы ззахотите его вращать вокруг геометрического - то увидите болтанку и приложите внешниесилы, чтобы ее избежать.
Cash (2006-06-02 09:01:00) [91]> Вы именно ее и несете.
Рад слышать! :)))
В модуле в [33] в методе DoTick, все просчеты в ней, остальные методы -
левое, рудименты то есть.
У меня просто в балде не укладывается как это так, Ньютоновскую теорию
присобачивать к космосу. Да, и к тому же я только оптимизирую работу
алгоритма TButton-а, не нарушая его прав на владение алгоритмом.
Давайте ка возьмем с вами диск, абсолютно сбалансированный, где
центр масс совпадает с осью вращения. Вращая диск, мы не будем
наблюдать отклонение его от того места где мы его оставили, так ведь?
Думкин (2006-06-02 08:49:00) [92]> Cash © (02.06.06 08:31) [51]
Вы именно ее и несете. :)
СТО, ОТО - не важно. А в каком месте вы применяете СТО или ОТО?
Можно формулы увидеть?
:)
Если уж про ОТО - то там не обратная квадратичность от расстояния, а сложнее. Можно восполнить доп членом с обратной кубичностью. Но тут и эффект сразу - отсутствие замкнутых орбит( смещение перигелия Меркурия, например).
Но все утверждения про центр масс и т.п - остаются в силе.
Cash (2006-06-02 08:31:00) [93]Модель не кривая! Там СТО надо применять! Это же не на земле, там
космические силы работают. Ньютон все законы вывел исходя из земного
завновесия, а там, на орбите они мало кому помогают (инвалибам и
сердечникам разве что, ито только их несоблюдение). СТО же была
разработана как теория космического взаимодействия. (мож я бредятину
несу, но мне по крайней мере что то такое вспоминается) :)
Думкин (2006-06-02 08:26:00) [94]> Cash © (02.06.06 08:23) [49]
?
Обычная механика Ньютона. Кикоины 8 класс. Физика. Например.
Если центр гулял - значит или силы неНьютоновские или модель кривая.
Все-таки я считаю, что смещение системы происходит, из-за того что начальный импульс системы ненулевой, а имеет направлением правый нижний угол.
Cash (2006-06-02 08:23:00) [95]Думкин © (02.06.06 08:18) [46]:
А вы какую теорию к данной ситуации применяете? У меня впечатление,
что не ту...
У меня центр системы гулял как ему захочется, т. е. то, о чем я говорил,
а то, что вы наблюдали в первом релизе TButton-овской системы я чесно
говоря тоже склонен считать результатиом погрешности вычислений.
Думкин (2006-06-02 08:20:00) [96]> Cash © (02.06.06 08:13) [45]
Но центр масс - на месте. просто смещение земли маленькое. Человек притягивает Землю ровно также как и она его. Только вот для заметного смещения Земли - силы мало. а для человека вполне хватает, чтобы нос расквасить, но и земле достается.
Неважно ведь столб на вас налетел или вы на столб. Больно обоим. :)
Думкин (2006-06-02 08:18:00) [97]> TButton © (02.06.06 08:11) [44]
1. Импульс - это вектор. Соответственно у вас 2 скаляра. Каждый получается суммированием произведения проекции скоростей(с учетом знака) на соответствующую массу.
2. Неравномерность - это по барабану. Пусть хоть 100 раз неравномерно. Но центр тяжести при нулевом импульсе - на месте. Если не нулевой, то будет двигаться в направлении начального импульса с постоянной скоростью. Никакого расшатывания не должно быть в принципе. Ньютон в гробу перевернется. :) Если конечно у вас нет в нешних сил. а их у вас нет.
И почему вправо-вниз? Там Randomize есть? Если каждый раз абсолютно случайно, неплохо было бы наблюдать симметрию, то есть смещение системы в разных направлениях.
Как этого избежать я указал. Но сначала надо проверить на вашей модели, что все обстоит именно так.
Cash (2006-06-02 08:18:00) [98]
> требуемые 30фпс выдаются уже на двух сотнях частиц
Трудоемкость алгоритма еще слишком велика, я попробую что нибудь
придумать, но ничего заранее говорить не буду.
Есть у меня некоторые задумки! ;)
Cash (2006-06-02 08:13:00) [99]Делать мне больше нечего! обижаться еще! ;)
Во первых, от части вы правы, с физикой у меня было туго.
Как там говорится, на самом деле любые два тела притягиваются друг к
другу и на самом деле и земля притягивается к подпрыгнувшему человеку,
но их массы несоизмеримы и притяжение земли к человеку незначительно,
но притяжение человека к земле заметно. Я вот на это уповаю, да и к тому
же в передачках о космосе точно так же говорят.
TButton (2006-06-02 08:11:00) [100]
> В Hegemonia
дык речь идёт об аркаде, а не о стратегии =)
> (в модуле из [33] она такая, а в
> других - порядок больше)
требуемые 30фпс выдаются уже на двух сотнях частиц
> Было бы неплохо выводить информацию
планировал (в самом начале). приду домой - сделаю. заодно залезу в справочник уточню что такое импульс.
а неравномерность распределения массы и породила то что мы сегодня имеем возможность наблюдать, и нас с вами в том числе.
касательно центра масс.
частицы распределяются случайным образом (случайные полярные координаты), массы частиц также случайны, поэтому центр масс может быть близко к началу координат, но не совпадать с ним. т.е. система представляет собой диск со смещённым центром тяжести, отсюда и расшатывание. хотя наличие в центре диска массивной (во много раз превосходящей по массе остальные) частицы должно это расшатывание некоторым образом компенсировать.