Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.128.189.104] |
|
Сообщ.
#1
,
|
|
|
Вот примерчик.
Имеем плоскость. Две точки на ней. Координаты известны. A(x0, y0) и B(x1, y1); Как мне пробежаться по всем точкам этого отрезка. Можно даже утверждать, что у т. "A" координаты (0, 0); Достала эта геометрия. |
Сообщ.
#2
,
|
|
|
y=kx+b
|
Сообщ.
#3
,
|
|
|
k - ?
Тогда мне надо искать угол, чтобы найти тангенс. |
Сообщ.
#4
,
|
|
|
А в чем проблема? если одна точка - начало координат?
|
Сообщ.
#5
,
|
|
|
Какой угол? Акстись!
Составляешь систему их двух уравнений y1 = k*x1 + b y2 = k*x2 + b Если ты скажешь, что ты отсюда не сможешь выразить k и b через координаты, то я с тобой вообще говорить перестану, потому что это 5й класс. Или 6ой. Ну а потом пробегаешься от x1 до x2 с необходимым тебе шагом. |
Сообщ.
#6
,
|
|
|
1. (X2-X1)/(X-X1)-(Y2-Y1)/(Y-Y1)=0, если равенство верно, точка лежит на прямой,
особые случаи, прямая задается уравнением: Y=K, где K-любое число (прямая параллельна прямой OX), точка лежит на прямой если координата Y=K, соответственно для X тоже самое. 2. Точка принадлежит отрезку, если |X1-X|+|X2-X|=|X2-X1|,то же самое для Y(для Y можно не проверять если выполняются равенства 1 и 2. |
Сообщ.
#7
,
|
|
|
Вах! Процедура вывода отрезка на экран:
n=abs(x2-x1) m=abs(y2-y1) x=x1 y=y1 если n>m то для i = 1 до n y=(y2-y1)/n+y x=x+1 иначе для i:=1 до m y=y+1 x=(x2-x1)/m+x |
Сообщ.
#8
,
|
|
|
Цитата Gurza, 04.04.02, 05:24:54 Как мне пробежаться по всем точкам этого отрезка. Вообще-то на отрезке лежит бесконечное множество точек... поэтому имеет смысл говорить о точках на отрезке с каким-то шагом. |
Сообщ.
#9
,
|
|
|
Попробуй через параметрическое задание прямой:
x=x0+(x1-x0)*k, k?[0,1] y=y0+(y1-y0)*k, k?[0,1] Пробегаешь k с нужным шагом - получаешь точки на прямой. |
Сообщ.
#10
,
|
|
|
2Gurza,
зачем тебе нужно пробежать по всем точкам отрезка?? |