Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

Программирование вращения   Найти похожие ветки 

 
Эдуард   (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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-94667
Петров Денис
2003-05-12 09:48
2003.05.29
Timeout expired


1-94906
Новичек
2003-05-16 21:02
2003.05.29
Тип PChar


1-94857
Identifikator Borna
2003-05-20 10:11
2003.05.29
Поиск в текстовых файлах


6-94986
Puzzle
2003-03-26 18:43
2003.05.29
Indy idFTP - как определить, что соединение разорвано?


14-95032
Pat
2003-05-08 16:21
2003.05.29
Выключение Win2k