Автор24

Информация о работе

Подробнее о работе

Страница работы

Моделирование движения небесных тел

  • 49 страниц
  • 2015 год
  • 56 просмотров
  • 0 покупок
Автор работы

EkaterinaKonstantinovna

Большой опыт в написании работ, очень давно работаю на этом ресурсе, выполнила более 15000 заказов

660 ₽

Работа будет доступна в твоём личном кабинете после покупки

Гарантия сервиса Автор24

Уникальность не ниже 50%

Фрагменты работ

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

Оглавление
Введение 2
Трехмерная графика 3
Описание работы программы 4
Процесс преобразования координат 5
Описание классов и методов в программе 7
Описание файлового формата моделей 11
Интерфейс программы 13
Список литературы 14
Исходный код 15
ObjLoader 16
Matrix 18
Vector 22
Model 26
Основная форма 39

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

фрагмент
Model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;

namespace earth
{
public class TriIndex
{
public int[]
v = new int[3],
n = new int[3],
t = new int[3];

public void SetV(int v0, int v1, int v2)
{
v[0] = v0;
v[1] = v1;
v[2] = v2;
}
public void SetV(int _v, int i)
{
v[i] = _v;
}

public void SetN(int n0, int n1, int n2)
{
n[0] = n0;
n[1] = n1;
n[2] = n2;
}
public void SetN( int _n, int i )
{
n[i] = _n;
}

public void SetT(int t0, int t1, int t2)
{
t[0] = t0;
t[1] = t1;
t[2] = t2;
}
public void SetT( int _t, int i )
{
t[i] = _t;
}

public void Copy(int to_i, TriIndex from, int from_i)
{
v[to_i] = from.v[from_i];
n[to_i] = from.n[from_i];
t[to_i] = from.t[from_i];
}

public TriIndex()
{
}

public TriIndex(int v1, int v2, int v3)
{
SetV(v1, v2, v3);
}
}

// Рисует треугольники к примеру
public class Mesh
{
public const int mNormals = 1;
public const int mTex = 2;
public const int mIndexed = 4;

public List Vertices;
public List Normals = null;
public List TexCoords = null;

public int Flags = 0;

public List Tris = null;

bool is_new(int fl, int m)
{
return ((Flags & m) == 0) & ((fl & m) != 0);
}

public void AddCap( int fl)
{
if (is_new( fl, mNormals ))
Normals = new List();

if (is_new( fl, mTex))
TexCoords = new List();

if (is_new( fl, mIndexed))
Tris = new List();

Flags |= fl;
}

public Mesh(int fl)
{
Flags = 0;

Vertices = new List();
AddCap(fl);
}

Vector GetNorm(int tr_i)
{
Vector n, v, v2;

TriIndex tri = Tris[tr_i];


Форма заказа новой работы

Не подошла эта работа?

Закажи новую работу, сделанную по твоим требованиям

Согласен с условиями политики конфиденциальности и  пользовательского соглашения

Фрагменты работ

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

Оглавление
Введение 2
Трехмерная графика 3
Описание работы программы 4
Процесс преобразования координат 5
Описание классов и методов в программе 7
Описание файлового формата моделей 11
Интерфейс программы 13
Список литературы 14
Исходный код 15
ObjLoader 16
Matrix 18
Vector 22
Model 26
Основная форма 39

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

фрагмент
Model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;

namespace earth
{
public class TriIndex
{
public int[]
v = new int[3],
n = new int[3],
t = new int[3];

public void SetV(int v0, int v1, int v2)
{
v[0] = v0;
v[1] = v1;
v[2] = v2;
}
public void SetV(int _v, int i)
{
v[i] = _v;
}

public void SetN(int n0, int n1, int n2)
{
n[0] = n0;
n[1] = n1;
n[2] = n2;
}
public void SetN( int _n, int i )
{
n[i] = _n;
}

public void SetT(int t0, int t1, int t2)
{
t[0] = t0;
t[1] = t1;
t[2] = t2;
}
public void SetT( int _t, int i )
{
t[i] = _t;
}

public void Copy(int to_i, TriIndex from, int from_i)
{
v[to_i] = from.v[from_i];
n[to_i] = from.n[from_i];
t[to_i] = from.t[from_i];
}

public TriIndex()
{
}

public TriIndex(int v1, int v2, int v3)
{
SetV(v1, v2, v3);
}
}

// Рисует треугольники к примеру
public class Mesh
{
public const int mNormals = 1;
public const int mTex = 2;
public const int mIndexed = 4;

public List Vertices;
public List Normals = null;
public List TexCoords = null;

public int Flags = 0;

public List Tris = null;

bool is_new(int fl, int m)
{
return ((Flags & m) == 0) & ((fl & m) != 0);
}

public void AddCap( int fl)
{
if (is_new( fl, mNormals ))
Normals = new List();

if (is_new( fl, mTex))
TexCoords = new List();

if (is_new( fl, mIndexed))
Tris = new List();

Flags |= fl;
}

public Mesh(int fl)
{
Flags = 0;

Vertices = new List();
AddCap(fl);
}

Vector GetNorm(int tr_i)
{
Vector n, v, v2;

TriIndex tri = Tris[tr_i];


Купить эту работу

Моделирование движения небесных тел

660 ₽

или заказать новую

Лучшие эксперты сервиса ждут твоего задания

от 500 ₽

Гарантии Автор24

Изображения работ

Страница работы
Страница работы
Страница работы

Понравилась эта работа?

или

10 июня 2017 заказчик разместил работу

Выбранный эксперт:

Автор работы
EkaterinaKonstantinovna
4.6
Большой опыт в написании работ, очень давно работаю на этом ресурсе, выполнила более 15000 заказов
Купить эту работу vs Заказать новую
0 раз Куплено Выполняется индивидуально
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что уровень оригинальности работы составляет не менее 40%
Уникальность Выполняется индивидуально
Сразу в личном кабинете Доступность Срок 1—6 дней
660 ₽ Цена от 500 ₽

5 Похожих работ

Курсовая работа

Создание базы данных для автоматизации процесса управления кадрами на предприятии

Уникальность: от 40%
Доступность: сразу
1000 ₽
Курсовая работа

Оптимизация сайта при помощи методов ИИ для увеличения конверсионного действия

Уникальность: от 40%
Доступность: сразу
300 ₽
Курсовая работа

Сравнение операционных систем Linux, Windows и MacOS

Уникальность: от 40%
Доступность: сразу
400 ₽
Курсовая работа

Разработка программы обработки списка смартфонов

Уникальность: от 40%
Доступность: сразу
350 ₽
Курсовая работа

Решение задач многомерной оптимизации. Методы безусловной оптимизации. Поиск условного экстремума, используя квадратичный штраф. (MathCad, Python).

Уникальность: от 40%
Доступность: сразу
1000 ₽

Отзывы студентов

Отзыв Далиас об авторе EkaterinaKonstantinovna 2018-05-11
Курсовая работа

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

Общая оценка 5
Отзыв pocya об авторе EkaterinaKonstantinovna 2016-04-07
Курсовая работа

Спасибо за работу!

Общая оценка 5
Отзыв Марина [email protected] об авторе EkaterinaKonstantinovna 2015-08-25
Курсовая работа

все отлично, спасибо!

Общая оценка 5
Отзыв Татьяна_5085 об авторе EkaterinaKonstantinovna 2016-09-15
Курсовая работа

Все ОК

Общая оценка 5

другие учебные работы по предмету

Готовая работа

Принципы работы нейросетей. Виды и принципы работы нейросетей

Уникальность: от 40%
Доступность: сразу
300 ₽
Готовая работа

Рисунок нарисованный в Visual Studio на C++ MFC-приложение

Уникальность: от 40%
Доступность: сразу
200 ₽
Готовая работа

Шифрование C# - AES; WPF.

Уникальность: от 40%
Доступность: сразу
3000 ₽
Готовая работа

Зачётная работа по предмету Web-инженеринг. Сайт

Уникальность: от 40%
Доступность: сразу
100 ₽
Готовая работа

парсинг Python

Уникальность: от 40%
Доступность: сразу
2000 ₽
Готовая работа

Вращающиеся кольца ( Торы )

Уникальность: от 40%
Доступность: сразу
400 ₽
Готовая работа

Парсинг веб-сайта elibrary на Python

Уникальность: от 40%
Доступность: сразу
15000 ₽
Готовая работа

Шифрование текста с Аутентификацией каждого пользователя, на основе алгоритма AES - 128 битного ключа, реализованного на WPF

Уникальность: от 40%
Доступность: сразу
400 ₽
Готовая работа

Разработка приложения, определяющего связность неориентированного графа

Уникальность: от 40%
Доступность: сразу
660 ₽
Готовая работа

Разработка прикладного программного обеспечения «Клавиатурный тренажер»

Уникальность: от 40%
Доступность: сразу
1350 ₽
Готовая работа

АИС сети автосалонов, C# и MS SQL. База данных.

Уникальность: от 40%
Доступность: сразу
500 ₽
Готовая работа

-

Уникальность: от 40%
Доступность: сразу
490 ₽