![]() |
|
|
Регистрация | << Правила форума >> | 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%, то наша диагональ начнет вытягиваться, приближаясь к "правильной" прямой. |