Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

гравитация и её последствия [Delphi, Windows]


Страницы:   1 2 3 4 5 6 7 8

TButton ©   (2006-05-26 17:57:00) 

свершилось! =)
я собрал мысли в кучу и вдохновлённый передачей про зарождение солнечной системы в целом и земли в частности
написал систему взаимогравитирующих частиц
прикрутил это к движку на qPixels
(2Д, говорите, не модно)
и получилось собственно вот это

http://slil.ru/22783716

очень долго мучался с настройкой мировых констант
но вроде бы что-то получилось


Думкин   (2006-06-03 05:34:00) [61]

> Asteroid ©   (03.06.06 03:32) [81]

Извините, а если разбить на шарики, что изменится? Силы отталкивания возникнут?


Думкин   (2006-06-03 05:32:00) [62]

> Fosgen   (02.06.06 17:54) [79]

Так обоснованно считаю. :)
1. Создатель ветки путает кинетическую энергию с импульсом, неверно считал силу тяжести, что-то там про вечный двигатель говорил. И т.д. и т.п. И остальные далеко не ушли. Так что увы - хоть всю группу детсада приведите в 25 человек - аргумент хилый. Вы импульс считали? А вы возьмите и посчитайте - а потом трепитесь, что его нет. Он должен быть, ибо все параметры вводятся случайным образом и каким образом в итоге система имеет нулевой импульс - остается загадкой. Центра масс я не увидел, но то что вся система съезжала целиком вправо и вниз - заметил далеко не только я. Если центр масс на месте - то где же тогда массы переводящие этот центр из право-низ? Массивная центральная масса просто практически в одиночку решала местоположение центра, чем и замедлялось движение в правый нижний угол - не более.
2. На тот момент не видел, но принцип задания начальных условий - был озвучен. Скачал исходник и получил подтверждение. Почему импульс должен юыть 0 - в них не раскрыто. Он и не нулевой. В итоге легкий прямолинейный дреф центра масс. А говорить я могу - ибо принципы были озвучены. Кстати избежать этого дрейфа можно 2-мя способами.
3. Во-первых с людьми я беседовал и сообщал им как можно избавиться от проблемы. По-моему получилось конструктивно, до вашего выхода из-за печки. Вот сделает автор вывод тех данных, что я предложил - будем посмотреть.
4. А не привел, потому что ваша фраза могла быть произнесена в двух случаях  - после сильной укурки мухоморами или если вы ученик Эдельвейса Мавшкина, что впрочем ко всему вашему посту относится.

Траектории будт различны - потому что тела разные. В чем цимус вы видите? Я спорю, что разные? Вы уж разжуйте что сказать хотите этим и как это кореллирует со сказанным мной. Желательно в виде связных цитат. И можно логику - я разрешаю, а то словно запретил вот вы и мучаетесь.

Ругаться хотите? А зря. Хотя это единственное, что движет вами в общении со мной. Вы не заметили ни одной нелепости допущенной другими и с радостью накинулись на меня не вникнув в детали. А ведь ошибок у меня - пока нет. Или вы нашли?

Ожидаю Ваших обоснованныхвозражений по этому поводу.


Asteroid   (2006-06-03 03:32:00) [63]

Очень красочно, спасибо :)
Наверное в 3D выглядело бы еще лучше, даже со спрайтами :)

С притяжением вблизи планет есть одна мысль: на больших расстояних даже крупные планеты могут сойти как точечные источники гравитации, но на малых (например, в пределах двух радиусов) - уже нет. Т.е. при расчете ближнего взаимодействия стоит разбить планету на несколько частиц, суммарным весом во всю планету.

Для столкновений сотен шариков был какой-то очень быстрый алгортим, у меня даже программа (только бинарник) была с кубом и сотней постоянно сталкивающихся шариков...К сожалению, не помню ни названия, ни авторов...


cyborg   (2006-06-02 19:17:00) [64]


> В JPG??? Там же альфаканал рушится!


В D3DXCreateTextureFromFileEx указываешь цветовой ключ для чёрного фона $FF000000.

Затем перед отрисовкой включай альфа блендинг (Transparent - флаг прозрачности), в данном случае true, чтобы всё было чики пуки с данной текстурой. :)


   SetRenderState(D3DRS_ALPHABLENDENABLE,1);

   if Transparent then
   begin
     SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);
     SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);
   end else
   begin
     SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
     SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
   end;


Это для девятого директа, для восьмого вроде аналогично.
Никаких альфаканалов в этом случае не нужно.


Fosgen   (2006-06-02 17:54:00) [65]

Думкин ©   (02.06.06 11:07) [63]

Г-ну Думкину:

Многоуважаемый оппонент, вот Вы вероятно являясь специалистом в области программирования и расчета систем небесных тел, все-таки неправы в своем подходе. Вы по неведомой мне причине считаете всех остальных напрофессиональными, некомпетентными и низкоинтеллектуальными детьми, берущимися не за свое дело. Не считая хотя бы того что это неуважительно по отношению к собеседникам, и демонстрирует исключительно Ваше воспитание, Вы попросту игнорируете следующие факты:

1. Вам уже 4-ре человека (начиная с создателя ветки) сообщили о принципах работы программы, исключающих первоначальный импульс системы. Программу я видел. Так мне очень интересно, как Вы увидели центр масс системы. Ведь графически он там никак не представлен...

2. Как Вы сами пишете: "Исходников не видел и т.п."- сл-но все Ваши аргументы - исключительно домыслы и оснований для тех или иных предположений у Вас нет. И говорить про "Покуа э\ти данные не рассчитываются "Вы так же не можете.

3. "если еще захотите читать мне лекции",а Вы спросили людей работающих над программой - хотят ли они слушать Ваши лекции? Если же Вы обратитесь к свободе слова и самовыражения на форуме - этот аргумент могу привести и я...

4. "Про ОТО - это мне под стол лезть смеяться? :)".Можете залезть в любое удобное Вам место, чтобы посмеяться над собой. Поскольку кроме этой Вашей фразы Вы не привели никаких аргументов в пользу Ваших утверждений. Пока что я вижу только подтверждения своих размышлений, особенно по Вашим: "Как и сказал прецессия будет вызвана внешними силами. А именно реакцией опоры и силой тяжести."Как-то странно что такой специалист, каким Вы несомненно являетесь, никак не осознает что те же самые силы действуют как на волчок со смещенным центром тяжести, так и на нормально сбалансированный волчок. Но траектории геометрических центров у них будут различаться.

Ожидаю Ваших обоснованныхвозражений по этому поводу.


Cash   (2006-06-02 16:59:00) [66]

cyborg ©   (02.06.06 16:45) [77]:
В JPG??? Там же альфаканал рушится! Ладно посмотрю, если что скажу.
Чет у меня OutLook фигней страдает, погодя подкачаю.


cyborg   (2006-06-02 16:45:00) [67]

[73] Cash ©   (02.06.06 14:26)
Отправил, 50 кило всего, три взрыва, они у меня в БМП, но в джепеге практически идентичны, выслал в джепег. Два красных и один синий.

Отправил на ящик под твоим ником.


Cash   (2006-06-02 16:14:00) [68]

Так, специально для товарища Думкина сделал систему без центральной
звезды. На мой взгляд центр масс никуда не уходит, звезды кружат по
всем канонам. Оптимизировать бы... Сообщите пожалуйста тормознее или
быстрее работает, чем из [33].
http://webfile.ru/974722


Cash   (2006-06-02 15:55:00) [69]

Ай... ладно, с горем пополам вспомнил...


Cash   (2006-06-02 14:54:00) [70]

Эй, люди! Я тупой! :))) Опять! :D
Я забыл как для планеты сила гравитации рассчитывается из массы и т. д.


Cash   (2006-06-02 14:26:00) [71]

Давай! Они в каком формате?


cyborg   (2006-06-02 14:22:00) [72]


> Сплэшки красивые? Мне нравятся.

У меня взрывы (спрайты) красивее есть, если их два одновременно совместмить - будет шоколад  :)


Cash   (2006-06-02 14:13:00) [73]

Красиво? Красиво - когда живо!© Cash. :)))
Реалистичность всегда красива. :)
Сплэшки красивые? Мне нравятся. Преподам моим тоже нравится, и в группе
моя репутация "психа" заметно выросла. :))))


cyborg   (2006-06-02 14:03:00) [74]

Ну слишком много подробностей (достоверности) в виде типа материи и проч. не нужно, просто визуально хотелось бы более менее достоверную картинку наблюдать. Ну и чтобы красиво было :)


Cash   (2006-06-02 13:42:00) [75]

cyborg ©   (02.06.06 12:48) [67]:
Это я так сделал, чтоб самому каждый раз не добавлять звезды, тыж мою
штуку выходит смотрел. :)

cyborg ©   (02.06.06 13:00) [68]:
Да луны там сами на орбиту заходят, если есть все предпосылки к этому
заходу. (скорость сближения, соотношение масс, угол падения кометы на
планету и т. д.)

А осколки? Ты имееш ввиду брать и массу кометы частично восоздавать в
виде метеоров на орбите? Это тоже можно сделать. Но в этом случае
желательно еще и задавать вещество звезд. А это уже накладные расходы
и рост трудоемкости.


cyborg   (2006-06-02 13:00:00) [76]

>>но я слабо представляю алгоритм создания осколков.
Видимо тут нужно создавать в зависимости от скорости и угла столкновения, чем больше скорость, тем больше осколков, чем острее угол столкновения, тем больше размеры осколков наверное.

По каналу "Культура" дня четыре назад показывали, как Луна появилась, столкнулись две планеты, и компьютерная модель была показана, забавно :), столкнулись под острым уголм, градусов 30 или 45, не помню уже, примерно половина или треть второй планеты раздробилась в космос, а ядро отскочив, огибая Землю упала на неё, из обломков на орбите Луна собралась. Вот упрощённо, так сказать, рассказал :).


cyborg   (2006-06-02 12:48:00) [77]

>>неоткуда ничего не берётся
Как же, не берётся :), убавляю кол-во объектов, но счётчик объектов всё равно стремится стать около 128, и они появляются ниоткуда, просто бац и появились :)


TButton   (2006-06-02 11:49:00) [78]


> Неплохо бы, при столкновении планет, создавать дополнительные
> объекты - осколки, а появление из неоткуда новых планет
> отключить, либо по нажатию какой либо клавиши генерировать
> объекты пришельцы, а не неизвестно откуда появившиеся планеты.

* неоткуда ничего не берётся
* пришельцев тоже нет, есть то, что улетело в начале

> Притяжение, на глаз, какое-то не реалистичное :), две большие
> планеты пролетают рядом (думал столкнутся), но практически
> ничего не происходит, я ожидал что орбиты сильно изменятся.
>  Аналогично, когда маленькая пролетает рядом с большой,
> она либо столкнётся, либо орбита незначительно изменится
> (хотя я ожидал, что она станет луной). Масштаб можно раза
> в 4 уменьшить, тогда на экране больше уместится и можно
> реализовать спутники.

* притяжение реалистичное, масштаб для отображения радиуса разный. притяжение происходит в масштабе системы... ой... =) мде =) тут надо поработать =)
* столкновение с осколками... в принципе любопытно, но я слабо представляю алгоритм создания осколков.

делаем вывод. в первую очередь - унифицировать масштаб.


Думкин   (2006-06-02 11:09:00) [79]

Про ОТО - это мне под стол лезть смеяться? :)
LOL


Думкин   (2006-06-02 11:08:00) [80]

> Fosgen   (02.06.06 10:04) [61]

И почему происходят смещения - я указал. Из-за начальных данных. Покуа э\ти данные не рассчитываются и не выводятся. Подождем.


Страницы:   1 2 3 4 5 6 7 8

Наверх

Титульная страница Поиск, карта сайта Написать письмо