Геометрия - Игростроение и развлечение

Форма входа

Приветствую Вас Гость!

Логин:
Пароль:

Наш опрос

Зачем нужен мобильник?
Всего ответов: 48


    Случайное фото

    Статистика


Поддержите наш проект

WebMoney:
R309699065243
U292079291240
Z373355457648

Счётчики


Rambler's Top100
Рейтинг@Mail.ru

Геометрия - Игростроение и развлечение

[ Новые сообщения · Участники · Правила форума · RSS ]

WWW Site Forum
Страница 1 из 11
Игростроение и развлечение » Программинг » Алгоритмика, Математика, Физика » Геометрия (Операции над векторами...)
Геометрия
Kostia256Дата: Четверг, 10.06.2010, 18:55 | Сообщение # 1
Заглянувший
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
Сначала небольшой перечень операций, которые можно совершать над векторами:
Сложение - вектора можно складывать и вычитать, для этого нужно к соответствующей координате первого вектора прибавить/отнять соответствующую координату второго вектора.

Умножение на скаляр - вектор можно умножать/делить на скаляр(число), для этого нужно каждую координату вектора умножить/поделить на скаляр.

Dot product - или скалярное умножение векторов, для того чтобы скалярно умножить два вектора, нужно перемножить их длины и на косинус угла между ними, или суммировать произведения соответствующих координат.

Cross product - или векторное умножение векторов, продуктом этой операции является вектор перпендикулярный плоскости проходящей через два исходных вектора, для того чтобы векторно умножить два вектора нужно составить матрицу состоящую из векторов (i, j, k),(x1,x2,x3),(y1,y2,y3) и найти ее детерминант(определитель).

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

Также можно найти угол между двумя векторами из скалярного умножения векторов. v1x*v2x + v1y*v2y + v1z*v2z = |v1| |v2| * cos(a)

Проекция одного вектора на другой. У нас есть вектора u и v, нам нужно спроецировать вектор u на вектор v и получить puv(projection of vector u onto vector v), puv = dot(u,v)/|v|*v

Несколько картинок:
http://www.lighthouse3d.com/opengl/maths/images/crossproduct.gif
http://www.lighthouse3d.com/opengl/maths/images/projuv.gif

Вектор в полярной системе:
|x = p*cos(a)
{
|y = p*sin(a)
p - расстояние от начала координат, a - угол между вектором и осью Х, a = arctg(y/x); при x=0, при y>0 a=pi/2 при y<0 a=-pi/2

Вектор в сферических координатах
| x = p*cos(a)*sin(b)
{ y = p*sin(a)*sin(b)
| z = p*cos(b)
a - угол между осью x и меняется в пределах [0, pi*2), b - угол между осью z и меняется в пределах [0, pi]

to be continue =)

Сообщение отредактировал Kostia256 - Четверг, 10.06.2010, 18:56
 
commandorДата: Среда, 29.02.2012, 16:32 | Сообщение # 2
Игродел
Группа: Проверенные
Сообщений: 17
Репутация: 4
Статус: Offline
А я думал что хорошо знаю математику(
 
Игростроение и развлечение » Программинг » Алгоритмика, Математика, Физика » Геометрия (Операции над векторами...)
Страница 1 из 11
Поиск: