Содержание

Как изобразить Солнечную систему с помощью модели?

Добрый день. Перед тем как перейти к упрощенным моделям, я предлагаю обсудить масштабы Солнечной системы. Так будет понятней откуда появляется надобность использовать различные схемы.

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

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

схематическая модельмодель, сохраняющая масштабы

Схематическая модель Солнечной системы

Рассмотрю упрощенную гелиоцентрическую модель.

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

Упрощена модель показывает 8 планет, разделенных на две группы:

  • планеты Земной группы:
    1. Меркурий;
    2. Венера;
    3. Земля;
    4. Марс;
  • газовые гиганты:
    1. Юпитер;
    2. Сатурн;
    3. Уран;
    4. Нептун.

Стеной между двумя группами стал пояс астероидов, находящейся между орбитами Марса и Юпитера. На данный момент он насчитывает более полумиллиона объектов различных размеров (некоторые достигает диаметра в 900 километров). Орбита Нептуна, к слову, не является границей нашей системы, за ней располагается огромный пояс Койпера, в состав которого входит ряд карликовых планет, в том числе — Плутон.

Помимо перечисленных объектов, в модель часто включают сотни естественных спутников.

Модель для самых маленьких

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

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

travelask.ru

Компьютерная модель Солнечной системы флеш с вводом дат

Земля, как и все планеты нашей Солнечной Системы, вращается вокруг Солнца. А вокруг планет вращаются их луны.

Начиная с 2006 года, когда Плутон был исключен из разряда планет и переведен в карликовые планеты, в нашей системе насчитывается 8 планет.

Расположение планет

Материалы по теме

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

Однако движущаяся модель Солнечной системы столько мелких подробностей не показывает. Из других странностей, стоит отметить то, что Уран вращается практически лежа на боку (подвижная модель Солнечной системы это тоже не показывает), его ось вращения наклонена на, примерно, 90 градусов. Связывают это с катаклизмом произошедшим очень давно и повлиявшим на наклонение его оси. Это могло быть столкновение с каким-либо крупным космическим телом, которому не посчастливилось пролетать мимо газового гиганта.

Какие существуют группы планет

Сравнительные размеры Солнца и планет

Планетарная модель Солнечной системы в динамике показывает нам 8 планет, которые делятся на 2 типа: планеты Земной группы (к ним относятся: Меркурий, Венера, Земля и Марс) и планеты газовые гиганты (Юпитер, Сатурн, Уран и Нептун).

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

Пояса из астероидов и ледяных комет

Помимо планет, наша система содержит сотни спутников (у одного Юпитера их 62 штуки), миллионы астероидов и миллиарды комет. Также между орбитами Марса и Юпитера существует пояс астероидов и интерактивная модель Солнечной системы флеш его наглядно демонстрирует.

Пояс Койпера

Объекты пояса Койпера

Пояс остался со времен образования планетной системы, а после орбиты Нептуна простирается пояс Койпера, в котором до сих пор скрываются десятки ледяных тел, некоторые из которых даже больше Плутона.

Облако Оорта

И на расстоянии 1-2 светового года располагается облако Оорта, поистине гигантская сфера, опоясывающая Солнце и представляющая собой остатки строительного материала, который был выброшен после окончания формирования планетной системы. Облако Оорта столь велико что мы не в состоянии показать вам его масштаб.

Облако Оорта

Облако Оорта регулярно поставляет нам долгопериодические кометы, которым требуется порядка 100000 лет чтобы добраться до центра системы и радовать нас своим повелением. Однако не все кометы из облака переживают встречу с Солнцем и прошлогоднее фиаско кометы ISON яркое тому подтверждение. Жаль, что данная модель системы флеш, не отображает столь мелкие объекты как кометы.

Карликовые планеты

Материалы по теме

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

Предыстория открытия

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

Во-первых, именно в это время был введен в строй орбитальный телескоп имени Эдвина Хаббла, который своим 2.4 метровым зеркалом, вынесенным за пределы земной атмосферы, открыл совершенно удивительный мир, недоступный наземным телескопам.

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

Тревожные звоночки

Карликовые планеты

Благодаря этим успехам стало возможным открывать небесные тела, довольно крупных размеров, за пределами орбиты Нептуна. Это были первые “звоночки”. Ситуация сильно обострилась в начале двухтысячных именно тогда, в 2003-2004 годах были открыты Седна и Эрида, которые по предварительным расчетам имели одинаковый с Плутоном размер, а Эрида и вовсе его превосходила.

Астрономы зашли в тупик: либо признать, что они открыли 10 планету, либо с Плутоном что-то не так. А новые открытия не заставили себя долго ждать. В 2005 году была обнаружена Макемаке, которая вместе в Кваваром, открытым еще в июне 2002 года, Орком и Варуной буквально заполонили транснептуновое пространство, которое за орбитой Плутона, до этого, считалось чуть ли не пустым.

Международный астрономический союз

Созванный в 2006 году Международный астрономический союз постановил что Плутон, Эрида, Хаумеа и примкнувшая к ним Церера относятся к карликовым планетам. Объекты которые находились в орбитальном резонансе с Нептуном в соотношении 2:3 стали называться плутино, а все остальные объекты пояса Койпера – кьюбивано. С тех пор у нас с вами осталось всего 8 планет.

История становления современных астрономических взглядов

Схематическое изображение Солнечной системы и космических аппаратов покидающих ее пределы

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

Модель Солнечной системы по Копернику не всем пришлась по вкусу и многие его последователи, например монах Джордано Бруно, были сожжены. Но модель по Птолемею не могла полностью объяснить наблюдаемых небесных явлений и зерна сомнений, в умах людей, были уже посажены. К примеру геоцентрическая модель не была в состоянии полностью объяснить неравномерность движения небесных тел, например попятные движения планет.

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

Движение планет теперь на экране монитора

Погружаясь в астрономию как науку, человеку неподготовленному бывает трудно представить себе все аспекты космического мироустройства. Для этого оптимально подходит моделирование. Модель Солнечной системы онлайн появилась благодаря развитию компьютерной техники.

Материалы по теме

Не осталась без внимания и наша планетарная система. Специалистами в области графики была разработана компьютерная модель Солнечной системы с вводом дат, которая доступна каждому. Она представляет собой интерактивное приложение, отображающее движение планет вокруг Солнца. Кроме того, она показывает, как вокруг планет вращаются наиболее крупные спутники. Также мы можем увидеть пояс астероидов между Марсом и Юпитером и зодиакальные созвездия.

Как пользоваться схемой

Движение планет и их спутников, соответствуют их реальному суточному и годичному циклу. Также модель учитывает относительные угловые скорости и начальные условия движения космических объектов друг относительно друга. Поэтому в каждый момент времени их относительное положение соответствует реальному.

Интерактивная модель Солнечной системы позволяет ориентироваться во времени с помощью календаря, который изображен в виде внешней окружности. Стрелка на ней указывает на текущую дату. Скорость течения времени можно изменять, перемещая ползунок в левом верхнем углу. Также есть возможность включить отображение фаз Луны, при чем в левом нижнем углу отобразится динамика лунных фаз.

Некоторые допущения

Сравнительные размеры нашей Солнечной системы

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

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

Другие модели

Еще одна flash модель Солнечной системы показывает нам не только сведения о планетах, их фотографии и расстояние от Солнца, но и имеет функции приближения и удаления небесных объектов. Эта модель сверху отличается от этой тем, что в ней нельзя вводить произвольные даты и переключать гео- или гелиоцентрический вид. Данная разновидность хорошо подходит в качестве альтернативы первой, и поможет оценить масштабы нашей планетной системы в полном объеме.

Упрощенная схема для детей

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

B напоследок хочу предложить посмотреть видео о том, как выглядит Земля с Международной космической станции


comments powered by HyperComments

Понравилась запись? Расскажи о ней друзьям!

Просмотров записи: 33070

spacegid.com

Мир глазами астронома. Земля и человечество

  • ГДЗ
  • 1 Класс
    • Математика
    • Английский язык
    • Русский язык
    • Немецкий язык
    • Информатика
    • Природоведение
    • Основы здоровья
    • Музыка
    • Литература
    • Окружающий мир
    • Человек и мир
  • 2 Класс
    • Математика
    • Английский язык
    • Русский язык
    • Немецкий язык
    • Белорусский язык
    • Украинский язык
    • Информатика
    • Природоведение
    • Основы здоровья
    • Музыка
    • Литература
    • Окружающий мир
    • Человек и мир
    • Технология
  • 3 Класс
    • Математика
    • Английский язык
    • Русский язык
    • Немецкий язык
    • Белорусский язык
    • Украинский язык
    • Информатика
    • Музыка
    • Литература
    • Окружающий мир
    • Человек и мир
    • Испанский язык
  • 4 Класс
    • Математика
    • Английский язык
    • Русский язык
    • Немецкий язык
    • Белорусский язык
    • Украинский язык
    • Информатика
    • Основы здоровья

resheba.me

Макет Солнечной системы, планет и спутников на HTML5

Наглядная модель Солнечной системы на css и html

Наглядная модель Солнечной системы

Анимация работает только в браузерах поддерживающих стандарт -webkit (Google Chrome, Opera или Safari).

  • Солнце

    Солнце является звездой, которая представляет собой горячий шар из раскаленных газов в центре нашей Солнечной системы. Его влияние простирается далеко за пределы орбит Нептуна и Плутона. Без Солнца и его интенсивной энергии и тепла, не было бы жизни на Земле. Существуют миллиарды звезд, как наше Солнце, разбросанных по галактике Млечный Путь.

  • Меркурий

    Выжженный Солнцем Меркурий лишь немного больше, чем спутник Земли Луна. Подобно Луне, Меркурий практически лишен атмосферы и не может сгладить следы воздействия от падения метеоритов, поэтому он как и Луна покрыт кратерами. Дневная сторона Меркурия очень сильно нагревается на Солнце, а на ночной стороне температура падает на сотни градусов ниже нуля. В кратерах Меркурия, которые расположены на полюсах, существует лед. Меркурий совершает один оборот вокруг Солнца за 88 дней.

  • Венера

    Венера это мир чудовищной жары (еще больше чем на Меркурии) и вулканической активности. Аналогичная по структуре и размеру Земле, Венера покрыта толстой и токсичной атмосферой, которая создает сильный парниковый эффект. Этот выжженной мир достаточно горячий, чтобы расплавить свинец. Радарные снимки сквозь могучую атмосферу выявили вулканы и деформированные горы. Венера вращается в противоположном направлении, от вращения большинства планет.

  • Земля

    Земля — планета океан. Наш дом, с его обилием воды и жизни делает его уникальным в нашей Солнечной системе. Другие планеты, в том числе несколько лун, также имеют залежи льда, атмосферу, времена года и даже погоду, но только на Земле все эти компоненты собрались вместе таким образом, что стало возможным существование жизнь.

  • Марс

    Хотя детали поверхности Марса трудно увидеть с Земли, наблюдения в телескоп показывают, что на Марсе существуют сезоны и белые пятна на полюсах. В течение многих десятилетий, люди полагали, что яркие и темные области на Марсе это пятна растительности и что Марс может быть подходящим местом для жизни, и что вода существует в полярных шапках. Когда космический аппарат Маринер-4, прилетел у Марсу в 1965 году, многие из ученых были потрясены, увидев фотографии мрачной планеты покрытой кратерами. Марс оказался мертвой планетой. Более поздние миссии, однако, показали, что Марс хранит множество тайн, которые еще предстоит решить.

  • Юпитер

    Юпитер — самая массивная планета в нашей Солнечной системе, имеет четыре больших спутника и множество небольших лун. Юпитер образует своего рода миниатюрную Солнечную систему. Чтобы превратится в полноценную звезду, Юпитеру нужно было стать в 80 раз массивнее.

  • Сатурн

    Сатурн — самая дальняя из пяти планет, которые были известны до изобретения телескопа. Подобно Юпитеру, Сатурн состоит в основном из водорода и гелия. Его объем в 755 раз больше, чем у Земли. Ветры в его атмосфере достигают скорости 500 метров в секунду. Эти быстрые ветра в сочетании с теплом, поднимающимся из недр планеты, вызывают появление желтых и золотистых полос, которые мы видим в атмосфере.

  • Уран

    Первая планета найденная с помощью телескопа, Уран был открыт в 1781 году астрономом Уильямом Гершелем. Седьмая планета от Солнца настолько далека, что один оборот вокруг Солнца занимает 84 года.

  • Нептун

    Почти в 4,5 млрд. километрах от Солнца вращается далекий Нептун. На один оборот вокруг Солнца у него уходит 165 лет. Он невидим невооруженным глазом из-за его огромного расстояния от Земли. Интересно, что его необычная эллиптическая орбита, пересекается с орбитой карликовой планеты Плутона из-за чего Плутон находится внутри орбиты Нептуна порядка 20 лет из 248 за которые совершает один оборот вокруг Солнца.

  • Плутон

    Крошечный, холодный и невероятно далекий Плутон был открыт в 1930 году и долго считался девятой планетой. Но после открытий подобных Плутону миров, которые находились еще дальше, Плутон был переведен в категорию карликовых планет в 2006 году.

Гелиоцентрическая модель Солнечной системы — это модель, в которой находится Солнце в ее центре, а Земля и остальные планеты вращаются вокруг в результате воздействия его гравитационного поля.

Солнечная система – это система, в состав которой входит Солнце, 8 планет и их спутники, астероиды, кометы, метеоры и пространства. Около 99,9% всей массы приходится на Солнце, и только 0,1% — другие небесные тела. Планеты с астероидами движутся вокруг Солнца по эллиптичным орбитам. Наука, изучающая эти небесные тела, — астрономия. Данная модель наглядно показывает планетные орбиты и порядок их размещения. Сегодня существует немало разновидностей моделей.

Разновидности моделей

Компьютерная модель Солнечной системы с расстояниями — наиболее точная среди всех моделей. Она максимально правдоподобно демонстрирует соотношение расстояний между планетами и Солнцем. С помощью компьютерной анимации можно точно воспроизвести цвет, размеры небесных объектов, характер их движения. Подобная наглядная модель сегодня является чрезвычайно популярной, потому что ее легко можно найти в Интернет-ресурсах. Создается она с помощью специального программного обеспечения и определенных знаний на основе математического моделирования, с помощью которого все законы движения планет сводятся до математических уравнений. Эта модель — основа практически для всех остальных моделей. С ее помощью можно решать сложные задачи, прогнозировать и проектировать новые их решения.

Материалы по теме

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

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

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

Очень распространена информационная модель Солнечной системы – это словесное описание структуры с использованием схем, рисунков и т. д. Именно она наиболее часто встречается в учебниках по астрономии. В такой модели объясняется ее строение, описываются характеристики небесных тел, характер их движения.

Строение Cолнечной системы

Солнечная система

Вокруг Солнца в непрерывном движении находятся 8 планет (раньше их было 9, но сейчас ученые относят Плутон к карликовым планетам) по эллиптичным орбитам. Планеты размещаются в таком порядке от Солнца: Меркурий, Венера, Земля, Марс, Юпитер, Сатурн, Уран и Нептун. Все они делятся на две группы: планеты земной группы (Меркурий, Венера, Земля, Марс) и планеты-гиганты (Юпитер, Сатурн, Уран и Нептун). Планеты земной группы имеют твердую поверхность, мало спутников (всего 3) и они сравнительно небольшие. Планеты-гиганты не имеют четкой поверхности, отличаются большими размерами и большим количеством спутников (сейчас открыто примерно 160).

Между Марсом и Юпитером находится пояс астероидов, который состоит из более, чем 500 000 астероидов. Самые большие из них имеют названия: Церера (диаметр 960 км), Паллада (диаметр 608 км), Веста (диаметр 555 км) и др. За орбитой Нептуна находится пояс карликовых планет – пояс Койпера, в состав которого входит и Плутон. Модель показывает размещение пояса астероидов и пояса Койпера.

Также в Солнечной системе существуют еще один вид небесных тел — кометы, которые находятся под пристальным вниманием благодаря тому, что имеют хвост. Обычно кометы не включают в модель. Плоская, светящаяся комета состоит из ядра, комы и хвоста. Ядро, с которого образуется хвост, преимущественно состоит изо льда. Хвост у кометы образовывается с ее приближением к Солнцу благодаря действию Солнечного ветра. Направлен он в сторону, противоположную от Солнца. Самая известная комета – комета Галлея, которую наблюдают уже несколько тысячелетий с периодом 76 лет.

Строение и характеристики Солнца

Строение Солнца

Интерактивная гелиоцентрическая модель Солнечной системы представляет собой модель, в центре которой находится Солнце. Рассмотрим основные характеристики Солнца.

Солнце – одна из миллиардов звезд нашей Галактики. Солнце относится к желтым карликам. Его радиус в 109 раз больше радиуса Земли, а масса – в 330 000 раз. Температура Солнца на поверхности равна 6000 К. Химический состав нашей звезды примерно такой же, как и других звезд: 71% — водород, 27% — гелий.

Против часовой стрелки происходит вращение планет.

Солнце условно разделяют на такие области с разным физическим состояниям вещества и распределением энергии: ядро, радиоактивная зона (зона лучистого переноса), конвективная зона и атмосфера. Ядро – центральная область Солнца, где происходят термоядерные реакции. Зона радиации – зона, где энергия переносится путем излучения отдельных квантов. В конвективной зоне энергия переносится путем перемешивания горячих масс с холодными. Атмосфера состоит из трех оболочек: фотосферы, хромосферы и короны. От фотосферы мы получаем основной поток излучения.

Макет Солнечной системы

Приложение выше – простой макет и в нем не соблюдаются пропорции размеров и расстояний, количество планет и спутников. В центре — находится Солнце, вокруг него по круговым орбитам движется 9 спутников. Эти небесные тела расположены в случайном порядке. Период вращения первого 40 секунд, второго – на 20 секунд больше, третьего – еще на 20 секунд больше и т. д. Период вращения последнего спутника равен 200 секунд, или 3 минуты 20 секунд.

При наведении курсора на объект он подсвечивается вместе со своей орбитой и при этом отображается его латинское название. Если кликнуть на объект, он останавливается, при повторном клике он продолжает свое движение. При перезагрузке приложения меняются спутники и порядок их расположения.

Как уже говорилось, эта модель не отображает реальных пропорций между планетами и спутниками. Рассмотрим характеристики некоторых спутников.

Спутники и их характеристики

Луна

Луна (Moon) является спутником Земли – планеты, на которой мы живем. Радиус Луны в 4 раза меньше земного радиуса, масса – в 80 раз меньше земной. На Луне нет атмосферы, поэтому температура здесь очень колеблется: днем +130°С, ночью -160°С.

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

Спутники Марса

Марс имеет два спутника: Фобос и Деймос. Фобос (Phobos —страх) и Деймос (Deimos – ужас) названы на честь спутников бога войны Марса. Они были открыты А. Холлом в 1877 году.

Диаметр Фобоса 28 тыс. м., а Деймоса – 16 тыс. м. Они имеют твердую поверхность, которая покрыта слоем черной пыли и множеством кратеров. На Фобосе есть кратер диаметром 9 тыс. м. – кратер Стикни. Фобос находится очень близко к Марсу (среднее расстояние 6000 тыс. м., что в 40 раз меньше, чем расстояние от Луны до Земли). Он вращается вокруг Марса в 3 раза быстрее, чем сама планета вокруг своей оси. Существует теория, что приливное действие планеты может привести к падению на нее Фобоса.

Спутники Юпитера

Галилеевы спутники

Как выглядели бы спутники Юпитера в небе Земли

Всего у Юпитера насчитывается 63 спутника, из них выделяют группу галилеевых – Европа, Ио, Ганимед и Каллисто. Они были названы галилеевыми, так как их открыл Галилео Галилей в 1610 году с помощью первой своей подзорной трубы.

Самым близким к Юпитеру является спутник Ио (Io), который по размерам похож на Луну. Он имеет самую большую геологическую активность среди всех тел системы – на нем зарегистрировано более 400 действующих вулканов, из жерл которых постоянно извергается магма и газы. Поэтому Ио имеет красивую ярко-желтую окраску, которую предают ему сера и расплавленные силикатные породы. Частые извержения вулканов возникают под действием гравитационного поля Юпитера и других спутников.

Наша модель показывает и другой галилеевый спутник Европу (Europa) – второй от Юпитера спутник. Радиус Европы немного меньше радиуса Луны, а масса самая большая среди всех спутников. Это объясняется высокой плотностью, так как она состоит в основном из силикатных пород. Поверхность Европы полностью покрыта слоем льда. Возможно, под этим слоем существует океан из жидкой воды, на дне которого есть все условия для жизни.

Каллисто (Callisto) – второй по размеру галилеевый спутник. По порядку размещения от Юпитера он самый дальний среди галилеевых спутников. Диаметр Каллисто почти равен диаметру планеты Меркурий, а масса – 1/3 массы Меркурия. Его поверхность покрыта кратерами и многокольцевыми структурами. По количеству кратеров Каллисто опережает Луну и Меркурий.

Другие спутники Юпитера

Фива или Тебе (Thebe) – четвертый от Юпитера спутник, который был открыт С. Синнотом в 1979 году. Он имеет неправильную форму и практически круговую орбиту. Диаметр Фивы 100-110 км, она всегда обращена к Юпитеру одной стороной. На поверхности Фивы имеются большие кратеры.

Материалы по теме

В 2000 г было открыто еще 11 новых спутников Юпитера, среди которых Халдене (Chaldene). Современная наука на этом не останавливается. Халдене относится к группе спутников Карме, его размер всего 3,8 тыс. м.

Группа Гималии

Также стоит упомянуть спутники Юпитера, которые относятся к группе Гималии. Эта группа включает четыре спутника: Гималия (самый крупный спутник группы), Лиситея, Леда, Элара.

Лиситея (Lysithea) —одиннадцатый спутник по удаленности от планеты Юпитер. Лиситея была открыта Никольсоном в 1938 году. Ее радиус около 18 км. Названа на честь Лизитеи — дочери Океана.

Леда (Leda) – самый маленький спутник Юпитера, ее радиус всего 8 км. Она была открыта в 1974 г Ч. Коуэлом. Леда названа на честь супруги спартанского царя Тиндарея.

Другие спутники

Спутник Нептуна Тритон, снимок Вояджера-2

Эта модель содержит удивительный объект — Дактиль (Dactyl), который является спутником астероида Ида. Это самый маленький спутник – его радиус всего 0,7 км, что в 20 раз меньше самого астероида. Поверхность Дактиля имеет очень много кратеров, как и сама Ида.

Тритон (Triton) – самый крупный спутник Нептуна. Его радиус 1350 км, что немного меньше радиуса Луны. Это единственный спутник, который движется вокруг планеты в обратном направлении по сравнению с вращением Нептуна вокруг своей оси. Возможно, Тритон когда был поглощен гравитационным полем Нептуна и теперь по спирали приближается к нему. Тритон является самым холодным объектом – температура на

spacegid.com

Модель Солнечной системы | Основы программирования

Задача: отобразить солнечную систему;
Использованный API: GTK/GDK;
Среда разработки: Visual Studio 2008;

В этой картинке 9 анимированых объектов, 10 статический и 5 статических полей с информацией:
1. Планеты
2. Солнце
3. Орбиты планет
4. Поля с информацией о планетах

Изменение координат планет происходит при помощи функций sin и cos, делая круговые движения. Координаты планет системы вычисляются по формулам:

x[i]=a[i]*cos(t[i])+WIDTH/2;
y[i]=b[i]*sin(t[i])+HEIGHT/2;

где i — номер планеты по создаваемой базе данных
t — параметр, касательно которого изменяются координаты
WIDTH, HEIGHT — стандартные, минимальные размеры экрана
a,b — значение малой и большой полуосей.

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

//Необходимые строки для подключения gtk в VS
#pragma comment(lib,"gthread-2.0.lib")
#pragma comment(lib,"gtk-win32-2.0.lib")
#pragma comment(lib,"glib-2.0.lib")
#pragma comment(lib,"gobject-2.0.lib")
#pragma comment(lib,"gdk-win32-2.0.lib")
#pragma comment(lib,"gdk_pixbuf-2.0.lib")
#pragma comment(lib,"pango-1.0.lib")
#pragma comment(lib,"pangowin32-1.0.lib")
#pragma comment(lib,"intl.lib")
 
#include <gtk/gtk.h>
#include <math.h>//для вычисления синусов и косинусов
#include <stdlib.h>
//Размеры окна
#define WIDTH 1000
#define HEIGHT 700
#define M_PI 3.14
#define OTSTUP 10
#define lim_planet 9
#define lim_name 15
#define interval 25//Интервал вызова ф-ии рисования солнечной системы
#define speed_change_t 0.001 //На сколько изменяется параметр t
 
char name[lim_planet][lim_name],change_num[50],type_name[lim_planet][2*lim_name],ch_num[lim_planet];
float e[lim_planet],r_e[lim_planet],t[9],k,v[lim_planet],r_v[lim_planet];
int d[lim_planet],r_d[lim_planet],a[lim_planet],r_a[lim_planet],b[lim_planet],x[lim_planet],y[lim_planet],i,me=77777,xs=5,ys=20;
int timer[lim_planet],xt[lim_planet],yt[lim_planet],num_change_t[lim_planet];
 
FILE *info=fopen("other_information.txt","rt");//файл с используемыми характеристиками планет
FILE *r_info=fopen("information.txt","rt");//файл с реальными характеристиками планет
 
GdkColor fclrs,bclr,clr;
GdkGC *gc;
 
gboolean destroy(GtkWidget *widget);
gint delete_event(GtkWidget *widget);
 
gboolean information(GtkWidget *widget);//ф-ия создавания полей с информацией о планетах
gboolean run_planet(GtkWidget *widget);//ф-ия рисования слнечной системы
 
 
 
 
int main(int arge, char **argv)
{
	xt[0]=0;yt[0]=240;
	for(i=1;i<lim_planet;i++) {yt[i]=yt[i-1]+33;xt[i]=0;}
	//Создание базы с информацией
	for(i=0;i<5;i++)
	{fscanf(r_info,"%s",type_name[i]);}
	for(i=0;i<lim_planet;i++)
	{
		fscanf(r_info,"%f",&r_e[i]);
		fscanf(r_info,"%d",&r_a[i]);
		fscanf(r_info,"%d",&r_d[i]);
		fscanf(r_info,"%f",&r_v[i]);
	}fclose(r_info);
	for(i=0;i<lim_planet;i++)
	{
		fscanf(info,"%s",name[i]);
		fscanf(info,"%f",&e[i]);
		fscanf(info,"%d",&a[i]);
		fscanf(info,"%d",&d[i]);
		fscanf(info,"%f",&v[i]);
 
	}fclose(info);
 
	//Увеличение эксцентриситета планет для зрелещности изображения
	for(i=0;i<lim_planet;i++) e[i]*=1.2;
 
	//Вычисление максимального значения оси относительно экрана
	b[8]=HEIGHT/2-OTSTUP;
 
	//k=b(плутона максимальное компьютерное)/b(плутона реальное)
	k=b[8]/(a[8]*sqrt(1-(e[8]*e[8])));
 
	//Уменьшение значений полуосей и диаметров планет согласно экрана и масштабирования
	for(i=0;i<lim_planet;i++) 
	{	
		a[i]*=k;
		b[i]=a[i]*sqrt(1-e[i]*e[i]);
		d[i]/=200;
	}
 
 
 
	gtk_init(&arge,&argv);
	GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_widget_set_size_request(window,WIDTH,HEIGHT);
	g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(destroy),NULL);
	g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(delete_event),NULL);
	gdk_color_parse("black",&clr);
	gtk_widget_modify_bg(window,GTK_STATE_NORMAL,&clr);
	g_signal_connect(G_OBJECT(window),"expose_event",G_CALLBACK(run_planet),NULL);
 
	g_timeout_add(interval,(GSourceFunc)run_planet,(gpointer)window);
	g_timeout_add(interval,(GSourceFunc)information,(gpointer)window);
 
	gtk_widget_show_all(window);
	gtk_main();
 
	return 0;
}
 
gboolean destroy(GtkWidget *widget)
{
	return FALSE;
}
 
gint delete_event(GtkWidget *widget)
{
	gtk_main_quit();
	return 1;
}
 
 
gboolean information(GtkWidget *widget)
{
	gc = widget->style->fg_gc[GTK_WIDGET_STATE(widget)];
	GdkFont *font=gdk_fontset_load("Lucida Console");
 
	for(i=0;i<lim_planet;i++)
	{
		gdk_gc_set_rgb_fg_color(gc,&clr);
		sprintf(ch_num,"%d",timer[i]);
		gdk_draw_string(widget->window,font,gc,xt[i],yt[i],ch_num);
		//проверка на изменение времени на планете, если число изменений(вычесленных в ручную) совпадает с данным числом, то год прошёл 
		switch(i)
		{
		case 0:
			{
				if(num_change_t[0]==131) 
				{
					num_change_t[0]=0; 
					timer[0]++;
				}break;
			}
		case 1:
			{
				if(num_change_t[1]==179) 
				{
					num_change_t[1]=0; 
					timer[1]++;
				}break;
			}
		case 2:
			{
				if(num_change_t[2]==210) 
				{
					num_change_t[2]=0; 
					timer[2]++;
				}break;
			}
		case 3:
			{
				if(num_change_t[3]==261) 
				{
					num_change_t[3]=0; 
					timer[3]++;
				}break;
			}
		case 4:
			{
				if(num_change_t[4]==479) 
				{
					num_change_t[4]=0; 
					timer[4]++;
				}break;
			}
		case 5:
			{
				if(num_change_t[5]==654) 
				{
					num_change_t[5]=0; 
					timer[5]++;
				}break;
			}
		case 6:
			{
				if(num_change_t[6]==924) 
				{
					num_change_t[6]=0; 
					timer[6]++;
				}break;
			}
		case 7:
			{
				if(num_change_t[7]==1162) 
				{
					num_change_t[7]=0; 
					timer[7]++;
				}break;
			}
		case 8:
			{
				if(num_change_t[8]==1281) 
				{
					num_change_t[8]=0; 
					timer[8]++;
				}break;
			}
		}
		//Создание поля с годами на планетах
		fclrs.pixel = 0;
		fclrs.red = 0;
		fclrs.green = 0;
		fclrs.blue = 0xFFFF;
		gdk_gc_set_rgb_fg_color(gc,&fclrs);
		gdk_draw_string(widget->window,font,gc,xt[i],yt[i]-20,"Years ");
		gdk_draw_string(widget->window,font,gc,xt[i]+70,yt[i]-20,name[i]);
		sprintf(ch_num,"%d",timer[i]);
		fclrs.pixel = 0;
		fclrs.red = 0xFFFF;
		fclrs.green = 0;
		fclrs.blue = 0;
		gdk_gc_set_rgb_fg_color(gc,&fclrs);
		gdk_draw_string(widget->window,font,gc,xt[i],yt[i],ch_num);
	}
	//создание лэйбочки с информацией о хозяине проекта
	fclrs.pixel = 0;
	fclrs.red = 0;
	fclrs.green = 0xFFFF;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_line(widget->window,gc,862,255,997,255);
	gdk_draw_line(widget->window,gc,862,450,997,450);
	gdk_draw_line(widget->window,gc,862,255,862,450);
	gdk_draw_line(widget->window,gc,997,255,997,450);
	fclrs.pixel = 0;fclrs.red = 0xFA00;fclrs.green = 0xFD00;fclrs.blue = 0;gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_string(widget->window,font,gc,865,272,"The project");
	gdk_draw_string(widget->window,font,gc,865,292,"of the second");
	gdk_draw_string(widget->window,font,gc,865,312,"year student");
	gdk_draw_string(widget->window,font,gc,865,332,"Groups 201-p");
	gdk_draw_string(widget->window,font,gc,865,352,"Specialities");
	gdk_draw_string(widget->window,font,gc,865,372,"the applied");
	gdk_draw_string(widget->window,font,gc,865,392,"mathematics");
	gdk_draw_string(widget->window,font,gc,865,412,"by Kiseris");
	gdk_draw_string(widget->window,font,gc,865,432,"   Arthur");
//Вывод первого поля, к-ое содержит информацию о эксцентриситете планет
	fclrs.pixel = 0;
	fclrs.red = 0xFFFF;
	fclrs.green = 0;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	xs=5;ys=20;
	gdk_draw_string(widget->window,font,gc,xs,ys,type_name[0]);
	xs+=80;
	gdk_draw_string(widget->window,font,gc,xs,ys,type_name[1]);
	xs=5;ys+=20;
	fclrs.pixel = 0;
	fclrs.red = 0;
	fclrs.green = 0xFFFF;
	fclrs.blue = 0x00FF;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	for(i=0,xs=5;i<9;i++,xs=5)
	{
		gdk_draw_string(widget->window,font,gc,xs,ys,name[i]);
		xs+=80;
		sprintf(change_num, "%3.3f",r_e[i]);
		gdk_draw_string(widget->window,font,gc,xs,ys,change_num);
		ys+=20;
	}
//Вывод второго поля, к-ое содержит информацию о среднем расстоянии планет от солнца
	fclrs.pixel = 0;
	fclrs.red = 0xFFFF;
	fclrs.green = 0;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	xs=5;ys=520;
	gdk_draw_string(widget->window,font,gc,xs,ys,type_name[0]);
	xs+=80;
	gdk_draw_string(widget->window,font,gc,xs,ys,type_name[2]);
	xs=5;ys+=20;
	fclrs.pixel = 0;
	fclrs.red = 0;
	fclrs.green = 0xFFFF;
	fclrs.blue = 0x00FF;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	for(i=0,xs=5;i<9;i++,xs=5)
	{
		gdk_draw_string(widget->window,font,gc,xs,ys,name[i]);
		xs+=80;
		sprintf(change_num, "%d",r_a[i]);
		gdk_draw_string(widget->window,font,gc,xs,ys,change_num);
		gdk_draw_string(widget->window,font,gc,xs+45,ys,"mln.km");
		ys+=20;
	}
//Вывод третего поля, к-ое содержит информацию о диаметре планет
	fclrs.pixel = 0;
	fclrs.red = 0xFFFF;
	fclrs.green = 0;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	xs=830;ys=20;
	gdk_draw_string(widget->window,font,gc,xs,ys,type_name[0]);
	xs+=80;
	gdk_draw_string(widget->window,font,gc,xs,ys,type_name[3]);
	xs=830;ys+=20;
	fclrs.pixel = 0;
	fclrs.red = 0;
	fclrs.green = 0xFFFF;
	fclrs.blue = 0x00FF;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	for(i=0,xs=830;i<9;i++,xs=830)
	{
		gdk_draw_string(widget->window,font,gc,xs,ys,name[i]);
		xs+=80;
		sprintf(change_num, "%d",r_d[i]);
		gdk_draw_string(widget->window,font,gc,xs,ys,change_num);
		gdk_draw_string(widget->window,font,gc,xs+40,ys,"   km");
		ys+=20;
	}
//Вывод четвёртого поля, к-ое содержит информацию о диаметре планет
	fclrs.pixel = 0;
	fclrs.red = 0xFFFF;
	fclrs.green = 0;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	xs=830;ys=520;
	gdk_draw_string(widget->window,font,gc,xs,ys,type_name[0]);
	xs+=80;
	gdk_draw_string(widget->window,font,gc,xs,ys,type_name[4]);
	xs=830;ys+=20;
	fclrs.pixel = 0;
	fclrs.red = 0;
	fclrs.green = 0xFFFF;
	fclrs.blue = 0x00FF;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	for(i=0,xs=830;i<9;i++,xs=830)
	{
		gdk_draw_string(widget->window,font,gc,xs,ys,name[i]);
		xs+=80;
		sprintf(change_num, "%3.1f",r_v[i]);
		gdk_draw_string(widget->window,font,gc,xs,ys,change_num);
		gdk_draw_string(widget->window,font,gc,xs+40,ys," km/s");
		ys+=20;
	}
 
	return TRUE;
}
 
gboolean run_planet(GtkWidget *widget)
{
	gc = widget->style->fg_gc[GTK_WIDGET_STATE(widget)];
	GdkFont *font=gdk_fontset_load("Lucida Console");
 
//Стерание предыдущих планет и названия используя цвет фона(чёрный)
	fclrs.pixel = 0;
	fclrs.red = 0;
	fclrs.green = 0;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
 
	gdk_draw_arc(widget->window,gc,TRUE,x[8]-d[8],y[8]-d[8],2*d[8],2*d[8],0,360*64);
	gdk_draw_string(widget->window,font,gc,x[8]-25,y[8]-10,name[8]);
	gdk_draw_arc(widget->window,gc,TRUE,x[7]-(d[7]/2),y[7]-(d[7]/2),d[7],d[7],0,360*64);	
	gdk_draw_string(widget->window,font,gc,x[7]-30,y[7]-16,name[7]);
	gdk_draw_arc(widget->window,gc,TRUE,x[6]-(d[6]/2),y[6]-(d[6]/2),d[6],d[6],0,360*64);	
	gdk_draw_string(widget->window,font,gc,x[6]-20,y[6]-13,name[6]);
	gdk_draw_arc(widget->window,gc,TRUE,x[5]-(d[5]/2),y[5]-(d[5]/2),d[5],d[5],0,360*64);
	gdk_draw_rectangle(widget->window,gc,TRUE,x[5]-(d[5]/2)-5,y[5]-3,d[5]+8,3);
	gdk_draw_string(widget->window,font,gc,x[5]-30,y[5]-20,name[5]);
	gdk_draw_arc(widget->window,gc,TRUE,x[4]-(d[4]/2),y[4]-(d[4]/2),d[4],d[4],0,360*64);	
	gdk_draw_string(widget->window,font,gc,x[4]-30,y[4]-20,name[4]);
	gdk_draw_arc(widget->window,gc,TRUE,x[3]-(d[3]/2),y[3]-(d[3]/2),d[3],d[3],0,360*64);
	gdk_draw_string(widget->window,font,gc,x[3]-20,y[3]-13,name[3]);
	gdk_draw_arc(widget->window,gc,TRUE,x[2]-(d[2]/2),y[2]-(d[2]/2),d[2],d[2],0,360*64);	
	gdk_draw_string(widget->window,font,gc,x[2]-20,y[2]-13,name[2]);
	gdk_draw_arc(widget->window,gc,TRUE,x[1]-(d[1]/2),y[1]-(d[1]/2),d[1],d[1],0,360*64);	
	gdk_draw_string(widget->window,font,gc,x[1]-30,y[1]-20,name[1]);
	gdk_draw_arc(widget->window,gc,TRUE,x[0]-(d[0]/2),y[0]-(d[0]/2),d[0],d[0],0,360*64);	
	gdk_draw_string(widget->window,font,gc,x[0]-30,y[0]-20,name[0]);
 
//Изменение координат 
	for(i=0;i<9;i++)
	{
		x[i]=a[i]*cos(t[i])+WIDTH/2;
		y[i]=b[i]*sin(t[i])+HEIGHT/2;
	}
 
//Отображение граней для осей СС
	fclrs.pixel = 0;
	fclrs.red = 0;
	fclrs.green = 0xFFFF;
	fclrs.blue = 0x00FF;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
 
	for(i=0;i<9;i++)
	{
		gdk_draw_arc(widget->window,gc,FALSE,WIDTH/2-a[i],HEIGHT/2-b[i],2*a[i],2*b[i],0,360*64);
	}
 
//Рисование новых рисунков с новыми координатами 
	fclrs.pixel = 0;
	fclrs.red = 0;
	fclrs.green = 0;
	fclrs.blue = 0xFFFF;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,x[8]-(d[8]/2),y[8]-(d[8]/2),d[8],d[8],0,360*64);
 
	fclrs.pixel = 0;
	fclrs.red = 0x0B00;
	fclrs.green = 0x2700;
	fclrs.blue = 0xB500;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,x[7]-(d[7]/2),y[7]-(d[7]/2),d[7],d[7],0,360*64);
 
	fclrs.pixel = 0;
	fclrs.red = 0x7900;
	fclrs.green = 0x8C00;
	fclrs.blue = 0xFF00;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,x[6]-(d[6]/2),y[6]-(d[6]/2),d[6],d[6],0,360*64);
 
	fclrs.pixel = 0;
	fclrs.red = 0xFC00;
	fclrs.green = 0xE400;
	fclrs.blue = 0xAC00;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,x[5]-(d[5]/2),y[5]-(d[5]/2),d[5],d[5],0,360*64);
	fclrs.pixel = 0;
	fclrs.red = 0x8F00;
	fclrs.green = 0x6500;
	fclrs.blue = 0x0200;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_rectangle(widget->window,gc,TRUE,x[5]-(d[5]/2)-5,y[5]-3,d[5]+8,3);
 
	fclrs.pixel = 0;
	fclrs.red = 0x9700;
	fclrs.green = 0x8000;
	fclrs.blue = 0x4900;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,x[4]-(d[4]/2),y[4]-(d[4]/2),d[4],d[4],0,360*64);
 
 
	fclrs.pixel = 0;
	fclrs.red = 0xDDDD;
	fclrs.green = 0;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,x[3]-(d[3]/2),y[3]-(d[3]/2),d[3],d[3],0,360*64);
 
	fclrs.pixel = 0;
	fclrs.red = 0;
	fclrs.green = 0xFFFF;
	fclrs.blue = 0x00DD;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,x[2]-(d[2]/2),y[2]-(d[2]/2),d[2],d[2],0,360*64);
 
	fclrs.pixel = 0;
	fclrs.red = 0xFFFF;
	fclrs.green = 0xCCCC;
	fclrs.blue = 0xCCCC;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,x[1]-(d[1]/2),y[1]-(d[1]/2),d[1],d[1],0,360*64);
 
	fclrs.pixel = 0;
	fclrs.red = 0xFFFF;
	fclrs.green = 0xA5AA;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,x[0]-(d[0]/2),y[0]-(d[0]/2),d[0],d[0],0,360*64);
 
//Рисование солнца
	fclrs.pixel = 0;
	fclrs.red = 0xFA00;
	fclrs.green = 0xFD00;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
	gdk_draw_arc(widget->window,gc,TRUE,e[8]*a[8]+a[8]+20,HEIGHT/2-20,40,40,0,360*64);
 
//Создания надписей
	fclrs.pixel = 0;
	fclrs.red = 0xFFFF;
	fclrs.green = 0;
	fclrs.blue = 0;
	gdk_gc_set_rgb_fg_color(gc,&fclrs);
 
	gdk_draw_string(widget->window,font,gc,x[8]-25,y[8]-10,name[8]);
	gdk_draw_string(widget->window,font,gc,x[7]-30,y[7]-16,name[7]);
	gdk_draw_string(widget->window,font,gc,x[6]-20,y[6]-13,name[6]);
	gdk_draw_string(widget->window,font,gc,x[5]-30,y[5]-20,name[5]);	
	gdk_draw_string(widget->window,font,gc,x[4]-30,y[4]-20,name[4]);
	gdk_draw_string(widget->window,font,gc,x[3]-20,y[3]-13,name[3]);
	gdk_draw_string(widget->window,font,gc,x[2]-20,y[2]-13,name[2]);
	gdk_draw_string(widget->window,font,gc,x[1]-30,y[1]-20,name[1]);
	gdk_draw_string(widget->window,font,gc,x[0]-30,y[0]-20,name[0]);
//Создания надписи	солнца	
	gdk_draw_string(widget->window,font,gc,e[8]*a[8]+a[8]+25,HEIGHT/2+5,"Sun");
	//увеличить счётчик изменений параметра у каждой планеты
	for(i=0;i<9;i++)
	{
		num_change_t[i]++;
	}
	//увеличение параметра согласно произведения реальной скорости планеты на опр. коофициент 
	for(i=0;i<9;i++)
	{
		t[i]+=speed_change_t*v[i];
	}
 
	return TRUE;
}

Ключевые слова: 

Солнечная система
ВложениеРазмер
солнечной системы.rar1.26 Мб

www.opita.net

Условно изобразить действующую модель Солнечной системы

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
#include <windows.h>
#include <gl\gl.h>
#include <glut.h>
#include <list>
#include <math.h>
#pragma comment(lib, "GLAUX.lib") 
#include "glaux.h"
//макросы
#define RAD_IN_DEG 0.017453292519943295769
 
 //глобальные переменные
static float segments_count = 50; //кол-во сегментов
static float t; //время [с]
static int dt = 10; //интервал пересчета [мс]
static GLint width = 600; //ширина экрана
static GLint height = 600; //высота экрана
static float t_factor = 1.0; //соотношение время модели / время пользователя
static float x_factor = 10.0 / 600.0; //соотношение единица модели / точка экрана
unsigned int photo_tex;
 unsigned int texture;
 unsigned int tex1;
 unsigned int tex2;
 unsigned int tex3;
 unsigned int tex4;
 unsigned int tex5;
 unsigned int tex6;
 unsigned int tex7;
 unsigned int tex8;
 unsigned int Sprite;
AUX_RGBImageRec* photo_image;
AUX_RGBImageRec* photo1;
AUX_RGBImageRec* photo2;
 
class Person
{
public:
    class _Coord
    {
    public:
        double x,z,y;
    };
    class _Rotation
    {
    public:
        double y,x,z;
    };
 
    _Coord Coord;
    _Rotation Rotation;
};
 
int MouseOld_x=0, MouseOld_y=0;
int WinWidth=640, WinHeight=480;
Person User;
 
void MouseMotion(int x, int y);
void Init(void)
{
    glEnable(GL_DEPTH_TEST);
    User.Coord.x=0;
    User.Coord.z=0;
    User.Coord.y=0;
    User.Rotation.x=0;
    User.Rotation.y=0;
}
 
class ring_t
{
public:
    float r, g, b; //цвет
 
    float inner_radius, outer_radius; //внутренний и внешний радиусы
    float az, ax; //углы поворота кольца относительно осей z, x (исходная позиция - в плоскости xy) [град]
 
    ring_t(float r, float g, float b, float inner_radius, float outer_radius, float az, float ax):
        r(r), g(g), b(b), inner_radius(inner_radius), outer_radius(outer_radius), az(az), ax(ax)
    {}
 
    void render(void)
    {
        glPushMatrix();
        glRotatef(az, 0, 0, 1);
        glRotatef(ax, 1, 0, 0);
        
        GLUquadricObj *qu = gluNewQuadric();
        gluQuadricTexture(qu, GL_TRUE);
        gluQuadricDrawStyle(qu, GLU_FILL);
        glColor3f(r, g, b);
        gluDisk(qu, inner_radius, outer_radius, segments_count, segments_count);
        gluDeleteQuadric(qu);
 
        glPopMatrix();
        glutSwapBuffers();
    }
};
 
class planet_t;
static planet_t *core;
 
class planet_t
{
public:
    unsigned int texture;
    float planet_radius; //радиус планеты
    float orbit_radius; //радиус орбиты (окружность)
    float az, ax; //углы поворота орбиты относительно осей z, x (исходная позиция - в плоскости xy) [град]
    float T; //период обращения [с]
    float dT; //смещение [с]
 
    std::list<ring_t> rings; //кольца
    std::list<planet_t> sats; //спутники
 
    planet_t(  unsigned int texture, float planet_radius, float orbit_radius, float az, float ax, float T, float dT):
        texture(texture), planet_radius(planet_radius), orbit_radius(orbit_radius), az(az), ax(ax), T(T), dT(dT)
    {}
 
    void render(const float t)
    {const float dis = 0.00000001f;
        glPushMatrix();
        glRotatef(az, 0, 0, 1);
        glRotatef(ax, 1, 0, 0);
 
        if (orbit_radius > 0)
        {
            float tmp = t + dT; //время с учетом смещения
            int n = tmp / T; //кол-во оборотов
            tmp -= n * T; //время от начала оборота
            tmp *= 360.0 / T; //угол
 
            glTranslatef(orbit_radius * cos(tmp * RAD_IN_DEG), orbit_radius * sin(tmp * RAD_IN_DEG), 0);
        }
 
        if (this == core)
        {
            float p0[4] = {0, 0, 1, 0};
         glLightfv(GL_LIGHT0,GL_POSITION, p0);
            render_planet();
            float p1[4] = {0, 0, 0, 1};
            glLightfv(GL_LIGHT0, GL_POSITION, p1);
            
        }
        else
        { 
        render_planet();
        }
 render_rings_and_sats(t);
        glPopMatrix();
        glFlush();
    }
 
    void render_planet(void)
    {   glPushMatrix();
        GLUquadricObj *q = gluNewQuadric();
        glClear(GL_DEPTH_BUFFER_BIT );
        glEnable(GL_TEXTURE_2D);
        gluQuadricTexture(q, GL_TRUE);
        gluQuadricDrawStyle(q, GLU_FILL);
        glBindTexture(GL_TEXTURE_2D, texture);
    if(planet_radius==1)
         {
 glDisable(GL_LIGHTING);
         gluSphere(q,  planet_radius, segments_count, segments_count);
         glEnable(GL_LIGHTING);
    }
    else {gluSphere(q,  planet_radius, segments_count, segments_count);}
    
        gluDeleteQuadric(q);  
        glPopMatrix();
        glFlush();
 
}
 
void render_rings_and_sats(const float t)
    {
        for
        (
            std::list<ring_t>::iterator i = rings.begin();
            i != rings.end();
            i++
        )
            i->render();
 
        for
        (
            std::list<planet_t>::iterator i = sats.begin();
            i != sats.end();
            i++
        )
            i->render(t);
            
    }
};
 
//GL-функции
 
 
void   Display()
{
    glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT );
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glRotatef(User.Rotation.y, 0,1,0); 
      glRotatef(User.Rotation.x, 1,0,0); 
       glRotatef(User.Rotation.z, 0,0,1); 
glTranslatef(User.Coord.x,0,User.Coord.z); 
 
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glEnable(GL_ALPHA_TEST);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
 
    glBindTexture(GL_TEXTURE_2D, photo_tex);
    
    glBegin(GL_QUADS);
    glTexCoord2f(0.0f, 0.0f);   glVertex3f(-10, -10, 10);
    glTexCoord2f(1.0f, 0.0f);   glVertex3f(10, -10, 10);
    glTexCoord2f(1.0f, 1.0f);   glVertex3f(10, 10, 10);
    glTexCoord2f(0.0f, 1.0f);   glVertex3f(-10, 10, 10);
    // new face
    glTexCoord2f(0.0f, 0.0f);   glVertex3f(10, 10, 10);
    glTexCoord2f(1.0f, 0.0f);   glVertex3f(10, 10, -10);
    glTexCoord2f(1.0f, 1.0f);   glVertex3f(10, -10, -10);
    glTexCoord2f(0.0f, 1.0f);   glVertex3f(10, -10, 10);
    // new face
    glTexCoord2f(0.0f, 0.0f);   glVertex3f(10, 10, -10);
    glTexCoord2f(1.0f, 0.0f);   glVertex3f(-10, 10, -10);
    glTexCoord2f(1.0f, 1.0f);   glVertex3f(-10, -10, -10);
    glTexCoord2f(0.0f, 1.0f);   glVertex3f(10, -10, -10);
    // new face
    glTexCoord2f(0.0f, 0.0f);   glVertex3f(-10, -10, -10);
    glTexCoord2f(1.0f, 0.0f);   glVertex3f(-10, -10, 10);
    glTexCoord2f(1.0f, 1.0f);   glVertex3f(-10, 10, 10);
    glTexCoord2f(0.0f, 1.0f);   glVertex3f(-10, 10, -10);
    // new face
    glTexCoord2f(0.0f, 0.0f);   glVertex3f(-10, 10, -10);
    glTexCoord2f(1.0f, 0.0f);   glVertex3f(10, 10, -10);
    glTexCoord2f(1.0f, 1.0f);   glVertex3f(10, 10, 10);
    glTexCoord2f(0.0f, 1.0f);   glVertex3f(-10, 10, 10);
    // new face
    glTexCoord2f(0.0f, 0.0f);   glVertex3f(-10, -10, -10);
    glTexCoord2f(1.0f, 0.0f);   glVertex3f(10, -10, -10);
    glTexCoord2f(1.0f, 1.0f);   glVertex3f(10, -10, 10);
    glTexCoord2f(0.0f, 1.0f);   glVertex3f(-10, -10, 10);
 
glEnd();
 
 
 core->render(t * t_factor);
 glEnable(GL_LIGHTING);
glDisable(GL_ALPHA_TEST);
glDisable(GL_BLEND);
glDisable(GL_TEXTURE_2D);
 glFlush();
 }
 
 void Reshape(GLint width, GLint height)
{   ::width = width;
    ::height = height;
    glViewport(0, 0, width, height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-width / 2 * x_factor, width / 2 * x_factor, -height / 2 * x_factor, height / 2 * x_factor, 0, 100);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glutPostRedisplay();
}
 
//РЕАЛИЗАЦИЯ ПОВРОТА:
void MouseMotion(int x, int y)
{
    User.Rotation.x+=(y-MouseOld_y)/4;
    User.Rotation.y-=(x-MouseOld_x)/4;
    MouseOld_x=x;
    MouseOld_y=y;
    glutPostRedisplay();
}
 
void Keyboard(unsigned char key, int x, int y)
{
    if (key=='w') {User.Coord.x+=0.1;User.Coord.y+=0.1;}
    if (key=='s') {User.Coord.x-=0.1;User.Coord.y-=0.1;}
    if (key=='a') {User.Coord.z+=0.1;}
    if (key=='d') {User.Coord.z-=0.1;}
    if (key=='x') {User.Rotation.x++;}
    if (key=='y') {User.Rotation.y++;}
    glutPostRedisplay();
}
static void Timer(int value)
{
 t += dt / 1000.0;
 glutPostRedisplay();
 glutTimerFunc(dt, Timer, 0);
}
 
int main(int argc, char *argv[])
{                      
GLuint fogMode[]= { GL_EXP}; // Хранит три типа тумана
GLuint fogfilter= 0;        
float density=(float)6.8;
float fogcolor[4] = {0.05,0.05,0.05,0.0001}; 
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(width, height);
glutCreateWindow("planet system");
Init();
    glutDisplayFunc(Display);
    glutReshapeFunc(Reshape);
    glutKeyboardFunc(Keyboard);
    glutMotionFunc(MouseMotion);
    glEnable(GL_FOG);                       // Включает туман (GL_FOG)
glFogi(GL_FOG_MODE, fogMode[fogfilter]);// Выбираем тип тумана
glFogfv(GL_FOG_COLOR, fogcolor);        // Устанавливаем цвет тумана
glFogf(GL_FOG_DENSITY, 0.155f);          // Насколько густым будет туман
glHint(GL_FOG_HINT, GL_DONT_CARE);      // Вспомогательная установка тумана
glFogf(GL_FOG_START, 1.0f);             // Глубина, с которой начинается туман
glFogf(GL_FOG_END, 2.0f);               // Глубина, где туман заканчивается.
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
    glEnable(GL_ALPHA_TEST);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glEnable(GL_DEPTH_TEST);
    glEnable(GL_LIGHT0);
    glEnable(GL_LIGHTING);
    glEnable(GL_COLOR_MATERIAL);
 
photo_image = auxDIBImageLoad("1.bmp");
glGenTextures(1, &photo_tex);
glBindTexture(GL_TEXTURE_2D, photo_tex);
glTexImage2D(GL_TEXTURE_2D, 0, 4,
             photo_image->sizeX,
             photo_image->sizeY,
             0, GL_RGB, GL_UNSIGNED_BYTE,
             photo_image->data);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
    
photo2=auxDIBImageLoad("sun.bmp");
glGenTextures(1, &tex2);
glBindTexture(GL_TEXTURE_2D, tex2);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
 
glTexImage2D(GL_TEXTURE_2D, 0, 3,
                 photo2->sizeX,
                 photo2->sizeY,
                 0, GL_RGB, GL_UNSIGNED_BYTE,
                 photo2->data);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
 
photo1=auxDIBImageLoad("sutr.bmp");
glGenTextures(1, &tex1);
glBindTexture(GL_TEXTURE_2D, tex1);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, 3,
                 photo1->sizeX,
                 photo1->sizeY,
                 0, GL_RGB, GL_UNSIGNED_BYTE,
                 photo1->data);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
 
photo1=auxDIBImageLoad("zemly.bmp");
glGenTextures(1, &tex3);
glBindTexture(GL_TEXTURE_2D, tex3);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, 3,
                 photo1->sizeX,
                 photo1->sizeY,
                 0, GL_RGB, GL_UNSIGNED_BYTE,
                 photo1->data);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
     photo1=auxDIBImageLoad("zel.bmp");
glGenTextures(1, &tex4);
glBindTexture(GL_TEXTURE_2D, tex4);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, 3,
                 photo1->sizeX,
                 photo1->sizeY,
                 0, GL_RGB, GL_UNSIGNED_BYTE,
                 photo1->data);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
   photo1=auxDIBImageLoad("mars.bmp");
glGenTextures(1, &tex5);
glBindTexture(GL_TEXTURE_2D, tex5);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, 

forundex.ru

Строение Солнечной системы, ее особенности и состав

Солнечная система – это часть Млечного пути, а он, в свою очередь, представляет собой спиралевидную галактику, вокруг центра которой вращается Солнце – самый крупный и тяжелый объект Солнечной системы, являющийся ее сердцем. Солнце, в своей системе, имеет восемь планет с их спутниками, множество астероидов, комет и невероятное количество метеорных тел. Планеты Солнечной системы разделяют на два типа: первый — земной группы, а второй — планеты-гиганты.

Строение Солнечной системы оказывает значительное влияние не только на планеты, но и на их спутники, астероиды, кометы и бессчетное количество метеорных элементов, также входящих в ее состав.

Планеты земной группы

Сюда входит Меркурий, Венера, Земля и Марс. Их характерными особенностями являются небольшой размер и масса. Как правило, в их состав входят металлы и горные породы, благодаря чему они отличаются значительной плотностью. Планеты земной группы расположены к Солнцу ближе других космических тел.

Планеты-гиганты

Юпитер, Сатурн, Уран и Нептун. Для них характерен большой размер и маленькая плотность, обусловленная их преимущественно газовым составом. Несмотря на это, планеты-гиганты обладают сильной гравитацией и имеют немалое количество спутников, только у Юпитера их 63. Эти огромные космические тела располагаются на удаленном от Солнца расстоянии.

Астероидные кольца

Первое кольцо астероидов находится на границе двух групп небесных тел  – в  области  Марса и Юпитера и считается главным, а второе – завершающий элемент Солнечной системы, оно находится за Плутоном, в недавнем прошлом девятой крупной планетой, оно носит имя пояс Койпера. Эти астероиды также именуют малыми планетами, в наше время изучено примерно 10 000 астероидов в главном кольце, предположительно их количество насчитывает 300 000.

Карликовые планеты

Поверхность Плутона в представлении художника

Это Плутон, получивший данный статус в 2006 году, самый яркий представитель главного астероидного кольца – Церера и далекий – Эрида. К карликовым планетам относят те, которые в своем диаметре имеют около 1000 км.

Кометы

Комета Lovejoy C/2013 R1

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

Комета ISON

Закономерность Солнечной системы

Главной закономерностью является движение планет. Они движутся в одну сторону относительно Солнца, а именно против движения стрелок часов. Венера и Уран, который двигается практически на боку, а также некоторые спутники планет имеют другое направление вращения. Космические тела вращаются по орбите, форма которой близка к окружности, однако, орбиты Меркурия и Плутона имеют вытянутую траекторию, по таким орбитам двигаются и кометы.


Путешествие по Солнечной системе


comments powered by HyperComments

Понравилась запись? Расскажи о ней друзьям!

Просмотров записи: 29667

spacegid.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *