Zanozus
Уехал учиться
offline
Опыт:
8,512Активность: |
ОО наконецто народ до сферических координат добрался.
Может будет полезно, я на этих спеллах сферические координаты осваивал: дамми вращаются вокруг трех осей
дамми вращаются вокруг горизонтальной оси, перпендекулярной взгляду героя сфера из дамми
берешь центр куба как центр сферических координат,
потом считаешь пространственные углы (a,t) и расстояние в 3D между этим центром и вершиной (хотя можно это и не считать если создавать куб с заранее известным наклоном и расстоянием от центра до вершины) и увеличиваешь их на нужный поворот, потом меняешь координаты по ранее изложенным формулам: polarx(c, dist, a, t) = c + dist * Cos(bj_DEGTORAD * a) * Sin(bj_DEGTORAD * t)
polary(c, dist, a, t) = c + dist * Sin(bj_DEGTORAD * a) * Sin(bj_DEGTORAD * t) polarz(c, dist, a, t) = c + dist * Cos(bj_DEGTORAD * t) где "C" - это координата центра "сферы" или куба в нашем случае, а dist - расстояние Отредактировано Zanozus, 07.01.2011 в 16:15. |
07.01.2011, 15:03 | #21
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Zanozus
Уехал учиться
offline
Опыт:
8,512Активность: |
Doc, лови. В личку я тоже отправил.
Если заменить y на x а x на y в этих формулах можно получить вращение вокруг другой оси. Потом еще подумаю может получится в одну формулу "запихнуть" все оси.
p.s а мне понравилось, как только сиссию сдам, обязательно какой-нибудь спелл замучу на сфере. Отредактировано Zanozus, 11.01.2011 в 22:17. |
11.01.2011, 21:58 | #22
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Zanozus
Уехал учиться
offline
Опыт:
8,512Активность: |
УРА ! Я наконец добил эти чертовы сферические координаты !
Любую фигуру в пространстве можно вращать как угодно вокруг любой оси (не только x,y,z), проходящей через точку X1, Y1, Z1 A, B, C - угол на который куб будет поворачиваться каждые 0.03 ,если сделать A=B=C то куб будет вращаться вокруг диагонали. Они и задают ось вращения. (roll, pitch и yaw) Отредактировано Zanozus, 16.01.2011 в 21:06. |
12.01.2011, 23:20 | #23
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
|
16.01.2011, 12:59 | #24
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Zanozus
Уехал учиться
offline
Опыт:
8,512Активность: |
"новый угол" это и есть roll, pitch и yaw
а "совсем новый угол" я не помню как называют, вроде азимутальным я его вобще бы 90 градусов сделал чтобы центр окружности совпал с точкой вращения. В кубе этот угол разный чтобы куб был объемный, а не все вращалось в одной плоскости. Doc, я этой "проблемой" целый год маялся, все не мог додуматься что для произвольной плоскости надо последовательно делать повороты, а не пихать все в одну формулу. Отредактировано Zanozus, 16.01.2011 в 13:39. |
16.01.2011, 13:22 | #25
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Zanozus, ясно. Кстати у меня все на радианах и результат тот-же. Только угол поворота надо тоже в них указывать. |
16.01.2011, 13:39 | #26
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Zanozus
Уехал учиться
offline
Опыт:
8,512Активность: |
естесственно ! |
16.01.2011, 13:40 | #27
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|