Сохранен 22
https://2ch.su/b/res/76272586.html
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (подробности случившегося). Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним 26/09/14 Птн 00:39:01  #1 №76272586 
14116775412930.png
Суп, программач. Антон, помоги мне, начинающему мамкиному офисному работнику, решить задачку, которая возникла у меня в ходе познания OpenGL.
Суть такова:
Есть оси координат X, Y и Z. Я нарисовал окружность в плоскости XY c центром в начале координат. Я знаю координаты точек на данной окружности, координата z у всех них равна 0 естественно. Теперь мне надо повернуть данную окружность в пространстве на некий угол A относительно оси Y. Как мне повернуть эту ебучую окружность и узнать координаты точек x, y, z?
Пишу на C++. Повернуть окружность на угол A через glRotatef можно, но как тогда узнать новые координаты точек после поворота? Вангую использование каких-то матриц поворота в трёхмерном пространстве, но я не знаю как этим пользоваться.
Антоша, помоги пожалуйста найти координаты точек после поворота окружности.
26/09/14 Птн 00:42:25  #2 №76272727 
https://ru.wikipedia.org/wiki/Матрица_поворота#.D0.9C.D0.B0.D1.82.D1.80.D0.B8.D1.86.D0.B0_.D0.BF.D0.BE.D0.B2.D0.BE.D1.80.D0.BE.D1.82.D0.B0_.D0.B2_.D1.82.D1.80.D1.91.D1.85.D0.BC.D0.B5.D1.80.D0.BD.D0.BE.D0.BC_.D0.BF.D1.80.D0.BE.D1.81.D1.82.D1.80.D0.B0.D0.BD.D1.81.D1.82.D0.B2.D0.B5

сука мудак блядь
Аноним 26/09/14 Птн 00:44:49  #3 №76272850 
14116778894470.png
>>76272727
Ну и как это использовать, ёптаблядь? Как это выглядит в коде?
26/09/14 Птн 00:45:20  #4 №76272871 
>>76272850
Матрицы умножать умеешь?
Аноним 26/09/14 Птн 00:46:26  #5 №76272936 
14116779863700.png
>>76272871
Нет.
26/09/14 Птн 00:47:18  #6 №76272972 
>>76272936
Пидора ответ. Какой тебе ещё код тогда?
Аноним 26/09/14 Птн 00:50:48  #7 №76273116 
14116782487050.png
>>76272972
Ну объясни тогда, будь добр. Мне очень надо.
26/09/14 Птн 00:51:21  #8 №76273137 
>>76273116
https://ru.wikipedia.org/wiki/Умножение_матриц
Аноним 26/09/14 Птн 00:52:23  #9 №76273178 
>>76272972
Ты не няша.
Дисклаймер: я долбоеб.
Мой ответ.
При повороте отн. Y, Y-координата не меняется, т.е. точка движится по маленькой окружности.
Эта окружность
x = rcos + rsin
z = -rsin + rcos
Аноним 26/09/14 Птн 00:53:54  #10 №76273245 
>>76273116
Загугли. Это самое начало линейной алгебры.
26/09/14 Птн 00:54:42  #11 №76273293 
>>76273178
То, что ты написал словами изложено в википедии про матрицы поворота.
Аноним 26/09/14 Птн 00:58:29  #12 №76273477 
>>76273293
О нет, ты не прав, я смог налажать.
26/09/14 Птн 01:05:01  #13 №76273788 
>>76273477
Да. С «r».
Аноним 26/09/14 Птн 01:07:15  #14 №76273903 
>>76273178
Вдруг оп ещё чего-то хочет.
x' = xcos + zsin
z' = -xsin + zcos
26/09/14 Птн 01:09:29  #15 №76274017 
>>76273903
Если это правосторонняя СК и поворот против часовой (т.е. всё как обычно), то ты, кажется, привёл обратное преобразование.

Впрочем, я не знаю какая там в OGL СК.
Аноним 26/09/14 Птн 01:12:05  #16 №76274166 
14116795251190.png
>>76273903
Если z=0, то
x' = xcos
z' = -xsin
?
Няшно. Всем спасибо за помощь, надеюсь завтра таки нарисую этот сраный спутник и прикручу к нему камеру наблюдения.
26/09/14 Птн 01:15:25  #17 №76274350 
>>76274166
Обрати внимание на
> приведена матрица поворота от результирующей системы координат к исходной
Аноним 26/09/14 Птн 01:20:19  #18 №76274608 
14116800191040.png
>>76274350
Я это так и не понял.
Типа
x' = xcosA + x0 + xsinA;
y' = y
0 + y1 + y0;
z' = z(-sinA) + z0 + zcosA;

Всё правильно понял? Или же мне нужно использовать
x' = xcos + zsin
z' = -xsin + zcos
?
Аноним 26/09/14 Птн 01:21:17  #19 №76274652 
>>76274608
Макаба знак умножения съела, ну вы поняли.
26/09/14 Птн 01:22:20  #20 №76274704 
>>76274608
Этой матрицей ты переведёшь координаты после поворота в координаты до поворота. А ты, я так понимаю, хочешь наоборот.
Тебе нужна обратная матрица. Не буду тебя мучать и скажу что обратная получается просто заменой \alpha на -\alpha
26/09/14 Птн 01:25:52  #21 №76274873 
>>76274704
Всё-таки мучаешь своей тайнописью. Заменой угла Альфа на отрицательный угол Альфа? Понял. Спасибо.
26/09/14 Птн 01:26:45  #22 №76274916 
>>76274873
Обычный LaTeX, какая тайнопись?
comments powered by Disqus