На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Точки принадлежащие отрезку.
    Вот примерчик.

    Имеем плоскость.
    Две точки на ней. Координаты известны. A(x0, y0) и B(x1, y1);

    Как мне пробежаться по всем точкам этого отрезка.
    Можно даже утверждать, что у т. "A" координаты (0, 0);

    Достала эта геометрия.
      y=kx+b
        k - ?
        Тогда мне надо искать угол, чтобы найти тангенс.
          А в чем проблема? если одна точка - начало координат?
            Какой угол? Акстись!
            Составляешь систему их двух уравнений
            y1 = k*x1 + b
            y2 = k*x2 + b

            Если ты скажешь, что ты отсюда не сможешь выразить k и b через координаты, то я с тобой вообще говорить перестану, потому что это 5й класс. Или 6ой.
            Ну а потом пробегаешься от x1 до x2 с необходимым тебе шагом.
              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.
                Вах! Процедура вывода отрезка на экран:


                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


                  Цитата Gurza, 04.04.02, 05:24:54

                  Как мне пробежаться по всем точкам этого отрезка.


                  Вообще-то на отрезке лежит бесконечное множество точек...
                  поэтому имеет смысл говорить о точках на отрезке с каким-то шагом.
                    Попробуй через параметрическое задание прямой:
                        x=x0+(x1-x0)*k,    k?[0,1]
                        y=y0+(y1-y0)*k,   k?[0,1]
                    Пробегаешь k с нужным шагом - получаешь точки на прямой.
                      2Gurza,
                      зачем тебе нужно пробежать по всем точкам отрезка??
                      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0259 ]   [ 14 queries used ]   [ Generated: 20.05.24, 03:03 GMT ]