Компьютерная графика, мультимедиа и игры на Visual C#




Глава Изображение и управление трехмерными объектами в трехмерном пространстве - часть 6


    DesigningLine(-R, -H, 0, -C, -H, A);

    DesigningLine(-C, -H, A, -D, -H, B);

    DesigningLine(-D, -H, B, -D, -H, -B);

    DesigningLine(-D, -H, -B, -C, -H, -A);

    DesigningLine(-C, -H, -A, -R, -H, 0);

    DesigningLine(-R, -H, 0, 0, -1, 0);

    DesigningLine(-C, -H, A, 0, -1, 0);

    DesigningLine(-D, -H, B, 0, -1, 0);

    DesigningLine(-D, -H, -B, 0, -1, 0);

    DesigningLine(-C, -H, -A, 0, -1, 0);

    DesigningLine(R, H, 0, -D, -H, B);

    DesigningLine(R, H, 0, -D, -H, -B);

    DesigningLine(C, H, A, -D, -H, B);

    DesigningLine(C, H, A, -C, -H, A);

    DesigningLine(D, H, B, -C, -H, A);

    DesigningLine(D, H, B, -R, -H, 0);

    DesigningLine(D, H, -B, -R, -H, 0);

    DesigningLine(D, H, -B, -C, -H, -A);

    DesigningLine(C, H, -A, -C, -H, -A);

    DesigningLine(C, H, -A, -D, -H, -B);

    Icosahedron_last = NumLines;

}

//Объявляем структуру Line и массивы этой структуры:

public struct Line

{

    //Объявляем массивы для соединения точек (points):

    public float[] fr_points;

    public float[] to_points;

    //Массивы для соединения преобразованных точек:

    //(transformed (tr) points):

    public float[] fr_tr_points;

    public float[] to_tr_points;

    //Создаем и инициализируем  массивы, т.е.

    //всем пяти элементам каждого массива присваиваем 0:

    public void Initialize()

    {

        fr_points = new float[5];

        to_points = new float[5];

        fr_tr_points = new float[5];

        to_tr_points = new float[5];

    }

}

//Объявляем массив Lines структуры Line, оператором new

//создаем массив из 100 элементов и инициализируем его,

//т.е всем элементам этого массива присваиваем значение null:

public Line[] Lines = new Line[100];

//Объявляем и инициализируем переменную для индекса массива:

public int NumLines = 0;

//Проектируем линию между точками (x1,y1,z1),(x2,y2,z2):

public void DesigningLine(float x1, float y1, float z1,

                          float x2, float y2, float z2)

{

    NumLines = NumLines + 1;




Содержание  Назад  Вперед