Пример готовой курсовой работы по предмету: Программирование
Содержание
Оглавление
Введение 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 v 0, int v 1, int v 2)
{
v[0]
= v 0;
v[1]
= v 1;
v[2]
= v 2;
}
public void SetV(int _v, int i)
{
v[i]
= _v;
}
public void SetN(int n 0, int n 1, int n 2)
{
n[0]
= n 0;
n[1]
= n 1;
n[2]
= n 2;
}
public void SetN( int _n, int i )
{
n[i]
= _n;
}
public void SetT(int t 0, int t 1, int t 2)
{
t[0]
= t 0;
t[1]
= t 1;
t[2]
= t 2;
}
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 v 1, int v 2, int v 3)
{
SetV(v 1, v 2, v 3);
}
}
// Рисует треугольники к примеру
public class Mesh
{
public const int mNormals = 1;
public const int mTex = 2;
public const int mIndexed = 4;
public List<Vector> Vertices;
public List<Vector> Normals = null;
public List<Vector> TexCoords = null;
public int Flags = 0;
public List<TriIndex> 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<Vector>();
if (is_new( fl, mTex))
TexCoords = new List<Vector>();
if (is_new( fl, mIndexed))
Tris = new List<TriIndex>();
Flags |= fl;
}
public Mesh(int fl)
{
Flags = 0;
Vertices = new List<Vector>();
AddCap(fl);
}
Vector GetNorm(int tr_i)
{
Vector n, v, v 2;
TriIndex tri = Tris[tr_i];