![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
Вовсе нет, с помощью рандома можно "растянуть" начальную диагональ, и никаких синусоид не будет.
|
|
#17
|
||||
|
||||
|
дам небольшую посказку
dx=(pos.x-object.x)/lengthvector dy=(pos.x-object.y)/lengthvector lengthvector-это расстояние между точкой объекта и курсором с рандомом вариант убил... |
|
#18
|
|||
|
|||
|
Пусть координаты будут (0,0) (100,10) - расстояние вычисляем с помощью квадратов и корня (float ?) ~ 100.
dx=(pos.x-object.x)/lengthvector=(100)/100=1 dy=(pos.x-object.y)/lengthvector=(10)/100=0 Когда dy перестанет быть 0 ? Когда lengthvector=20. Вы получите диагональ не в начале, а в конце пути. |
|
#19
|
|||
|
|||
|
Про вариант с рандомом, похоже вы просто не поняли.
Код:
dx:=0;if cx>x then dx:=1;if cx<x then dx:=-1; dy:=0;if cy>y then dy:=1;if cy<y then dy:=-1; Диагональ возникает когда одна из величин delta_X или delta_Y много больше другой. Если при этом сделать вероятность изменения меньшей величины менее 100%, то наша диагональ начнет вытягиваться, приближаясь к "правильной" прямой. |