0 / 0 / 0
Регистрация: 10.03.2014
Сообщений: 4
1
.NET 4.x

Моделирование полета крылатой ракеты

10.03.2014, 18:18. Показов 6275. Ответов 9
Метки нет (Все метки)

Доброго времени суток! В универе получил задание по курсовой работе.
Кликните здесь для просмотра всего текста

Введение.
Для управления полетом крылатой ракеты используются цифровые картины (карты) предварительно отснятых районов местности по маршруту полета. Комплект из лазерного, инфракрасного и спутникового оборудования определяют положение ракеты и цели на карте, а бортовая ЭВМ прокладывает текущий курс ракеты с учетом ре-льефа местности.
Постановка задачи.
Разработать программную систему, которая определяет полет крылатой ракеты над пересеченной местностью к двигающейся цели.
Ландшафт моделируется на основе карты высот. Начальное положение цели и точка, куда она перемещается, определяются при помощи генератора случайных чисел.

Хотелось бы получить небольшую консультацию по поводу этого задания (с чего начать, куда копать), либо какую-нибудь литературу полистать.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2014, 18:18
Ответы с готовыми решениями:

Выполните компьютерное моделирование наведения ракеты в точку на экране
Помогите решить следующую задачу: Выполните компьютерное моделирование наведения ракеты в точку...

формула расчета дальности полета ракеты
Здравствуйте! Возможно ли теоритически расчитать дальность полета ракеты под определеным углом зная...

Как повлияет вращение Земли на дальность полета ракеты
По известной школьной формуле для дальности полета тела,брошенного под углом к горизонту, при...

Моделирование взлета ракеты
Может у кого есть какие идеи или наработки, поделитесь пожалуйста) а то сам не пойму с чего начать

9
Master of Orion
Эксперт .NET
6091 / 4947 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.03.2014, 18:22 2
aleXXXeius, ну насколько я понимаю, полистать 5-летний курс вузовской программы, например 230102, а также штук 15-20 различных дисциплин, начиная с матанализа и заканчивая стат.динамикой и моделированием систем...

А так ничего сложного.
0
Эксперт Java
3634 / 2967 / 917
Регистрация: 05.07.2013
Сообщений: 14,220
10.03.2014, 18:24 3
Какое-то не очень полное условие. По идее, чтоб проложить маршрут необходимо знать как именно может двигаться ракета. Ну и заодно понять, что именно мешает нам пустить ракету на высоте больше самой высокой точки местности, например.

Psilon, что-то мне подсказывает, что тут все проще.
0
0 / 0 / 0
Регистрация: 10.03.2014
Сообщений: 4
10.03.2014, 18:25  [ТС] 4
понимаете ли, программирование на C# у нас было лишь 1 семестр (а я на 2 курсе), а сейчас курсач и нету даже пар по информатике
я знал, что у нас препод странный, но чтобы настолько..
Бобров_задание.zip вот кстати документ с полным условием задания, оно вроде бы олимпиадное
0
Master of Orion
Эксперт .NET
6091 / 4947 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.03.2014, 18:26 5
aleXXXeius, хотя зависит от условий. Если мы берем теоретически идеальные, то тогда достаточно простого поиска пути с помощью A*

Добавлено через 37 секунд
aleXXXeius, не пугайтесь, если 1 курс, то условия идеальные. Тогда просто смотрите алгоритмы поиска пути.
1
Эксперт Java
3634 / 2967 / 917
Регистрация: 05.07.2013
Сообщений: 14,220
10.03.2014, 18:26 6
ну а вообще где-то так http://ru.wikipedia.org/wiki/%... 0.B0.D1.85
0
0 / 0 / 0
Регистрация: 10.03.2014
Сообщений: 4
10.03.2014, 18:44  [ТС] 7
это чтобы не качать документ, пояснительная записка к заданию
Кликните здесь для просмотра всего текста

Рекомендуемый алгоритм решения.
Моделирование ландшафта (30%)
Для хранения карт высот используется необработанный формат файлов RAW. Этот формат просто читать, поскольку он не содержит заголовков с какой-либо информацией об изображении, такой как размер или тип изображения. Размер карты может быть произвольный, но удобней использовать квадратную, с размером стороны кратным числу степени двойки: 128х128, 256х256....(в данном задании 1024х1024).
Файлы RAW являются просто двоичными файлами, содержащими только данные о высотах ландшафта. В 8-разрядных картах высот каждый байт внутри файла RAW представляет высоту вершины. Значения высот варьируются от 0 до 255, где 0 (черный цвет) представляет самую низкую высоту вершины, а 255 (белый цвет) представляет максимально возможную высоту вершины. Вы можете расширить этот интервал, используя коэффициент масштабирования, который умножается на заданное значение высоты, увеличивая его диапазон.
Чтобы построить ландшафт из карты высот вам сперва надо построить сетку вершин той же размерности, что и у карты высот, а затем использовать значение высоты точки (пикселя) из карты высот как высоту для вершины в сетке вершин. Точки выбираются через определенный шаг. Как известно, любая поверхность может быть достаточно точно представлена треугольниками. Поэтому любые четыре расположенные рядом точки карты высот задают прямоугольник, который мы разбиваем на два треугольника и рисуем. В OpenGL для этой цели можно использовать примитив типа GL_TRIANGLE_STRIP.
Способ раскраски ландшафта состоит в использовании интерполяции цветов. Так, рисуя треугольник, необходимо каждой вершине задать разный цвет. При этом OpenGL сам выполнит интерполяцию. Как известно в RGB режиме одна точка изображения описывается тремя байтами - значение Red, Green, Blue компоненты цвета. Если взять все три или одну из компонентов, как функцию высоты, то можно получить более качественное представление ландшафта — высокие точки будут более светлыми.

Моделирование траектории движения объектов (60%)
Над ландшафтом двигаются 2-а объекта — крылатая ракета и цель. Траектория движения каждого из них определяется 4-я точками:
pstart — начальная; ptarget — конечная; pcurrent— текущая; pnext— следующая после текущей .
Координата y точек определяется как функция высоты рельефа и координат x , z точки.
y= Height(x,z).
Координаты x и z точeк цели pstart и ptarget определяются при помощи генератора случайных чисел:
x= rand(); z= rand().
Точка pstart ракеты находится в начале системы координат (при этом y= Height(0,0)), конечная точка ракеты сов-падает с точкой pnext цели.
pакета.ptarget = цель.pnext.
Ракета и цель двигаются синхронно в пошаговом режиме - положение точек pcurrent и pnext определяется из па-раметрического уравнения отрезка прямой:
pcurrent.x = pstart.x + (ptarget.x - pstart.x) * i / Ik;
pcurrent.z = pstart.z + (ptarget.z - pstart.z) * i / Ik;
0 < = i < = Ik
pcurrent.y = Height(pcurrent.x, pcurrent.z).
Поражение цели происходит при i=Ik.

Моделирование сцены (100%)
Используются две системы координат. В глобальной XYZ моделируется ландшафт, определяются точки траектории объектов и положение локальной системы координат. В локальной xyz создается модель ракеты. Модель ракеты представляется двумя взаимно-перпендикулярными треугольниками, модель цели - точкой большого размера. Положение локальной системы координат относительно глобальной определяется текущей точкой траектории ракеты, а также углами pci (рыскания), teta (тангажа) и gama (крена).
Текущие параметры определяются координатами точек текущего положения ракеты (pcurrent и pnext ):
dx= pnext.x - pcurrent.x;
dy= pnext.y - pcurrent.y;
dz= pnext.z - pcurrent.z;
dl =sqrt ( pow(dx,2) +pow(dy,2)+pow(dz,2))
pci = atan (dx/dz)*180/3.14159;
teta = asin (dy/dl)*180/3.14159;
gama=k* d_pci.
d_pci = pci(i) – pci(i-1), коеффициент k задается, чтобы gama < 45
Запуск ракеты инициализируется нажатием на клавишу P (пуск). Параметры начального положения ракеты определяются начальным положением цели.
Геометрические преобразования реализуются в OpenGL с помощью функций:
glTranslate (x, y, z) - производит перенос, прибавляя к координатам значения своих параметров;
glRotate (angle, x, y, z) - производит поворот объекта на угол angle вокруг вектора ( x,y,z );
gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ) – направление взгляда на сцену.
Взрыв в момент, когда ракета достигает цели, имитируется сферой или точкой большого размера.
0
Эксперт Java
3634 / 2967 / 917
Регистрация: 05.07.2013
Сообщений: 14,220
10.03.2014, 18:51 8
Ну и вперед, рисуете поверхность, задаете начальные условия, ищете путь, рисуете, в конце делаете эффектный взрыв, все в восторге....
0
0 / 0 / 0
Регистрация: 10.03.2014
Сообщений: 4
11.03.2014, 11:10  [ТС] 9
а не затруднит вас дать более развернутый ответ по каждому из пунктов?)
0
Эксперт Java
3634 / 2967 / 917
Регистрация: 05.07.2013
Сообщений: 14,220
11.03.2014, 16:56 10
Про рисование ландшафта и ОГЛ можно попробовать поискать где-нибудь, где знают про геймдев, ну а дальше - у вас есть две точки в пространстве, это, стало быть, будет вектор, положение точек будет меняться с течением времени, стало быть надо будет определить, не пересекает ли вектор наш ландшафт, если пересекает, тогда можно этот вектор представить как сумму двух векторов, которые ландшафт не пересекают... ну и т.д. и т.п.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2014, 16:56
Помогаю со студенческими работами здесь

Моделирование многоступенчатой ракеты
Добрый день. Пытаюсь смоделировать движение многоступенчатой ракеты.(ракета имеет N ступеней с...

Модель полета ракеты класса Земля-земля
Нужно создать математическую модель полета ракеты на MathCad. Условия задачи: начальная масса...

Произвести моделирование взлёта ракеты
Произвести моделирование взлёта ракеты при значении параметров m0=1,5*10(в девятой степени)кг,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru