Реферат. Программный продукт позволяет наглядно изучить строение и свойства платоновых тел, а также позволяет начинающим программистам реализовать принцип обучения на примерах. Продукт разработан на языке программирования Мicrosoft Visual C 5.0 с использованием объектно-ориентированной методологии. При разработке была задействована библиотека моделирования трехмерной графики
OpenGL. Запуск программы возможен только в операционной среде Microsoft Windows 95. Диалог пользователя с программой, а именно введение параметров, осуществляется посредством диалоговых окон программы. Диапазон вводимых значений программно ограничен, с целью недопущения некорректной работы или возникновения ошибки. Содержание. 1. Теоретическая часть 1. Введение2. Аналитический обзор 3 1.3.
Описание математического аппарата аналитической геометрии2. Технический и рабочий проекты программного продукта 1. Уточнение технических требований, сфрмулированных в теоретическом задании2. Постановка задачи3. Подход к решению задачи 4. Выбор программной среды, инструментальных средств разработки.6 2.5.
Разработка функциональной структуры ПС, требований к отдельным подсистемам, системных соглашения6. Реализация диалогового интрефейса и выдачи результатов7. Описание алгоритмов решения функциональных задач 3. Экспериментальная часть.1. Эксплуатационная документация на ПС1. Описание применения.2. Руководство пользователя 9 3.1.3.
Руководство программиста 4. Контрольный пример 1. Теоретическая часть. 1.1 Введение. Платоновыми телами правильными многогранниками называются такие выпуклые многогранники, все грани которых - правильные многоугольники и все многогранные углы при вершинах равны между собой. Актуальность разработки программного продукта, позволяющего оперировать с платоновыми телами в качестве графических объектов, подтверждается тем, что в современном программировании графики часто
в качестве объектов используются именно многогранники. Современное программное обеспечение предоставляет пользователю большое количество решений этой проблемы. Но преимущество данного программного продукта перед ними заключается в простоте использования, а именно - не требуется больших затрат ресурсов - не требуется длительного изучения возможностей программы для получения желаемого результата. Также программа позволяет реализовать принцип обучения на примерах,
т.е. начинающий программист имеет возможность просмотреть все исходные тексты программы, содержащие необходимые пояснения, и разобраться в ее работе наглядно. 1.2 Аналитический обзор. Существует ровно пять правильных многогранников. Их основные характеристики приведены в следующей таблице Название Многогранника Число граней Число реберЧисло вершинТетраэдр464Гексаэдр6128Октаэдр8126
Додекаэдр123020Икосаэдр203012Вывод изображения на экран дисплея и разнообразные действия с ним, в том числе и визуальный анализ, требуют от программиста определенной геометрической грамотности. Геометрические понятия, формулы и факты, относящиеся прежде всего к плоскому и трехмерному случаям, играют в задачах компьютерной графики особую роль. Геометрические соображения, подходы и идеи в соединении с постоянно расширяющимися возможностями вычислительной
техники являются источником существенных продвижений на пути развития компьютерной графики, ее эффективного использования в научных и иных исследованиях. Современное программное обеспечение предоставляет программисту широкий спектр возможностей по работе с компьютерной графикой, причем, как с двумерной, так и с трехмерной. В зависимости от поставленной перед программистом задачи и уровня его подготовки, у него есть ряд возможностей при разработке программы для работы с графикой. Во-первых, программист может разработать программный
продукт при помощи прямого программирования аффинных преобразований на плоскости и в пространстве. Во-вторых, он может воспользоваться уже созданными библиотеками для моделирования графических объектов например, библиотека OpenGL. В-третьих, существуют программные продукты, посвященные графическому моделированию и не требующие написания кода программы для работы с графикой например, 3D-Studio. 1.3 Описание математического аппарата аналитической геометрии.
Движение графических объектов в пространстве осуществляется посредством аффинных преобразований. Любое аффинное преобразование в трехмерном пространстве может быть представлено в виде суперпозиции вращений, растяжений, отражений и переносов. Каждая точка пространства кроме начальной точки О может быть задана четверкой одновреммено не равных нулю чисел hx, hy,hz,h эта четверка чисел определена однозначно с точностью до общего множителя. Рассмотрим матрицы преобразований.
1 Матрицы вращения в пространстве Матрица вращения вокруг оси абсцисс на угол j Матрица вращения вокруг оси ординат на угол y Матрица вращения вокруг оси аппликат на угол c 2 Матрица растяжения сжатия где a 0 коэффициент растяжения сжатия вдоль оси абсцисс b 0 коэффициент растяжения сжатия вдоль оси ординат g 0 коэффициент растяжения сжатия вдоль оси аппликат. 3 Матрицы отражения. Матрица отражения относительно плоскости xy
Матрица отражения относительно плоскости yz Матрица отражения относительно плоскости zx 4 Матрица переноса где l, m, n - вектор переноса. 2. Технический и рабочий проекты программного продукта. 2.1 Уточнение технических требований, сформулированных в теоретическом задании. Для успешного запуска программы и работы с ней необходимо выполнение ниже перечисленных требований
- IBM-совместимый компьютер с процессором Pentium 90 - VGA видеокарта - 16 МВ оперативной памяти - операционная система Microsoft Windows 95 - 4 МВ на жестком диске. 2.2 Постановка задачи. Разработать раздел графической библиотеки, описывающий платоновы тела и функции для работы с ними, а также средство работы с ней. Программный продукт должен осуществлять мониторинг вращения графического
объекта платонова тела вокруг осей координат OX, OY, OZ. 2.3 Подход к решению задачи. Подход к решению задачи основан на объектно-ориентированной методологии. Но следует отметить, что объектно-ориентированное программирование можно эффективно использовать, если ему предшествуют объектно-ориентированный анализ задачи и объективно-ориентированное проектирование программного комплекса. Без объектно-ориентированного проекта попытки применения объектно-ориентированного
программирования являются по меньшей мере малоэффективными и весьма трудоемкими. Исходная задача разбивается на следующие подзадачи - разработка интерфейса программы - разработка класса многогранников - разработка класса функций, позволяющих производить преобразование многогранников в пространстве 2.4 Выбор программной среды, инструментальных средств разработки. В качестве программной среды выбран язык программирования
Microsoft Visual C 5.0, поскольку он основан на новейших технологиях программирования например С, программирование графического интерфейса Windows, фундаментальные классы фирмы Microsoft Microsoft Foundation Classes и генераторы кода Wizard. Microsoft Visual C обеспечивает несколько различных путей написания программ для GUI Windows graphical user interface. Во-первых, можно писать программы
GUI на С и С, напрямую обращаясь к функциям, которые обеспечиваются находящимся внутри Win32 программным интерфейсом приложений API, и является частью операционных систем Windows 95 и Windows NT. Однако, используя этот подход, необходимо множество строк кода перед тем, как появится возможность сосредоточиться на задаче, которая является особенной в приложении. Во-вторых, можно писать программы для GUI Windows на
С, используя МFC Microsoft Foundation Classes. MFC обеспечивает большой набор написанных классов, как и код поддержки, который может выполнять много стандартных задач при программировании для Windows таких, как создание окон с обработкой сообщений. Также можно использовать MFC, чтобы быстро добавить к вашим программам такие сложные элементы, как панель инструментов, разделенные окна представлений.
MFC может упростить программы GUI и сделать работу при программировании значительно проще. В-третьих, можно писать GUI Windows программы на С, используя и MFC и мастер-блоки Microsoft Wizard. Можно использовать AppWizard, чтобы сгенерировать основные исходные файлы для разнообразных типов программ GUI. Затем можно использовать интсрумент ClassWizard, чтобы создать большую часть кода, необходимого
для порождения классов определить функции-члены для обработки сообщений или настройки поведения MFC управлять блоками диалога и выполнить другие задачи. Код, сгенерированный с использованием мастер-блоков Wizard, полностью использует MFC. Причем, мастер-блоки Wizard не ограничиваются только генерацией оболочек простых программ, а, напротив, может быть использован
для создания программ, содержащих большой набор сложных компонентов. Используя этот третий подход, можно получить пользу не только от кода, уже написанного в MFC, но и от сгенерированного исходного кода, который использует MFC и решает множество задач программирования. MFC и мастер-блоки Wizard облегчают усилия по созданию визуального интерфейса программы и помогают убедиться, что этот
интерфейс согласуется с описаниями guidelines Microsoft. Разработка программы велась на базе третьего и самого высокоуровневого способа написания программ для GUI Windows. 2.5 Разработка функциональной структуры программного продукта, требований к отдельным подсистемам, системных соглашений. Функциональная структура программного продукта содержит следующие классы CpolyhedronApp основной класс приложения, наследуемый от
CWinApp CmainFraim класс окна, наследуемый от CframeWnd и контролирующий все свойства и особенности окна приложения CpolyhedronDoc класс документа приложения, наследуемый от CDocument. Документ это совокупность всех или части данных, используемых приложением, в том числе значения параметров, указываемых пользователем и т.д. Приложение может иметь несколько документов, хотя в нашем случае документ всего один. CpolyhedronView класс, позволяющий отображать содержимое класса
CPolyhedronDoc. Наследуется от Cview. В нашем случае служит в том числе и для отображения платоновых тел по параметрам из CpolyhedronDoc. CpolyhedronAction класс, содержащий функции для создания и действий над платоновыми телами. CpolySet, CaboutDlg классы, наследуемые от Cdialog и служащие для построения и работы с диалоговым окном настроек программы и диалоговым окном About. Подробное дерево классов программного продукта с перечислением всех функций и переменных прилагается.
Системные соглашения 1. Задание всех параметров требуемых в техническом задании операций, таких как координаты точек, уравнения прямых и т.п. ведет к значительному усложнению работы с программой и требует дополнительных знаний и усилий от пользователя. Всвязи с этим вводятся ограничения на производимые операции например, вращение вокруг линии реализуется только вокруг координатных осей. Но результатом введения подобных ограничений является то, что операции вращения вокруг точки и облета
тела сводятся к уже реализованному вращению вокруг линии. На примере облета тела при допущении, что облет тела производится по окружности заданного радиуса, существуют два принципиальных варианта облета с камерой, направленной постоянно на тело, и с камерой, направленной по касательной к траектории движения. Первый из этих вариантов сводится к вращению тела вокруг собственной оси на определенном расстоянии
от камеры при расположении тела по центру экрана, второй к вращению тела вокруг собственной оси при расположении тела с краю экрана так, что видна лишь его часть. В связи с вышеизложенным операции вращения вокруг точки и облета тела не представляют интереса и не будут реализованы. Также становятся ненужными некоторые параметры из предусмотренных ранее, которые также не будут реализованы. 2. Ввод параметра расстояния до камеры позволяет зрительно задать длину
ребра тела, и вместе с тем расширяет возможности программы. Всвязи с этим параметр длины ребра тела в программе заменен вышеуказанным параметром. 3. Всвязи с изменением набора функций и параметров программы, а также введением дополнительных элементов интерфейса, таких как панель инструментов, изменен первоначальный проект интерфейса. Подробное его описание содержится в руководстве пользователя.
4. Выбранные програмные средства позволяют моделировать движение тела за пределами видимого пространства, тем самым ограничения на выход тела за пределы экрана представляется лишним и суживающим возможности программы. Контроль входных данных не будет заключаться в недопущении этого, однако будет производиться контроль, предотвращающий появление ошибок. 2.6 Реализация диалогового интерфейса и выдачи результатов. Структура диалогового интерфейса программного продукта показана на рис.
4.6.1. рис. 4.6.1. Структура диалогового интерфейса. Интерфейс представляет собой стандартное окно Windows, состоящее из панели меню, панели интсрументов и окна представления. На панели меню представлено меню Polyhedron. Это меню представляет собой список из 5 правильных многогранников и пункта Settings, открывающего меню параметров программы. Выбранный многогранник выделяется в этом меню галочкой.
На панели инструментов имеется 3 кнопки. Первая кнопка осуществляет запуск движения многогранника, вторая его остановку, а третья непосредственное открытие меню параметров Settings. Выдача результатов осуществляется в окне представления. Результатом работы программы является движение платонова тела с учетом заданных пользователем параметров. 2.7 Описания алгоритмов решения функциональных задач.
Реализация 3-хмерной графики с помощью библиотеки OpenGL базируется на основе принципов аффинных преобразований в пространстве. Также очень важно понятие камеры образно говоря, некого виртуального окна в трехмерном пространстве. Все то, что отображается в графическом окне приложения, мы видим посредством камеры. Еще одно важное понятие это понятие матрицы, описывающей объекты в пространстве фактически, некой трехмерной
модели пространства. На основе этих понятий решается основная функциональная задача проекта вращение платоновых тел. Алгоритм решения этой задачи строится следующим образом Вначале двигаем камеру на заданное расстояние к пользователю по оси OZ для того, чтобы иметь возможность смотреть на платоновое тело со стороны, т.к. изначально камера находится в начале координат, где впоследствии и создается тело.
Затем сдвигаем начало координат на заданное расстояние относительно заданной оси оси вращения для того, чтобы ось вращения была от тела удалена, и создаем платоновое тело. Решение функциональной задачи создания платонового тела интереса не представляет, т.к. с помощью библиотеки OpenGL это делается вызовом всего лишь одной определенной функции. Тело создается в начале координат. После создания платонового тела оно поворачивается относительно
оси вращения на определенный угол, значение которого постоянно увеличивается или уменьшается в зависимости от направления вращения. Так как данная последовательность действий выполняется в цикле, тело постоянно сдвигается на все больший меньший угол, чем и достигается вращение, в то время как все остальные параметры остаются неизменными. Все процедуры сдвига начала координат, поворота и т.п. достигаются, как это и было описано ранее, с помощью аффинных преобразований, путем умножения матрицы, описывающей трехмерное
пространство, на матрицы поворота, сдвига и т.п. Для каждого такого действия предусмотрены функции библиотеки OpenGL. 3. Экспериментальная часть. 3.1 Эксплуатационная документация на программный продукт. 3.1.1 Описание применения. Программный продукт Polyhedron может применяться - для наглядного изучения строения и свойств платоновых тел - для обучения на примерах начинающих программистов. 3.1.2 Руководство пользователя. Внимание За возможные ошибки, сбои, возможный причиненный моральный
или материальный ущерб и т.д авторы ответственности не несут. Вы используете программу на свой страх и риск Если вы не согласны с этим, то не используйте данную программу Введение Авторы руководства пользователя приглашают вас познакомиться с основными возможностями Polyhedron. Мы предоставляем совершенно новую возможность для изучения платоновых тел в пространстве на персональном компьютере. Результатом разработки является более простой и наглядный способ изучения
платоновых тел в пространстве. Руководство пользователя написано для всех, кто не знаком с платоновыми телами. Если Вы являетесь опытным пользователем персонального компьютера, то нижеследующий текст, возможно, будет Вам не интересен. Руководство пользователя явится для Вас обширным справочным руководством, помогающим разобраться в программном продукте Polyhedron. Для того, чтобы запустить программный продукт необходимо наличие на вашем персональном компьютере
- операционной системы Windows 95 - Floppy Disk Drive 3,5. Вставте нашу дискету в свой дисковод. Затем скопируйте все файлы в заранее созданную директорию. Поместите острие стрелки на файл Polyhedron.ехе, затем щелкните левой кнопкой мыши два раза. Перед вами появится окно программного продукта Polyhedron см. рис. 1. рис. 3.1.2.1.Окно программного продукта. Для начала
Вы можете просмотреть контрольный пример, наведя курсор мыши на кнопку Play и нажать левую кнопку мыши. Чтобы поменять платоново тело подведите курсор мышы на слово Polyhedron. Затем нажмите левую кнопку мыши, чтобы открыть меню см. рис. 2. рис. 3.1.2.2. Меню Polyhedron. Обратите внимание на то, что рядом с пунктами меню указаны клавиши, которые позволяют сразу выбрать соответствующий пункт, не открывая подменю, или нажать клавишу соответствующей
первой букве пункта. Выбрав пункт Settings откроется диалоговое окно см. рис. 3. рис. 3.1.2.3. Диалоговое окно. В этом диалоговом окне Вы можете поменять следующие параметры - длину ребра платонового тела Length of edge - дистанция до камеры Distance to the camera - расстояние до оси вращения Distance to the axis - ось вращения Rotation axis - вращение вокруг оси
OX вращение вокруг оси OY вращение вокруг оси OZ - направление вращения Direction - по часовой стрелке clockwise против часовой стрелки counterclockwise - структуру тела решетчатую или сплошную флажок Wired Закончив выбор, нажмите на кнопку OK. После завершения выбора параметров, результат можно просмотреть, подведя курсор мыши на кнопку Play и нажав левую кнопку мыши. Функциональные клавиши
Ctrl1 или AltP и Т Тетраэдр Tetrahedron Ctrl2 или AltP и Н Гексаэдр Hexahedron Ctrl3 или AltP и О Октаэдр Octahedron Ctrl4 или AltP и D Додекаэдр Dodecahedron Ctrl5 или AltP и I Икосаэдр Icosahedron CtrlP или AltP и S Установки Settings. 3.1.3 Руководство программиста. 3.1.4 Контрольный пример.
Контрольный пример предоставлен в виде заданных по умолчанию значений параметров задачи Осуществляется вращение по часовой стрелке не решетчатого тетраэдра вокруг оси ОХ на расстоянии 10 и при расположении камеры на расстоянии 50 до оси вращения. Список используемой литературы. 1. Янг М. Microsoft Visual C 4 для профессионалов М.ЭНТРОП, 1997. 2. Шикин
А.В Боресков А.В. Компьютерная графика. Динамика, реалистические изображения М.ДИАЛОГ-МИФИ, 1996. 3. Подбельский В.В. Язык С. М.Финансы и статистика, 1996. Краткое описание библиотеки OpenGl Библиотека OpenGl предназначена для моделирования компьютерной графики на высоком уровне, и является программным интерфейсом к аппаратному обеспечению.
Главное назначение библиотеки - преобразовывать 2-х и 3-хмерные объекты в специальный формат в специальном буфере. Эти объекты описываются как последовательности точек в пространстве, которые определяют геометрические объекты, или пикселов, которые определяют изображения. OpenGl производит несколько последовательных операций обработки этих данных, чтобы сконвертировать их в пикселы для формирования окончательного требуемого изображения в буфере.
OpenGl предоставляет Вам прямой доступ к контролю фундаментальных операций 2-х и 3-хмерной графики. Это включает спецификацию таких параметров как трансформационные матрицы, коэффициенты уравнения освещения, методы сглаживания и операторы модифицирования пикселов. Однако, OpenGl не предоставляет Вам способы описания или моделирования сложных геометрических объектов. Таким образом, команды OpenGl, которые Вы используете, определяют как определенный результат должен
быть выработан какие процедуры должны использоваться, а не как именно должен выглядеть результат. То есть OpenGl библиотека процедурная, а не описательная. Документ в стадии разработки. Примерно 5 от полного объема. Техническое задание 1. Введение. Платоновыми телами правильными многогранниками называются такие выпуклые многогранники, все грани которых правильные многоугольники и все многогранные углы при вершинах равны
между собой. Существует ровно пять правильных многогранников. Их основные характеристики приведены в следующей таблице. Название многогранника Число граней Число реберЧисло вершинТетраэдр464Гексаэдр6128Октаэдр8126 Додекаэдр123020Икосаэдр203012Описываемый программный продукт состоит из раздела библиотеки, посвященного платоновым телам, и приложения для графического интерфейса пользователя graphical user interface
GUI Windows, позволяющего при помощи раздела библиотеки выполнять следующие операции над правильными многогранниками - вращение тела вокруг заданной точки - вращение тела вокруг заданной оси - облет тела. Актуальность разработки заключается в возможности наглядного изучения платоновых тел с использованием разработанного раздела. Платоновы тела выбраны потому, что являются часто используемыми при анимации различных графических изображений и т.д. 2. Основание для разработки.
Основанием для разработки курсового проекта послужил план специальности 220100 Вычислительные машины, системы, комплексы и сети по дисциплине Алгоритмические языки и программирование за второй курс. 3. Назначение разработки. Назначением разработки являются раздел графической библиотеки, описывающий платоновы тела и функции для работы с ними, а также средство работы с этим разделом, представляющее
собой приложение Windows, разработанное на основе графического интерфейса пользователя. 4. Требования к программе и программному продукту. 4.1. Функциональные характеристики. Программный продукт позволяет пользователю выполнять следующие функции - выбор типа ГРО - создание графического объекта - ввод параметров объекта и выполняемой им функции - демонстрация объектом выбранной пользователем функции.
Создание графического объекта происходит в момент выбора пользователем типа многогранника из списка многогранников, появляющегося после нажатия пользователем кнопки Polyhedron. Ввод параметров многогранника, а именно длины его ребра, осуществляется в диалоговом окне, открываемом при нажатии кнопки Settings, находящейся в меню Polyhedron. Выбор функции, выполняемой многогранником, производится из меню
Action. При нажатии кнопки Settings в этом же меню, открывается диалоговое окно, позволяющее ввести параметры функций. Просмотр начинается после нажатия кнопки Start и останавливается после нажатия кнопки Stop. Просмотр можно осуществлять без изменения каких-либо параметров, т.е. в начале работы программы все необходимые параметры предустановленны и не требуют обязательного описания.
4.2. Организация входныхвыходных данных. Входными данными являются параметры многоугольника тип, длина ребра, тип выполняемой им функции, параметры выбранной функции, а также размер окна представления. Описание входных данных содержится в следующей таблице. ИмяСемантикаТипРазмер памятиДиапазон измененияmPolyhedronтип многоугольникацелое2б1-5mEdgeдлина ребрацелое2бmActionтип функциицелое2б1-3mRotPointDirнаправление при движении вокруг точкицелое2бmRotPointDistрасстояние от
объекта до точкицелое2бmRotLineDirнаправление при движении вокруг линиицелое2бmRotLineDisposрасположение линии в пространствецелое2бmRotLineDistрасстояни е от объекта до линиицелое2бmFlyRoundDistрасстояние до объекта при облетецелое2бCxтекущее максимальное значение Х окна представленияцелое2бCyтекущее максимальное значение Y окна представленияцелое2бДиапазон изменения параметра не определен, т.к. он зависит от размера окна
представления. Диапазон изменения параметра не определен, т.к. он определяется режимом работы видеоадаптера. Выходными данными является построенный графический объект, по параметрам пользователя и демонстрация его в движении. 4.3. Требования к надежности. Для обеспечения устойчивой работы программы необходимо выполнение контроля входнойвыходной информации. Контроль заключается в проверке вводимых данных на возникновение ошибки. Причиной возникновения ошибок могут послужить неверно введенные данные, например, значения параметров,
повлекшие выход изображения за пределы окна представления. Время восстановления после отказа определяется временем перезагрузки операционной системы Windows и повторного запуска программы. 4.4. Требования к составу и параметрам технических средств. Для успешного выполнения программы необходимо выполнение ниже перечисленных требований - IBM-совместимый компьютер - VGA видеоадаптер - 16
МВ оперативной памяти - 10 МВ на жестком диске - операционная система Microsoft Windows 95. 4.5. Требования к информационной и программной совместимости. Выполнение программы необходимо осуществлять в операционной системе Microsoft Windows 95. 5. Требования к программной документации. Программная документация содержит - описание применения - руководство пользователя оператора - руководство
программиста. 6. Стадии и этапы разработки. 6.1. Стадия аналитической разработки - ознакомление с теоретическим материалом - аналитическая обработка теоретической информации. 6.2. Стадия программной разработки - формирование программы как отдельных структур - разработка и отладка полученных структур - объединение структур и формирование единой программы. 7. Порядок сдачи работы. 7.1. При сдаче работы производится демонстрация на
ЭВМ разработанной программы на контрольном примере. 7.2. Копии всех документов включают - исходный текст программы - загрузочные модули - текстовую документацию. Копии передаются на магнитном носителе на кафедру не позднее, чем за 3 дня до защиты. Утверждаю
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |
Реферат | Санитарно-техническое оборудование зданий. Пояснительная записка |
Реферат | Нобелевские премии по медицине и физиологии |
Реферат | Империя в XVIII веке |
Реферат | Джон Дьюи — философ и педагог-реформатор |
Реферат | Проблемы взаимодействия семьи и детского дошкольного учреждения в формировании готовности ребенка к школьному обучению |
Реферат | Чудеса природы. Европа |
Реферат | Нижегородская область |
Реферат | Мозамбик |
Реферат | Эфиопия |
Реферат | Вода на планете |
Реферат | Метод деформируемого многогранника |
Реферат | Энергетика мира |
Реферат | Політичний статус змі за системи поділу влади |
Реферат | Мальдивы |
Реферат | Становление сёгуната Токугава |