![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Account |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 212 Пол: Мужской Репутация: ![]() ![]() ![]() |
Это не совсем игра, но так написано в моем задании.
Вот что мне надо постараться создать: Моделируется движение планет в солнечной системе и прохождение комет через нее. В упрощенной модели не следует соблюдать реальные пропорции размеров планет, Солнца и расстояний между ними. В данной модели все планеты движутся вокруг Солнца в одной плоскости но с разной скоростью. У планет, Солнца и комет есть определенные размеры и масса, пропорциональная кубу линейного размера. В одном из углов "Солнечной системы" в случайные моменты времени генерируются кометы, летящие в произвольном направлении. Комета и планета престают существовать при столкновении. При столкновении кометы о Солнцем исчезает только комета. На кометы действуют силы притяжения планет и Солнца в соответствии с законом всемирного тяготения, что изменяет их траекторию. Комета вышедшая за пределы "Солнечной системы* исчезает на всегда. У комет есть хвост, направленный в сторону от Солнца, Управление моделью : при помощи клавиш: начать, закончить. Итак, делаться будет на с++, с помощью псевдографики как в этой теме. Как изначально представляю себе это. Будет базовый класс фигура, который будет иметь такие показатели. как радиус планеты, масса, сила притяжения, радиус орбиты. Каждая планета наследник от этого класса. Не понял вот этого в задании Цитата масса, пропорциональная кубу линейного размера Так же пока не представляю как в случайном какого-либо конца экрана запустить комету в каком то направлении, рисовать ей хвост(какми способом) от солнца, ну и физику притяжения с изменением траектории.Как наверстаю начальный код по планетам выложу, далее нужна будет конечно помощь. Заранее благодарю всех кто откликнется, за советы и помощь. Сообщение отредактировано: Account - 17.07.2011 17:53 |
![]() ![]() |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Забавная тема
![]() С псевдографикой действительно неясно - Account, что же ты все-таки имел в виду? Кстати, подумалось, что та борландовская графика уже вполне заслуженно может переехать в раздел "псевдо" и гордо носить эту приставку к слову "графика" ![]() Все же я полагаю, что тут предполагается не текстовая мода, а графическая - в текстовой делать такую задачу все же странно. НО! Но по-хорошему-то (вау! я не припоминаю, чтоб я раньше встречал слова с двумя дефисами, кроме сложносоставных..), по-хорошему-то, надо писать основной код БЕЗ ГРАФИКИ вообще, а визуализацию всю поместить в отдельный модуль. Тогда графика будет, какая захочешь ("брюки превращаются.. брюки превращаются.. в элегантные шорты!" (С) ![]() Что касается хвоста (вроде - мелкая деталь, но вызывает большой интерес)), то я бы делал не так, как Шека предлагает (кстати, Шека, не совсем натурально вышло: хвост не сужается на удалении от кометы, а расширяется, хоть и бледнеет). Я бы описывал хвост тоже как потомок все того же самого небесного тела. Точнее - не весь хвост, а его частицы. По физике дела они такие и есть. То есть, примерно так.. Комета испускает частицы очень малой массы, которые имеют разброс скоростей. Интенсивность этого испускания и диапазон скоростей зависят он нагрева кометы, то есть от ее расстояния до Солнца (это все делается в одну строчку). Отделившись, частица летит сама, как все остальные небесные тела. Но есть одно отличие: она испытывает на себе дополнительную (т.е. кроме гравитации) силу - давление солнечного ветра. Эта сила совсем небольшая (поэтому при расчете движения остальных тел ее можно не учитывать), и действует она по радиусу от Солнца. Частицы хвоста можно изображать точками темного цвета (на фоне черного неба). И, наконец, эти частицы должны иметь некоторое конечное время жизни (это неверно по физике, но для модели сгодится). Вот, как-то так ![]() Добавлено через 10 мин. Такая модель хвоста на первый взгляд кажется сложнее, но на самом деле она даже проще, т.к. используется уже имеющийся механизм движения. Главное, чтоб вычислительных ресурсов компа хватило.. А это большой вопрос, поскольку добавляется немалое число небесных тел (заметно превосходящее число планет). Добавлено через 13 мин. Вот небольшая иллюстрация: ![]() (взято отсюда). Хвост расширяется и немного загибается (благодаря сохранению момента импульса и увеличению расстояния до Солнца). Оба эти эффекта должны естественным образом получиться в описанной мной модели. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 20:00 |