Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
Ответ: расчёт нахождения точки на линии
Только убедись что точка СТАРТ находится левее и ниже чем (частный случай - на том же уровне что и [тут надо будет расписать частных случай xe=xs, т.к. полученная пряма не задаётся линейной завимостью с адекватными коэффициентами {деление на ноль}]) точка ЭНД (в противном случае - перекинь значения).
Розовая и зелёные точки проецируются на линию по Х и Y соответственно.
Сообщений: 21
Написано 0 полезных сообщений (для 0 пользователей)
xs у линии всегда левее чем xe ys допустим тоже всегда ниже чем ye с этим проблем нет.
но я не понял что за переменные XP1,Xp2,yp1,Yp2.
impersonalis объясните пожалуйста всё подробнее если не сложно,
для чего нужна какая переменная и каждое действие, вычиление K,B и т.д, p.s.: линия может быть и не прямо по диагонали, а например на 30,20 градусов.
и зачем нужны XPl1,Xpl2,ypl1,Ypl2
у меня ведь только по одной переменных x y для персонажа.
Последний раз редактировалось Magus, 21.06.2009 в 00:45.
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
Ответ: расчёт нахождения точки на линии
Y(x):=K*x+B
уравнение прямой линии под любым углом наклона кроме 90 и 270 градусов (K=бесконечность).
Зная две точки мы сперва вычисляем угловой коэффициент К, который является ничем иным как тангенсом угла наклона.
Затем смещение относительно оси абсцисс - B.
Я так и не понял что ты хочешь сделать с плеером имея две его координаты и произвольную линию? Чтобы он оказался на прямой? Эта задач имеет два решения (при бесконечной прямой и до двух решений при ограниченной): мы можем сохранить текущий x и спроецировать y и наоброт.
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
Ответ: расчёт нахождения точки на линии
Если нужно проверить - лежит ли точка на прямой, от достаточно чекнуть тождество.
Ypl==K*Xpl+B
или с учётом дискретности, вносимой вычислительной частью и разрядной сеткой
|Ypl-K*Xpl-B|<=Eps
где Eps погрешность
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
Ответ: расчёт нахождения точки на линии
если однозначно ясно что искомая точка лежит на прямой и нужно узнать какой путь она прошла от начала отрезка, distance = sqrt(dx*dx+dy*dy) , dx=x2-x1 ...
вообщем как мне высчитать точку Y у линии на определённой X?
Прямая линия - есть график функции y = k*x+b
Твоя задача - по конечным точкам высчитать коэффициент k и сдвиг b
А затем исходя из функции y = k*x+b подставив х найдёшь у