🗊Презентация Компьютерная геометрия

Нажмите для полного просмотра!
Компьютерная геометрия, слайд №1Компьютерная геометрия, слайд №2Компьютерная геометрия, слайд №3Компьютерная геометрия, слайд №4Компьютерная геометрия, слайд №5Компьютерная геометрия, слайд №6Компьютерная геометрия, слайд №7Компьютерная геометрия, слайд №8Компьютерная геометрия, слайд №9Компьютерная геометрия, слайд №10Компьютерная геометрия, слайд №11Компьютерная геометрия, слайд №12Компьютерная геометрия, слайд №13Компьютерная геометрия, слайд №14Компьютерная геометрия, слайд №15Компьютерная геометрия, слайд №16Компьютерная геометрия, слайд №17Компьютерная геометрия, слайд №18Компьютерная геометрия, слайд №19

Вы можете ознакомиться и скачать презентацию на тему Компьютерная геометрия. Доклад-сообщение содержит 19 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Компьютерная геометрия
Компьютерная геометрия есть математический аппарат, положенный в основу компьютерной графики.
Описание слайда:
Компьютерная геометрия Компьютерная геометрия есть математический аппарат, положенный в основу компьютерной графики.

Слайд 2





Двухмерные преобразования
Координаты точек задаются вектором [x,y] 
Перенос на плоскости 
Умножение на матрицу общего вида
Описание слайда:
Двухмерные преобразования Координаты точек задаются вектором [x,y] Перенос на плоскости Умножение на матрицу общего вида

Слайд 3





Масштабирование, отражение, сдвиг
Масштабирование
Отражение
Сдвиг
Описание слайда:
Масштабирование, отражение, сдвиг Масштабирование Отражение Сдвиг

Слайд 4





Преобразование единичного квадрата
Коэф. матрицы преобразования эквивалентны координатам B* и D*
Описание слайда:
Преобразование единичного квадрата Коэф. матрицы преобразования эквивалентны координатам B* и D*

Слайд 5





Поворот единичного квадрата
Координаты B*: х*=(1)cos  и y=(1)sin 
Координаты D*: x*=(-1)sin  и y*=(1)cos 
Матрица преобразований:
Описание слайда:
Поворот единичного квадрата Координаты B*: х*=(1)cos  и y=(1)sin  Координаты D*: x*=(-1)sin  и y*=(1)cos  Матрица преобразований:

Слайд 6





Однородные координаты
Преобразования переноса, масштабирования и поворота в матричной форме P*=P+T, P*=P*S, P*=P*R целесообразно унифицировать!
Переход в однородные координаты:
Точки задаются вектором [x,y,1]
Матрица преобразований:
Описание слайда:
Однородные координаты Преобразования переноса, масштабирования и поворота в матричной форме P*=P+T, P*=P*S, P*=P*R целесообразно унифицировать! Переход в однородные координаты: Точки задаются вектором [x,y,1] Матрица преобразований:

Слайд 7





Нормализация
В общем случае Н  1, и преобразованные обычные координаты получаются за счет нормализации однородных координат, т. е.
Описание слайда:
Нормализация В общем случае Н  1, и преобразованные обычные координаты получаются за счет нормализации однородных координат, т. е.

Слайд 8





Геометрический смысл нормализации
Описание слайда:
Геометрический смысл нормализации

Слайд 9





Матрицы преобразований для однородных координат
Перенос 
                   Поворот
Масштаб
Описание слайда:
Матрицы преобразований для однородных координат Перенос Поворот Масштаб

Слайд 10





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

Слайд 11





Трехмерные преобразования
Правосторонняя система координат
Описание слайда:
Трехмерные преобразования Правосторонняя система координат

Слайд 12





Однородные координаты
[X,Y,Z,H] = [x,y,x,1] * T


T = 
[x*,y*,z*,1] =[                   ], где Н1, Н 0
Описание слайда:
Однородные координаты [X,Y,Z,H] = [x,y,x,1] * T T = [x*,y*,z*,1] =[ ], где Н1, Н 0

Слайд 13





Трехмерный перенос

T(Dx,Dy,Dz)=
Трехмерное изменение масштаба
Описание слайда:
Трехмерный перенос T(Dx,Dy,Dz)= Трехмерное изменение масштаба

Слайд 14





Трехмерный сдвиг
[x y z 1]*                          = [x+yd+hz, bx+y+iz, cx+fy+z, 1].
Описание слайда:
Трехмерный сдвиг [x y z 1]* = [x+yd+hz, bx+y+iz, cx+fy+z, 1].

Слайд 15





Трехмерное вращение
Rz=
                                     Rx=
Ry=
Описание слайда:
Трехмерное вращение Rz= Rx= Ry=

Слайд 16





Пример реализации:
//инициализация начальных данных
procedure TForm1.FormCreate(Sender: TObject);
begin
//задание начальных координат
     a[1,1]:=-50; a[1,2]:= 50;   a[1,3]:=0;  a[1,4]:=1;
     a[2,1]:= 50; a[2,2]:= 50;   a[2,3]:=0;  a[2,4]:=1;
     a[7,1]:= 25; a[7,2]:=-25;   a[7,3]:=25;  a[7,4]:=1;
     a[8,1]:=-25; a[8,2]:=-25;   a[8,3]:=25;  a[8,4]:=1;
//задание матрицы преобразования
     m[1,1]:=1;  m[1,2]:=0; m[1,3]:=0;  m[1,4]:=0;
     m[2,1]:=0;  m[2,2]:=1; m[2,3]:=0;  m[2,4]:=0;
     m[3,1]:=0;  m[3,2]:=0; m[3,3]:=1;  m[3,4]:=0;
     m[4,1]:=0;  m[4,2]:=0; m[4,3]:=0;  m[4,4]:=1;
end;
Описание слайда:
Пример реализации: //инициализация начальных данных procedure TForm1.FormCreate(Sender: TObject); begin //задание начальных координат a[1,1]:=-50; a[1,2]:= 50; a[1,3]:=0; a[1,4]:=1; a[2,1]:= 50; a[2,2]:= 50; a[2,3]:=0; a[2,4]:=1; a[7,1]:= 25; a[7,2]:=-25; a[7,3]:=25; a[7,4]:=1; a[8,1]:=-25; a[8,2]:=-25; a[8,3]:=25; a[8,4]:=1; //задание матрицы преобразования m[1,1]:=1; m[1,2]:=0; m[1,3]:=0; m[1,4]:=0; m[2,1]:=0; m[2,2]:=1; m[2,3]:=0; m[2,4]:=0; m[3,1]:=0; m[3,2]:=0; m[3,3]:=1; m[3,4]:=0; m[4,1]:=0; m[4,2]:=0; m[4,3]:=0; m[4,4]:=1; end;

Слайд 17





Обработчик нажатия кнопки
procedure TForm1.RotateYExecute(Sender: TObject);
begin
    if XAngle.Text = '' then alfa := 0.2
    else alfa := StrToInt(YAngle.Text)*2*Pi/360;
    m[1,1]:=cos(alfa); m[1,2]:=0; m[1,3]:=-sin(alfa); m[1,4]:=0;
    m[2,1]:=0;         m[2,2]:=1; m[2,3]:=0;          m[2,4]:=0;
    m[3,1]:=sin(alfa); m[3,2]:=0; m[3,3]:=cos(alfa);  m[3,4]:=0;
    m[4,1]:=0;         m[4,2]:=0; m[4,3]:=0;          m[4,4]:=1;
    ABCxM; //вызов подпрограммы умножения матриц
end;
Описание слайда:
Обработчик нажатия кнопки procedure TForm1.RotateYExecute(Sender: TObject); begin if XAngle.Text = '' then alfa := 0.2 else alfa := StrToInt(YAngle.Text)*2*Pi/360; m[1,1]:=cos(alfa); m[1,2]:=0; m[1,3]:=-sin(alfa); m[1,4]:=0; m[2,1]:=0; m[2,2]:=1; m[2,3]:=0; m[2,4]:=0; m[3,1]:=sin(alfa); m[3,2]:=0; m[3,3]:=cos(alfa); m[3,4]:=0; m[4,1]:=0; m[4,2]:=0; m[4,3]:=0; m[4,4]:=1; ABCxM; //вызов подпрограммы умножения матриц end;

Слайд 18





Подпрограмма умножения матриц
Procedure TForm1.ABCxM; 
var i,j,k: Integer;
      b: array[1..4] of real;
begin
     for j:=1 to 8 do
         begin
         for i:=1 to 4 do
             b[i]:=a[j,1]*m[1,i]+a[j,2]*m[2,i]+a[j,3]*m[3,i]+a[j,4]*m[4,i];
         for k:=1 to 4 do
             a[j,k]:=b[k];
         end;
     //Не забудьте про нормализацию
     PaintBox1.Repaint; // Принудительный вызов перерисовки 
end;
Описание слайда:
Подпрограмма умножения матриц Procedure TForm1.ABCxM; var i,j,k: Integer; b: array[1..4] of real; begin for j:=1 to 8 do begin for i:=1 to 4 do b[i]:=a[j,1]*m[1,i]+a[j,2]*m[2,i]+a[j,3]*m[3,i]+a[j,4]*m[4,i]; for k:=1 to 4 do a[j,k]:=b[k]; end; //Не забудьте про нормализацию PaintBox1.Repaint; // Принудительный вызов перерисовки end;

Слайд 19





Перерисовка (обработка onPaint)
procedure TForm1.PaintBox1Paint(Sender: TObject);
var x,y: Integer;
begin
x := PaintBox1.Width div 2;
y := PaintBox1.Height div 2;
  with PaintBox1.Canvas do
     begin
        //оси
        MoveTo(X,0);         LineTo(X,Height);
        MoveTo(0,Y);        LineTo(Width,y);
        //тело
        MoveTo(X+round(a[1,1]),Y-round(a[1,2]));
        LineTo(X+round(a[2,1]),round(Y-a[2,2]));
        LineTo(X+round(a[3,1]),Y-round(a[3,2]));
        MoveTo(X+round(a[4,1]),Y-round(a[4,2]));
        LineTo(X+round(a[8,1]),Y-round(a[8,2]));
      end;
end;
Описание слайда:
Перерисовка (обработка onPaint) procedure TForm1.PaintBox1Paint(Sender: TObject); var x,y: Integer; begin x := PaintBox1.Width div 2; y := PaintBox1.Height div 2; with PaintBox1.Canvas do begin //оси MoveTo(X,0); LineTo(X,Height); MoveTo(0,Y); LineTo(Width,y); //тело MoveTo(X+round(a[1,1]),Y-round(a[1,2])); LineTo(X+round(a[2,1]),round(Y-a[2,2])); LineTo(X+round(a[3,1]),Y-round(a[3,2])); MoveTo(X+round(a[4,1]),Y-round(a[4,2])); LineTo(X+round(a[8,1]),Y-round(a[8,2])); end; end;



Похожие презентации
Mypresentation.ru
Загрузить презентацию