Форум: "Игры";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизПрограммирование вращения Найти похожие ветки
← →
Эдуард (2002-12-17 05:11) [0]Доброго времени суток!
Я создал хранитель экрана с вращающимися звездами (относительно некого начала координат). OpenGL и DirectX я не использовал. Проблема в том, что "звезды" не хотят вращаться равномерно относительно друг друга. Они то чуть ближе одна к другой, то чуть дальше. Т. е. передвигаются на некий угол неодновременно. Для расчета новой координаты "звезды" я использовал поочередно 2 алгоритма: расчитывал через радиальные координаты и через матрицу. По сути, они дают один и тот же результат.
Может, кто-нибудь знает что еще нужно сделать с координатами, чтобы "звезды" вращались плавно относительно друг друга, т.е. всегда были на одинаковом расстоянии друг от друга? Может здесь применяется какое-нибудь сглаживание?
Заранее благодарен в помощи.
← →
zavdim (2002-12-17 10:33) [1]Покажи как вращал.
← →
Эдуард (2002-12-17 10:55) [2]beta[i]:=beta[i]+rad; //rad - некоторый угол приращения в радианах, соответсвует 1 градусу.
x[i]:=ro[i] * cos(beta[i]);
y[i]:=ro[i] * sin(beta[i]);
далее, вещественные x и y переводятся в экранные координаты.
у меня (начало координат в нижнем правом углу, там же и центр окружности, так что экран - четверть окружности), поэтому:
x_int:=Round((MaxX/2 + x[i] * k));
y_int:=Round((MaxY/2 - y[i] * k));//MaxX, MaxY - размеры экрана
← →
zavdim (2002-12-17 11:27) [3]нет - ну ты относительно центра экрана вращаещь.
формулы верные. k- это растяжка?
изменение расстояний небольшое - в пределах пикселя?
Можешь мне на мыло кинуть? - завтра гляну и отвечу.
← →
Эдуард (2002-12-17 11:35) [4]а что именно на мыло кинуть?
← →
zavdim (2002-12-17 14:46) [5]чего не жалко.
лучше всю прогу - не украду.
← →
zavdim (2002-12-18 07:31) [6]Ну не всю - но глянуть хочется, что ты имеешь в виду под разным расстоянием. Можно ехе. Только зажми.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c