расчёт нахождения точки на линии
Помагайте сам никогда не додумаюсь,
такая проблема: Допустим есть линия по диаганали у неё есть две точки x xstart и xend, две точки y ystart и yend. есть точка(персонаж),у неё есть x и y. как вычислить ply по plx, находящийся на линии. ---------xe/ye -----------/ ----------/ ------plx/ply --------/ ----xs/ys нужна формула. |
Ответ: расчёт нахождения точки на линии
|
Ответ: расчёт нахождения точки на линии
Вложений: 1
Только убедись что точка СТАРТ находится левее и ниже чем (частный случай - на том же уровне что и [тут надо будет расписать частных случай xe=xs, т.к. полученная пряма не задаётся линейной завимостью с адекватными коэффициентами {деление на ноль}]) точка ЭНД (в противном случае - перекинь значения).
Розовая и зелёные точки проецируются на линию по Х и Y соответственно. |
xs у линии всегда левее чем xe ys допустим тоже всегда ниже чем ye с этим проблем нет.
но я не понял что за переменные XP1,Xp2,yp1,Yp2. impersonalis объясните пожалуйста всё подробнее если не сложно, для чего нужна какая переменная и каждое действие, вычиление K,B и т.д, p.s.: линия может быть и не прямо по диагонали, а например на 30,20 градусов. и зачем нужны XPl1,Xpl2,ypl1,Ypl2 у меня ведь только по одной переменных x y для персонажа. |
Ответ: расчёт нахождения точки на линии
Вложений: 1
Y(x):=K*x+B
уравнение прямой линии под любым углом наклона кроме 90 и 270 градусов (K=бесконечность). Зная две точки мы сперва вычисляем угловой коэффициент К, который является ничем иным как тангенсом угла наклона. Затем смещение относительно оси абсцисс - B. Я так и не понял что ты хочешь сделать с плеером имея две его координаты и произвольную линию? Чтобы он оказался на прямой? Эта задач имеет два решения (при бесконечной прямой и до двух решений при ограниченной): мы можем сохранить текущий x и спроецировать y и наоброт. |
Ответ: расчёт нахождения точки на линии
Если нужно проверить - лежит ли точка на прямой, от достаточно чекнуть тождество.
Ypl==K*Xpl+B или с учётом дискретности, вносимой вычислительной частью и разрядной сеткой |Ypl-K*Xpl-B|<=Eps где Eps погрешность |
Ответ: расчёт нахождения точки на линии
а что это за переменная x,y?
как вычислить xp1,xp2,yp1,yp2? |
Ответ: расчёт нахождения точки на линии
K=(ye-ys)/(xe-xs)
B=ye-K*xe if |Ypl-K*Xpl-B|<=Eps плеере на прямой с точность в Eps else хрен там! endif |
Ответ: расчёт нахождения точки на линии
mustaeed ты разобрался?
|
Ответ: расчёт нахождения точки на линии
У меня где-то был записан векторный метод определения
попадает ли точка в заданный выпуклый N-угольник. Если надо, могу откопать. |
Ответ: расчёт нахождения точки на линии
если однозначно ясно что искомая точка лежит на прямой и нужно узнать какой путь она прошла от начала отрезка, distance = sqrt(dx*dx+dy*dy) , dx=x2-x1 ...
|
Ответ: расчёт нахождения точки на линии
вот вернулся к программингу пробовал понять но так и не понял,
потом просто ввёл этот код, но он работает не правильно. вообщем как мне высчитать точку Y у линии на определённой X? извините но мне ничего в голову не приходит в геометрии я плох. |
Ответ: расчёт нахождения точки на линии
вообщем как мне высчитать точку Y у линии на определённой X?
Прямая линия - есть график функции y = k*x+b Твоя задача - по конечным точкам высчитать коэффициент k и сдвиг b А затем исходя из функции y = k*x+b подставив х найдёшь у |
Ответ: расчёт нахождения точки на линии
спасибо К.О. - посмотри начало темы. =\
Вообще ничего не буду отвечать, пздц просто. |
Ответ: расчёт нахождения точки на линии
Вложений: 1
незнаю он почемуто высчитывает Y по последней X у линии а не по тому X который я задаю, вот посмотри исходник.
|
Часовой пояс GMT +4, время: 19:36. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot