русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

НОРМАЛИЗОВАНЫЙ ВЕКТОР НОРМАЛИ.


Дата добавления: 2013-12-23; просмотров: 1177; Нарушение авторских прав


Описание выпуклого многоугольника на плоскости.

Свойства ВМ:

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

 

Треугольник - простейший выпуклый многоугольник.

 

Рисунок - три прямых с нормалями.

 

Описание

M1(x1,y1),M2(x2,y2),M3(x3,y3)

L:

 

Переход от одного описания к другому очевиден - треугольник ограничивает часть плоскости (его внутренности)

 

Определение принадлежности точки внутренности треуголника

 

Li:Aix + Biy + Ci = 0

I=1,2,3

Ni=()

Уравнения прямых можно выбрать так столбы вектора нормалей были направлены наружу - внутренность треугольника лежит в отрицательной полуплоскости (трижды)

 

Алгоритм принадлежности точки треугольнику:

1. Добиться чтобы внутренность была 3-ды отрицательной : преобразовать уравнения Li так, чтобы вершина Mj !€ находилась в отрицательной полуплоскости

2. Подставить координаты произвольгой точки в каждое из уравнений сторон , если все три числа "-" то точка внутри, иначе - нет.

Произвольный выпуклый многоугольник однозначно определяется своими вершинами - их лучше нумеровать последовательно.

 

Освещённость на плоскости. Проблема освещенности описывается математикой просто и её можно перенести на пространство. Есть 2 варианта освещённости:

1. Параллельным пучком

2. Расходящимися лучами с общим центом

Проще - параллельный пучёк

Рисунок.

 

Прямая описывается так, чтобы свет падал с положительной стороны тогда l указывает на удаааааааалёный участок, угол падения - от нормали.

Освещенность

I=k(n,l)=k || * || cos

Так как источник далеееееко - прямая будет освещена равномерно

 

Освещение угла

Две прямые, все сверху.

 

Интенсивность света зависит о углов падения свет и нормалей.



Для правильной оценки примем что нормали равны по модулю

 

 

Построение тени.

При освещении фигуры из удалёёёного источника, поместим на ней экран и посмотрим на тень многоугольника.

 

Заметка

 

А) находим неосвещенные стороны: углы ntnf тупые - скалярные произведения -отрицательные

Б) проецируем вершины примыкающие к вершинам на экран

В) проецируем неосвещенные прямые на прямую

Г) 2 крайние точки определяют длину тени

Д)определяем точек прямой лежащих вене отрезка тени

Е) Можно дополнительно пометить участки тени соотв. видимым граням и закрасит их по освещенности

 

При использовании точечного источника:

Задача определения освещённых и неосвещенных сторон и построения тени решаются аналогично рассмотренному

 

8 лекция 13:37 02.11.2008

Аффинные преобразования в пространстве.

3-х мерная графика обозначается как 3D.

 

координата задается xyz1

Четвёртая координата - время.

Каждая точка кроме 0 может быть записана 4-кой чисел не равных 0 определённых с точностью до общего множителя h.

 

Аналогично 2-мерному случаю используем матричное описание основных преобразований.

(l,m,n) - вектор перехода

 

 

1.

 
 

Матрица переноса

2. Матрицы вращения в пространстве

a) вращение вокруг оси абсцисс на угол j

é 1 0 0 0 ù

ê 0 cosj sinj 0 ê

[Rx] = ê 0 -sinj cosj 0 ê

ë 0 0 0 1 û

 

б) вращение вокруг оси ординат на угол y

é cosy 0 siny 0ù

ê 0 1 0 0 ê

[Ry] = ê -siny 0 cosy 0 ê

ë 0 0 0 1û

 

в) вращение вокруг оси аппликат на угол c

 

é cosc sinc 0 0 ù

ê -sinc cosc 0 0 ê

[Rz] = ê 0 0 1 0 ê

ë 0 0 0 1 û

3. Матрицы отражения

 
 

а) относительно плоскости xy

 

 
 

В общем виде, если есть матрица преобразования

 

то соответствующее ей преобразование можно записать в виде:

 

 

4. Матрица растяжения-сжатия

é a 0 0 0 ù

ê 0 b 0 0 ê

[D] = ê 0 0 g 0 ê

ë 0 0 0 1 û

где a>1 коэффициент растяжения вдоль оси абсцисс;

b>1 коэффициент растяжения вдоль оси ординат;

g>1 коэффициент растяжения вдоль оси аппликат.

 

 

Общее уравнение плоскости.

Ax+ By + Cy + D =0

При A^2+B^2+C^2 != 0

N = (A, B, C) - нормаль.

 

Рисунок.

 

Плоскость делит пространство на два полу пространства (+ и -). Нормаль светит в положительное пространство.

 

Уравнения прямой в пр-ве.

Для прямой через 2 точки

М1() и М2() можно записать парам уравнения

X = x1 + t(x2-x1)

y = y1 + t(y2-y1)

z = z1 + t(z2-z1)

-00 <t < +00

Описывают все точки.

 

X=(1-t)x1 + tx2

y=(1-t)y1 + ty2

z=(1-t)z1 + tz2

Описывают очки отрезка.

 

Каноническое:

(x-x1)/(x2-x1)=(y-y1)/(y2-y1)=(x-x1)/(x2-x1)

Можно запасать уравнение прямой как пересечение 2-х плоскостей:

A1x + B1y + C1z + D1 = 0

A2x + B2y + C2z + D2 = 0

 

Переход к параметрическому виду:

 

Свойства: направляющий вектор прямой всегда перпендикулярен к нормалям какой-то дряни.

 

Рисунок

 

l1 = B1C2 - B2C1

l2 = C1A2 - C2A1

l2 = C1A2 - C2A1

 

1) L Выбираете так чтобы вектора образовали правую тройку.

2) Произв. прямая может рассматриваться как линия пересечения разных плоскостей - возможно разнообразие коэффициентов А Б С Д. В Параметрических уравнениях коэффициенты задают направляющие вектора прямых.

 

Условие принадлежности точки внутренностям выпуклого многогранника.

 

 
 

Определяется аналогично плоской задаче:

Пусть грани лежат в

Pi: Aix + Biy + Ciz + Di = 0; i = 1...4

 

Каждая ПИ делит пространство на 2 полу пространства. Каждый вектор нормали Ни = ( ) указывает в + полупространство. Уравнение плоскостей Пи всегда можно выбрать так чтобы нормали светили наружу. Те добиться, что б внутри был сплошной "-".

 

Для этого определяем координаты одной из вершин как решение системы уравнений

Aix + Biy + Ciz + Di = 0; i = 1...3

 

Затем координаты подставляем в Aix + Biy + Ciz + Di = 0; i = 4

 

И если получится отрицательное значение то коэффициент не меняем - иначе меняем координаты Ни на -.

 

Повторив процедуру для всех плоскостей можно определить значения для заданной точки М и решить задачу её расположения.

 



<== предыдущая лекция | следующая лекция ==>
Лекция 26.10.2008 | Лекция 09.11.2008


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.