Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Вниз

гравитация и её последствия   Найти похожие ветки 

 
Cash ©   (2006-06-02 07:55) [40]


> ведь даже самая маленькая планета несоизмеримо больше космического
> корабля


А это кто сказал??? 8)
В Hegemonia только истребки и планетарные колонизаторы меньше планет,
орбитальные станции почти с пол планеты, а БШ, линкоры и т. д, они
соизмеримы вроде были.

Но сначала надо еще больше оптимизировать эту систему, чтобы у нее
трудоемикость не была квадратической. (в модуле из [33] она такая, а в
других - порядок больше)


 
Думкин ©   (2006-06-02 07:58) [41]

> Cash ©   (02.06.06 07:29) [38]

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

> TButton ©   (02.06.06 07:47) [39]

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

Затем сделать так(в начальный момент) - если начальная система обладает ненулевым импульсом и центр масс не в центре, вводить частицу, которая бы компенсировала этот дефект как по импульсу, так и по центру масс.


 
Думкин ©   (2006-06-02 08:01) [42]

> Cash ©

Если вы обидитесь, то зря. :) Извините, если резко получилось.


 
Думкин ©   (2006-06-02 08:04) [43]

Вполне моет оказаться, что центр масс движется в полном соответствии с начальным импульсом. Можно проверить. Тогда неплохо бы добавить и вывод текущих координат центра масс.


 
TButton ©   (2006-06-02 08:11) [44]


> В Hegemonia

дык речь идёт об аркаде, а не о стратегии =)

> (в модуле из [33] она такая, а в
> других - порядок больше)

требуемые 30фпс выдаются уже на двух сотнях частиц

> Было бы неплохо выводить информацию

планировал (в самом начале). приду домой - сделаю. заодно залезу в справочник уточню что такое импульс.

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

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


 
Cash ©   (2006-06-02 08:13) [45]

Делать мне больше нечего! обижаться еще! ;)
Во первых, от части вы правы, с физикой у меня было туго.

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


 
Думкин ©   (2006-06-02 08:18) [46]

> TButton ©   (02.06.06 08:11) [44]

1. Импульс - это вектор. Соответственно у вас 2 скаляра. Каждый получается суммированием произведения проекции скоростей(с учетом знака) на соответствующую массу.
2. Неравномерность - это по барабану. Пусть хоть 100 раз неравномерно. Но центр тяжести при нулевом импульсе - на месте. Если не нулевой, то будет двигаться в направлении начального импульса с постоянной скоростью. Никакого расшатывания не должно быть в принципе. Ньютон в гробу перевернется. :) Если конечно у вас нет в нешних сил. а их у вас нет.

И почему вправо-вниз? Там Randomize есть? Если каждый раз абсолютно случайно, неплохо было бы наблюдать симметрию, то есть смещение системы в разных направлениях.

Как этого избежать я указал. Но сначала надо проверить на вашей модели, что все обстоит именно так.


 
Cash ©   (2006-06-02 08:18) [47]


> требуемые 30фпс выдаются уже на двух сотнях частиц

Трудоемкость алгоритма еще слишком велика, я попробую что нибудь
придумать, но ничего заранее говорить не буду.
Есть у меня некоторые задумки! ;)


 
Думкин ©   (2006-06-02 08:20) [48]

> Cash ©   (02.06.06 08:13) [45]

Но центр масс - на месте. просто смещение земли маленькое. Человек притягивает Землю ровно также как и она его. Только вот для заметного смещения Земли - силы мало. а для человека вполне хватает, чтобы нос расквасить, но и земле достается.
Неважно ведь столб на вас налетел или вы на столб. Больно обоим. :)


 
Cash ©   (2006-06-02 08:23) [49]

Думкин ©   (02.06.06 08:18) [46]:
А вы какую теорию к данной ситуации применяете? У меня впечатление,
что не ту...

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


 
Думкин ©   (2006-06-02 08:26) [50]

> Cash ©   (02.06.06 08:23) [49]

?
Обычная механика Ньютона. Кикоины 8 класс. Физика. Например.

Если центр гулял - значит или силы неНьютоновские или модель кривая.

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


 
Cash ©   (2006-06-02 08:31) [51]

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


 
Думкин ©   (2006-06-02 08:49) [52]

> Cash ©   (02.06.06 08:31) [51]

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


 
Cash ©   (2006-06-02 09:01) [53]

> Вы именно ее и несете.
Рад слышать! :)))

В модуле в [33] в методе DoTick, все просчеты в ней, остальные методы -
левое, рудименты то есть.

У меня просто в балде не укладывается как это так, Ньютоновскую теорию
присобачивать к космосу. Да, и к тому же я только оптимизирую работу
алгоритма TButton-а, не нарушая его прав на владение алгоритмом.

Давайте ка возьмем с вами диск, абсолютно сбалансированный, где
центр масс совпадает с осью вращения. Вращая диск, мы не будем
наблюдать отклонение его от того места где мы его оставили, так ведь?


 
Думкин ©   (2006-06-02 09:12) [54]

> Cash ©   (02.06.06 09:01) [53]

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


 
TButton ©   (2006-06-02 09:16) [55]

ой вей =)
естествеено
1) вся система в начале раскручивается, т.е. обладает некоторым начальным импульсом. но! при генерации системы используется полярная система координат. а при генерации начальных скоростей используются угловые скорости и они для всех частиц равны.
2) в принципе без раскручивания системы центр всё равно гуляет
причём гуляет куда хочет (как же я без рандомайза)
3) возьмите обычный детский волчок, прилепите к нему с боку жевачку и раскрутите, а потом утверждайте, что неравномерность по боку.
4) про первый релиз и думать забудьте, там ошибка с вычислением силы притяжения.
5) в остальных релизах центр всё равно гуляет, но! гуляет не в одном каком-то на правлении. а гуляет по кривой.
6) просто информация. при генерации звезды она помещается в точку начала координат и импульс её гасится. не знаю. как это на что-то влияет. импульса нет, значит влиять не должно никак.


 
Cash ©   (2006-06-02 09:20) [56]

Мне просто интересно увидеть ход ваших мыслей по этому вопросу.


> А вот если вы ззахотите его вращать вокруг геометрического
> - то увидите болтанку

Именно это в программе мы и наблюдаем! Там постоянно идет перемещение
центра масс, и он никогда не будет совпадать с геометрическим центром,
ну разве что только на один - 2 тика, но это малые промежутки времени.

Вся система подчиняется и вращается постоянно вокруг этого центра,
тем самым давая ему повод опять сместиться. Естественно, приложив
некоторые силы всей системе мы ее установим в каком либо устойчивом
положении, но это не будет гармонией, а только тратой энергии.


 
Думкин ©   (2006-06-02 09:21) [57]

> TButton ©   (02.06.06 09:16) [55]

По боку. К волчку приложена внешняя сила.

Я повторяю - вы посмотрите все-таки предложенное мной . выведите начальные значения - центра масс и компоненты импульса. И последите за их изменением.

Извините, но читать курс школьной физики немного утомительно.

Если гуляет не по прямой с постоянной скоростью, то:
1. Модель кривая.
2. Погрешности расчетов.

Ничего иного быть не может.


 
Думкин ©   (2006-06-02 09:23) [58]

> Cash ©   (02.06.06 09:20) [56]

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

Пока вы этого не поймете, все остальное - просто разговоры. :(


 
Cash ©   (2006-06-02 09:31) [59]

Думкин ©   (02.06.06 09:23) [58]:

> В модели вашей - нет внешних сил.

Да им просто неоткуда взяться!


> Пока вы этого не поймете, все остальное - просто разговоры.

Ну... как пожелаете, коллега.


 
Cash ©   (2006-06-02 09:44) [60]

Так, есть у кого ни будь мысли, как у этого алгоритма снизить трудоемкость
с N^2 до N*Log(N)? Это будет колоссальный прирост производительности!

Если что, модуль в [33].


 
Fosgen   (2006-06-02 10:04) [61]

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

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

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


 
cyborg ©   (2006-06-02 10:09) [62]

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

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

Советовать конечно легко :)

Кстати, могу текстуры планет дать :).


 
Думкин ©   (2006-06-02 11:07) [63]

> Fosgen   (02.06.06 10:04) [61]

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

далее, если еще захотите читать мне лекции, то пожлуйста почитайте, что я пишу, а не то что вы подумали. Очень прошу. А то даже не смешно. Уважаемый.


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

> Fosgen   (02.06.06 10:04) [61]

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


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

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


 
TButton ©   (2006-06-02 11:49) [66]


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

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

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

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

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


 
cyborg ©   (2006-06-02 12:48) [67]

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


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

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

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


 
Cash ©   (2006-06-02 13:42) [69]

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

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

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


 
cyborg ©   (2006-06-02 14:03) [70]

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


 
Cash ©   (2006-06-02 14:13) [71]

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


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


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

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


 
Cash ©   (2006-06-02 14:26) [73]

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


 
Cash ©   (2006-06-02 14:54) [74]

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


 
Cash ©   (2006-06-02 15:55) [75]

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


 
Cash ©   (2006-06-02 16:14) [76]

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


 
cyborg ©   (2006-06-02 16:45) [77]

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

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


 
Cash ©   (2006-06-02 16:59) [78]

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


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

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

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

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

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

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

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

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

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


 
cyborg ©   (2006-06-02 19:17) [80]


> В 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;


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



Страницы: 1 2 3 4 вся ветка

Форум: "Игры";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.66 MB
Время: 0.047 c
2-1184772078
San17
2007-07-18 19:21
2007.08.12
Как запретить копирования файла ?


2-1184142112
sydenis
2007-07-11 12:21
2007.08.12
передача объекта по ссылке


2-1184323485
lamerskii_vopros
2007-07-13 14:44
2007.08.12
динамическое создание компонента


15-1184110473
Bad_B
2007-07-11 03:34
2007.08.12
Нетрадиционное чтение))))


2-1184870250
bagos
2007-07-19 22:37
2007.08.12
крашенный stringgrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский