[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 3«123»
Форум Panda3D - по русски » Panda3D » Примеры кода » Procedural geometry (процедурная генерация примитивов)
Procedural geometry
soosДата: Среда, 20.07.2011, 13:06 | Сообщение # 16
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
Кто в теме, как умножить кватернион на вектор (средствами панды)? У огра есть такое умножение, но не могу понять, что именно оно делает и как сделать тоже самое пандовским api.
 
serg-kkzДата: Среда, 20.07.2011, 15:59 | Сообщение # 17
Генерал-лейтенант
Группа: Модераторы
Сообщений: 689
Награды: 3
Репутация: 16
Статус: Offline
Глянь сюда, может что и найдеш по этому вопросу. Кватернионы

Странно причем тут панда.

q = Quat()
v = Vec3()

a = q*v


ООП  -  
 
ninthДата: Среда, 20.07.2011, 18:18 | Сообщение # 18
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
А для чего тебе это? Я просто тоже не представляю что даст умножение кватерниона на вектор и как это вообще можно осуществить. Можно конвертировать кватернион в матрицу и повернуть вектор с помощью этой матрицы, но я не уверен то-ли это что тебе нужно. В каком контексте используется данное умножение?
-----------
добавление
Хотя можно и без промежуточного преобразования. Сразу q.xform(v)
Можно преобразовать вектор в кватернион с нулевым поворотом Quat(0,v) и перемножать кватернионы.
 
serg-kkzДата: Среда, 20.07.2011, 18:43 | Сообщение # 19
Генерал-лейтенант
Группа: Модераторы
Сообщений: 689
Награды: 3
Репутация: 16
Статус: Offline
ninth может ему нужно расчитать вращение на основе направления вектора. Я сам бум бум в них.

ООП  -  
 
soosДата: Среда, 20.07.2011, 22:51 | Сообщение # 20
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
Quote (ninth)
А для чего тебе это

Torus и TorusKnot генерируются с использованием такого умножения.

Quote (ninth)
не представляю что даст умножение кватерниона на вектор

Я тоже не представляю что оно мне даст. Дома соберу огра и посмотрю что получается в результате такого умножения.

Quote (ninth)
Можно преобразовать вектор в кватернион с нулевым поворотом

Пробовал - не прокатило, всё же это что-то другое. Читал википедию по этому поводу, но там шибко премудро всё. Точно могу сказать что это также не dot product и не cross product.
Как пойму - расскажу.

UPD:

вот что у огра значит умножение кватерниона на вектор:

Code
// rotation of a vector by a quaternion
Vector3 Quaternion::operator* (const Vector3& v) const
{
   // nVidia SDK implementation
   Vector3 uv, uuv;
   Vector3 qvec(x, y, z);
   uv = qvec.crossProduct(v);
   uuv = qvec.crossProduct(uv);
   uv *= (2.0f * w);
   uuv *= 2.0f;
   return v + uv + uuv;
}


Сообщение отредактировал soos - Среда, 20.07.2011, 22:52
 
ninthДата: Четверг, 21.07.2011, 13:15 | Сообщение # 21
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
Похоже на поворот вектора кватернионом. Попробуй q.xform(v) и сравни результаты
 
soosДата: Четверг, 21.07.2011, 17:12 | Сообщение # 22
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
Quote (ninth)
Похоже на поворот вектора кватернионом. Попробуй q.xform(v) и сравни результаты

Действительно, так и есть. Это xform().

Torus генерится нормально, а вот с TorusKnot'ом есть небольшой дефект. Разбираюсь дальше.

UPD:
Создал публичный репозиторий panda-procedural. Можно тестить. Комментарии и замечания крайне приветствуются.


Сообщение отредактировал soos - Четверг, 21.07.2011, 17:13
 
serg-kkzДата: Четверг, 21.07.2011, 17:32 | Сообщение # 23
Генерал-лейтенант
Группа: Модераторы
Сообщений: 689
Награды: 3
Репутация: 16
Статус: Offline
Quote (soos)
Создал публичный репозиторий panda-procedural. Можно тестить.


Что значит твоя ссылка, может здесь нашлось бы места для кода, или все таки не влез бы)))?


ООП  -  

Сообщение отредактировал serg-kkz - Четверг, 21.07.2011, 17:33
 
soosДата: Четверг, 21.07.2011, 17:40 | Сообщение # 24
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
Quote (serg-kkz)
Что значит твоя ссылка

Это ссылка на сайт, где всегда можно скачать последнюю версию исходников. Настоятельно рекомендую ознакомиться с системами контроля версий (mercurial, git). Очень полезная и удобная вещь.

Quote (serg-kkz)
может сдесь нашлось бы места для кода, или все таки не влез бы)))?

Я код меняю по нескольку раз в день. Не буду же я каждый день, новую версию сюда выкладывать.

Заходишь по ссылке. В правом углу наводишь на "get source", выбираешь тип архива и всё.
 
serg-kkzДата: Четверг, 21.07.2011, 17:54 | Сообщение # 25
Генерал-лейтенант
Группа: Модераторы
Сообщений: 689
Награды: 3
Репутация: 16
Статус: Offline
Quote (soos)
Настоятельно рекомендую ознакомиться с системами контроля версий (mercurial, git). Очень полезная и удобная вещь.

Для командной разработки. Скажешь когда выложишь окончательную версии, хоть зайду посмотрю, не каждый раз же ту лазить качать какой то архив да понескольку раз в день.


ООП  -  
 
soosДата: Пятница, 05.08.2011, 15:02 | Сообщение # 26
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
небольшое обновление: добавлены Платоновы тела

дальше будут хитрые, прикольно выглядящие геометрические фигуры (:
 
ninthДата: Среда, 10.08.2011, 08:09 | Сообщение # 27
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
Это всё делается для какой-то определённой цели или для себя?
 
soosДата: Вторник, 11.10.2011, 23:18 | Сообщение # 28
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
Quote (ninth)
Это всё делается для какой-то определённой цели или для себя?

Пока что для себя (интерес чисто академический). Ну и для заинтересованных лиц. В последнее время процедурная генерация в играх встречается всё чаще, так что модуль может быть вполне востребован.


Сообщение отредактировал soos - Вторник, 11.10.2011, 23:19
 
serg-kkzДата: Четверг, 13.10.2011, 11:05 | Сообщение # 29
Генерал-лейтенант
Группа: Модераторы
Сообщений: 689
Награды: 3
Репутация: 16
Статус: Offline
[критика]Ой-ё, автор некропостит для поднятия забытых своих трудов. Толкая наверх свою тему, наверх её, чтоб не забывали что ли академические труды? biggrin .[/критика]

ООП  -  
 
soosДата: Четверг, 13.10.2011, 16:53 | Сообщение # 30
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
Quote (serg-kkz)
[критика]Ой-ё, автор некропостит для поднятия забытых своих трудов. Толкая наверх свою тему, наверх её, чтоб не забывали что ли академические труды? .[/критика]


Я обновил первый пост в связи с тем, что репозиторий переехал на git.
Абсолютно неуместная критика с явным налётом провокации. Тот факт, что я указал тебе на твою абсолютную неграмотность в вопросе ООП и его применении в пайтоне, не означает что меня надо пытаться троллить в каждой ветке. Постарайся впредь не утруждать себя и игнорировать мои посты ибо я буду поступать именно так.
 
Форум Panda3D - по русски » Panda3D » Примеры кода » Procedural geometry (процедурная генерация примитивов)
Страница 2 из 3«123»
Поиск: