Procedural geometry
|
|
soos | Дата: Среда, 20.07.2011, 13:06 | Сообщение # 16 |
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
| Кто в теме, как умножить кватернион на вектор (средствами панды)? У огра есть такое умножение, но не могу понять, что именно оно делает и как сделать тоже самое пандовским api.
|
|
| |
serg-kkz | Дата: Среда, 20.07.2011, 15:59 | Сообщение # 17 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Глянь сюда, может что и найдеш по этому вопросу. Кватернионы
Странно причем тут панда.
q = Quat() v = Vec3()
a = q*v
ООП -
|
|
| |
ninth | Дата: Среда, 20.07.2011, 18:18 | Сообщение # 18 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| А для чего тебе это? Я просто тоже не представляю что даст умножение кватерниона на вектор и как это вообще можно осуществить. Можно конвертировать кватернион в матрицу и повернуть вектор с помощью этой матрицы, но я не уверен то-ли это что тебе нужно. В каком контексте используется данное умножение? ----------- добавление Хотя можно и без промежуточного преобразования. Сразу q.xform(v) Можно преобразовать вектор в кватернион с нулевым поворотом Quat(0,v) и перемножать кватернионы.
|
|
| |
serg-kkz | Дата: Среда, 20.07.2011, 18:43 | Сообщение # 19 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: 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
Группа: Администраторы
Сообщений: 1582
Награды: 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 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: 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 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Quote (soos) Настоятельно рекомендую ознакомиться с системами контроля версий (mercurial, git). Очень полезная и удобная вещь. Для командной разработки. Скажешь когда выложишь окончательную версии, хоть зайду посмотрю, не каждый раз же ту лазить качать какой то архив да понескольку раз в день.
ООП -
|
|
| |
soos | Дата: Пятница, 05.08.2011, 15:02 | Сообщение # 26 |
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
| небольшое обновление: добавлены Платоновы тела
дальше будут хитрые, прикольно выглядящие геометрические фигуры (:
|
|
| |
ninth | Дата: Среда, 10.08.2011, 08:09 | Сообщение # 27 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 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 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| [критика]Ой-ё, автор некропостит для поднятия забытых своих трудов. Толкая наверх свою тему, наверх её, чтоб не забывали что ли академические труды? .[/критика]
ООП -
|
|
| |
soos | Дата: Четверг, 13.10.2011, 16:53 | Сообщение # 30 |
Майор
Группа: Пользователи
Сообщений: 82
Награды: 1
Репутация: 0
Статус: Offline
| Quote (serg-kkz) [критика]Ой-ё, автор некропостит для поднятия забытых своих трудов. Толкая наверх свою тему, наверх её, чтоб не забывали что ли академические труды? .[/критика]
Я обновил первый пост в связи с тем, что репозиторий переехал на git. Абсолютно неуместная критика с явным налётом провокации. Тот факт, что я указал тебе на твою абсолютную неграмотность в вопросе ООП и его применении в пайтоне, не означает что меня надо пытаться троллить в каждой ветке. Постарайся впредь не утруждать себя и игнорировать мои посты ибо я буду поступать именно так.
|
|
| |