Е.И. Большакова - Задания практикума по объектно-ориентированному программированию (1162571), страница 2
Текст из файла (страница 2)
ВариантыДемонстрационные модели физических явленийКомпьютерная модель Солнечной системыНеобходимо изобразить на экране компьютера Солнце и восемь планетСолнечной системы (от Меркурия до Нептуна), а также основные их спутники(например, для Земли – Луну, для Марса – Фобос и Деймос), в их движении поорбитам. Можно считать, что вращение планет вокруг Солнца происходит водной плоскости (поскольку плоскости орбит планет близки к плоскости земнойорбиты), к этой плоскости можно отнести и орбиты спутников планет. Вращениепланет вокруг своей оси можно не учитывать. Требуется также смоделировать ипоказать одно из астрономических событий в Солнечной системе: пролеткометы через Солнечную систему, запуск с какой-либо планеты искусственногоспутника, перелет ракеты с планеты на планету или другое.Цель моделирования – наблюдение различных конфигураций планет и ихспутников, а также выбранного астрономического события.
В изменяемыепараметры моделирования следует включить массу и начальную скоростькометы, космического корабля (ракеты) или искусственного спутника.Моделирование движения планет может базироваться на трех законахКеплера, определяющих эллиптические орбиты планет и спутников,количественные изменения скорости движения планеты по орбите и связьсредних расстояний планет от Солнца с периодами их звездных обращений.Моделирование может осуществляться и на основе закона всемирного тяготенияНьютона – это более точный способ, поскольку позволяет учесть притяженияпланет друг к другу, а не только к Солнцу. При моделировании на основе законаНьютона для расчета местоположения планет потребуется численно решатьсистему дифференциальных уравнений второго порядка – для этого могут бытьприменен метод Рунге-Кутта или другой численный метод.При моделировании следует учесть, что траектория движения спутникаскладывается из двух вращательных движений: вращения спутника вокруг своейпланеты и вращения планеты вокруг Солнца.
Необходимо учесть такжезависимость вида траектории кометы или ракеты (эллипс, парабола илигипербола) от величины их начальной скорости.При визуализации Солнечной системы на экране компьютера должнобыть соблюдено правильное соотношение размеров орбит планет и скоростей ихдвижения (т.е. они должны быть пропорциональны их реальным значениям).Соотношение размеров изображений самих планет также должносоответствовать действительности, но при этом для наглядности масштаб ихизображения должен быть больше масштаба показа их орбит, иначе некоторыепланеты отображаются на экране точками. Кроме того, поскольку при показе наэкране сразу всех восьми планет Солнечной системы изображения ближайших кСолнцу планет (и их спутников) получаются слишком мелкими и сливаютсядруг с другом, следует либо использовать крупный масштаб и предоставитьскроллинг изображения, либо предусмотреть визуализацию Солнечной системы6в двух масштабах (для всех планет и для ближайших к Солнцу).
Пользовательдолжен иметь возможность включать и отключать показ названий планет испутников, их орбит и траекторий движения других тел, а также ускорять илизамедлять движение тел в Солнечной системе.Система разработки оптических конструкций из линзРазрабатываемая конструкция состоит из N (1≤ N≤ 5) различных тонкихлинз, расположенных вдоль одной горизонтальной оптической оси (на этой осирасположены центры линз). Линзы могут быть двух основных типов –рассеивающие и собирающие линзы, для каждого типа возможны 3 вида линз, аименно: для первого типа – плосковыпуклая линза, двояковыпуклая линза,собирающий мениск; для второго типа – плосковогнутая линза, двояковогнутаялинза, рассеивающий мениск [1].Для задания оптической конструкции (конфигурации линз) необходимоопределить количество линз, их тип, вид и фокусное расстояние, а также указатьих местоположение на оптической оси.
Основная функция программнойсистемы – проведение оптического эксперимента для заданной конструкции,при котором определяются и показываются пути лучей света от некоторогоисходного объекта через эту конфигурацию линз, а также показываетсясформированное каждой линзой реальное или мнимое изображение объекта.Исходный объект имеет линейный размер и ориентацию (по вертикали) иизображается обычно стрелкой, направленной вверх или вниз. Дляформируемого изображения этого объекта должны быть определены и показанылинейный размер, место расположения на оптической оси и ориентация.Система должна различать реальные и мнимые изображения, используя при ихвизуализации, например, разные цвета.Если конфигурация состоит только из одной тонкой линзы, и исходныйобъект не находится ни в бесконечности, ни в точке фокуса этой линзы, толинза сформирует изображение, расстояние Li которого от центра линзыопределяется из равенства1 / L0 + 1 / Li = 1 / Fгде L0 – расстояние от объекта до центра линзы, а F – фокусное расстояниелинзы (фокусное расстояние собирающей линзы положительное, фокусноерасстояние рассеивающей линзы – отрицательное).
Получаемое изображениебудет либо реальным (в случае собирающей линзы), либо мнимым (в случаерассеивающей), оно может располагаться в зависимости от величины L0 и знакаF или с той же стороны линзы, что и сам объект, или на противоположнойстороне. Линейное увеличение D изображения, осуществляемое одиночной.линзой, определяется по формулеD = – Li / L0Система разработки оптических конструкций должна допускать такжеслучай, когда исходный объект находится в бесконечности и от него на линзуидут параллельные лучи света (при этом в зависимости от типа линзы лучи либорассеиваются, либо собираются в точке фокуса), и случай, когда объектрасположен в точке фокуса (тогда из линзы выходят параллельные лучи света).Точка, в которой формируется реальное или мнимое изображение,определяется пересечением трех главных лучей, которые получаются так:71.
Луч, параллельный оптической оси, после преломления в линзе, проходитчерез точку фокуса собирающей линзы или является продолжением луча,выходящего из точки фокуса рассеивающей линзы;2. Луч, проходящий через центр тонкой линзы, не отклоняется;3. Луч, проходящий через точку фокуса или идущий по направлению к ней,выходит параллельным оптической оси.В общем случае в конструкцию входит более одной линзы, и реальноеизображение, сформированное одной линзой, служит исходным объектом дляследующей линзы в ряду линз вдоль оптической оси.Пользователь системы должен иметь возможность:• определять и изменять все параметры оптического эксперимента, включаявиды и фокусные расстояния линз, их позицию на оптической оси, размеры иориентацию исходного объекта;• запоминать копию оптического эксперимента в файле, сохраняя все егопараметры, и считывать эту копию из файла в рабочее окно;• включать и выключать изображения масштабной шкалы (линейки) вдольоптической оси, путей лучей через линзы и сформированных изображенийобъекта.Требуется, чтобы указанные действия пользователь мог производить впроизвольном, удобном для него порядке, и изменение одного параметраэксперимента не должно затрагивать все остальные установленные параметры.Модель оптических экспериментов в зеркальной комнатеЗеркальная комната представляет в плане произвольный замкнутый Мугольник (4≤ М≤ 9), каждая стена – плоское или сферическое зеркало.
Дляпроведения экспериментов необходимо определить для каждой стены комнатывид зеркала (плоское или сферическое), а для каждого сферического зеркала –его тип (вогнутое или выпуклое) и радиус кривизны.Основная функция программной системы – проведение оптическогоэксперимента, при котором из некоторой точки на одной из стен комнаты, подопределенным углом к этой стене (угол может варьироваться от 0 до 180градусов) выпускается луч света, и затем показывается его путь внутри комнатыс учетом отражений от зеркал. Траектория луча определяется физическимизаконами отражения от зеркальных поверхностей.Цель моделирования – подбор пользователем системы параметров зеркали исходного угла выпущенного луча, при которых луч, отражаясь от зеркальныхстен, попадает в нужную точку (зону) комнаты.При визуализации оптического эксперимента должен быть показан планкомнаты и изображен путь луча в комнате.Пользователь системы должен иметь возможность:• определять число М стен комнаты и рисовать ее план (например, указываямышью на экране компьютера угловые точки комнаты);• задавать и изменять параметры зеркал (вид, тип, радиус кривизны), точкувыпускания луча и его исходный угол;8• запоминать в файле копию оптического эксперимента, сохраняя все егопараметры, и считывать сохраненную копию из файла в рабочее окно.Требуется, чтобы указанные действия пользователь мог производить впроизвольном, удобном для него порядке, и изменение одного параметраэксперимента не должно затрагивать другие установленные параметры.Возможно усложнение рассматриваемой задачи, когда при отражении отзеркальной поверхности учитывается эффект рассеивания света – в этом случаепосле нескольких отражений луч становится невидимым.
При этом в числопараметров эксперимента входят коэффициенты рассеивания каждого зеркала.Система конструирования и расчета электрических схемРассматривается замкнутая электрическая цепь, по которой течетпостоянный ток. В цепь включено N (1≥ N≥ 12) элементов нескольких видов:электрическая лампочка, резистор, электронагревательный прибор, источникпостоянного тока (э.д.с.), выключатель (замыкающий ключ). В цепь могутвходить две-три подцепи, а значит, в ней есть точки разветвления тока.Основная функция программной системы – расчет для заданнойэлектрической схемы основных ее характеристик, т.е. величины тока в каждойее точке и величины напряжения между двумя произвольными точками.Вычисление характеристик цепи производится на основе законов Ома (длязамкнутой цепи и для участка цепи).Цель моделирования – конструирование и исследование пользователемсистемы нужной электрической схемы, например, схемы электрического реле,состоящего из основной цепи и замыкающей (размыкающей, переключающей)подцепи.
Пользователь системы должен иметь возможность:• Задать контур электрической цепи, либо выбрав его из несколькихвозможных (зафиксированных в системе), либо определив мышью основныеее точки (включая точки разветвления тока);• Расположить в нужных точках заданного контура необходимые элементы изадать их внутренние характеристики (включая величину внутреннегосопротивления);• Изменять расположение отдельных элементов заданной цепи и иххарактеристики, а также замыкать и размыкать входящие в цепьвыключатели (замыкающие ключи);• Узнавать величины тока, напряжения и сопротивления в определенныхточках/участках построенной схемы;• Запоминать построенную схему в файле и считывать ее из файла в рабочееокно.Необходимо, чтобы указанные действия пользователь мог производить впроизвольном, удобном для него порядке, и изменение характеристик ирасположения отдельных элементов построенной схемы не должно затрагиватьуже установленные характеристики других элементов.Визуализация электрической схемы должна включать изображение цепи ивсех входящих в нее элементов, а также показ текущего состояния9выключателей (замыкающих ключей) и горящих лампочек, сигнализирующих оналичии тока на соответствующем участке цепи.Моделирование движения транспортаМоделирование движения на автострадеРассматривается движение автомобилей на прямом однорядном(однополосном) участке автострады без перекрестков, в течение некотороговремени.