28Mar
No comments
« Математичне завдання прямій на площині |
Вектори в просторі Однорідні координати Матриці перетворень »
inline void set(vec_float xx, vec_float yy)
{
x = xx;
у = yy;
}
inline vec operator + (vec t) // складання
{
return vec(x + t.x, у + t.y);
}
inline vec operator - (vec t) // віднімання
{
return vec(x - t.x, у - t.y);
}
inline vec operator * (vec_float t) // твір на число
{
return vec(x * t, у * t);
}
inline vec_float operator * (vec t) // скалярний твір
{
return x * t.x + у * t.y;
}
inline vec_float operator ^ (vec t) // довжина результату векторного твору з урахуванням напряму
{
return x * t.y - у * t.x;
}
inline vec_float length() // довжина вектора
{
return sqrt(x * x + у * у);
}
inline vec unit() // нормалізація вектора
{
vec_float l = length();
if (l == 0.0f) return vec(0.0f, 0.0f);
return vec(x / l, у / l);
}
inline bool zero() // визначає чи нульовий вектор
{
return (x == 0.0f) && (у == 0.0f);
}
inline bool equals(vec t) // перевіряє вектора на точний збіг
{
return (x == t.x) && (у == t.y);
}
};
Тепер створимо клас, який відповідає за поворот:
Rotation::Rotation()
{
CurrentMatrix[0]= 1;
CurrentMatrix[1]= 0;
CurrentMatrix[2]= 0;
CurrentMatrix[3]= 1;
}
void Rotation::InitRotation(int x, int у)
{
old_mouse.set(x, у);
old_mouse = old_mouse.unit();
}
void Rotation::Rotate(int x, int у)
{
vec new_mouse(x, у);
vec_float sina, cosa;
new_mouse = new_mouse.unit();
sina = new_mouse ^ old_mouse;
cosa = new_mouse * old_mouse;
Matrix Rot;
SetRotationMatrixbySinCos(sina, cosa, Rot);
Pages: 1 2 3 4 5
Tags:
вектор,
двомірні простори,
кут,
матриця повороту,
миша,
направлені кути,
порядок векторів,
твір,
функція
Схожі записи
- Математичне завдання прямій на площині (27.03.2009)
... Але разом з тим, хочеться підкреслити, що строге введення даних понять не є тривіальним.
Прим. Поки розглядаються ідеальні геометричні об'єкти, точки яких можуть мати довільні дійсні координати.
Розглянемо як задається пряма лінія.
Рівняння прямої на площині в декартових координатах Ax ...
- Закон Ламберта Модель віддзеркалення Фонга Модель віддзеркалення Блінна-фонга (04.04.2009)
...
Хай задано точкове джерело світла, розташоване в деякій крапці, поверхню, яка освітлюватиме і спостерігач. Вважатимемо, що спостерігач точковий. Кожна точка поверхні має свої координати і в ній визначена нормаль до поверхні. Її освітленість складається з трьох компонент: фонове освітлення (ambient), розсіяне світло (diffuse) і складова відблиску (specular).
Властивості джерела визначають потужність випромінювання для ...
- Небагато про Photoshop (16.04.2009)
... Саме зображення відображається в іконі.
Новий інструмент Healing Brush (гроно лікування) дозволить видаляти дефекти зображення, зберігаючи текстуру і освітлення.
Розширені веб-функції. Ви зможете миттєво робити елементи веб-сторінки прозорими, додавати розмиті прозрачки (dithered transparencies), ефективно працювати з кнопками і анімацією.
Залишатися поза конкуренцією: могутні нові інструменти допоможуть вам зосередитися ...
- Вектори в просторі Однорідні координати Матриці перетворень (29.03.2009)
... Також буде зручно ввести їх при розгляді тривимірного простору.
Як ми побачимо надалі, їх використання дозволяє задавати аффінниє і нелінійні перетворення (наприклад перспективне) у вигляді матриць, що дозволяє створювати вельми ефективні і прості реалізації.
Прим. В подальших статтях зустрічатимуться такі поняття як крапка і вектор. Крапка це теж вектор: ...
- Небагато про Photoshop (16.04.2009)
... 0 дозволить задовольнити запити найвимогливішого користувача і виконати безліч операцій із зображенням найефективніше.
За допомогою файлового броузера ви зможете не відкриваючи файлу отримати необхідну інформацію: колірний профіль, дата зміни і дані, записувані цифровими камерами. Саме зображення відображається в іконі.
Новий інструмент Healing Brush (гроно лікування) дозволить видаляти дефекти зображення, зберігаючи текстуру ...
- Реалізація апаратних модулів графічної системи (28.02.2009)
...
Фіксована роздільна здатність визначається точність відстежування апаратурою фізичного переміщення. Для різних пристроїв ця величина не однакова і залежить від якості пристроїв і від виду робіт, для якої воно призначене.
Більшість пристроїв введення мають так само змінну роздільну здатність, залежну від програмного забезпечення, яке інтерпретує сигнали від пристрою. Така програма прочитує сигнали, що приходять від пристрою введення ...
- Компютерна графіка ч2 (13.02.2009)
... Фрейм - це
представлення товару у вигляді деякої області з довільним
оформленням, яке часто містить невелике графічне
зображення в супроводі з короткими характеристиками товару
(назва, ціна, фірма-виробник, фірма-постачальник).
Надається можливість розглянути зображення товару
збільшеному вигляді і проглянути детальніші характеристики.
Малюнок 2
Специалізіруємиє види (наприклад, на ...
- Програмне забезпечення для роботи з графікою (23.03.2009)
... Використовуючи його, можна прочитувати і зберігати зображення в широко відомих растрових форматах. Він дозволяє малювати різні примітиви, закрашувати області квітами і т.п. Іншим прикладом простого графічного редактора служить програма Photo Plus.
Її інтерфейс подібний до редактора Paint, проте програма володіє істотно великими можливостями. У ній, окрім відомих можливостей малювання графічних примітивів, реалізовані функції сканування зображення, ...
- Векторна графіка (04.03.2009)
... Наприклад, куб можна скласти з шести зв'язаних прямокутників, кожний з яких, у свою чергу, утворений чотирма зв'язаними лініями.
Можливо, представити куб і як дванадцять зв'язаних ліній, створюючих ребра.
Математичні основи векторної графіки
Розглянемо докладніше способи представлення різних об'єктів в векторній графіці . Крапка. Цей об'єкт на площині представляється ...
Saturday, March 28th, 2009 at 09:15 and is filed under 2D теорія.
You can follow any responses to this entry through the feed.
Both comments and pings are currently closed.