Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на Pascal. Форум 2
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]
Модераторы: paradise, KMA
  

mity99


Новичок

На координатной плоскости даны три точки, узнать лежат ли они на одной прямой ?
Вроде не сложно но у меня не получилось так что помогите.

Всего сообщений: 12 | Присоединился: декабрь 2008 | Отправлено: 18 дек. 2008 18:43 | IP
mity99


Новичок

даны три точки A, B, C, если нет, то вычислить угол: а, в, с.  Это туда ^

Всего сообщений: 12 | Присоединился: декабрь 2008 | Отправлено: 18 дек. 2008 18:47 | IP
paradise


Долгожитель


Цитата: mity99 написал 18 дек. 2008 18:43
На координатной плоскости даны три точки, узнать лежат ли они на одной прямой ?
Вроде не сложно но у меня не получилось так что помогите.


а как вы делаете? Алгоритм, действительно, лёгкий, Вам нужно строить прямую по двум любым точкам, а потом проверять элементарное условие, "если координаты третьей точки удовлетворяют уравнению прямой, то все 3 точки лежат на одной прямой".

Цитата: mity99 написал 18 дек. 2008 18:47

даны три точки A, B, C, если нет, то вычислить угол: а, в, с.  Это туда ^


Опять же какие точки? На плоскости или в пространстве? Какой угол вычислить и что значит "туда ^"???

Всего сообщений: 428 | Присоединился: ноябрь 2008 | Отправлено: 20 дек. 2008 0:36 | IP
bekas


Долгожитель

Чтобы узнать, лежат ли три данные точки (на плоскости) на одной прямой, надо принять их за вершины треугольника и найти его площадь S. Если окажется S=0, то точки лежат на одной прямой. Для S существует такая формула:

S = 0.5 * [(x1y2+x2y3+x3y1) - (y1x2+y2x3+y3x1)],
где xi, yi - координаты соответствующих точек.

Иногда эта формула дает отрицательное значение, поэтому необходимо брать абсолютное значение. Естественно, для определения расположения трех точек на одной прямой умножение на 0.5 не надо выполнять...

Всего сообщений: 379 | Присоединился: январь 2006 | Отправлено: 20 дек. 2008 14:10 | IP
mity99


Новичок

Оба моих сообщения это одна задача, извеняюсь конечно что так получилось вот она вся:
Даны три точки А(x1;y1), B(x2;y2), C(x3;y3). Определить лежат ли они на одной прямой, если нет, то вычислить угол АВС.
А про треугольник - это сильно я бы ни зачто не догадался.

Всего сообщений: 12 | Присоединился: декабрь 2008 | Отправлено: 20 дек. 2008 20:27 | IP
mity99


Новичок

Извиняюсь : Даны три точки на координатной плоскости

Всего сообщений: 12 | Присоединился: декабрь 2008 | Отправлено: 20 дек. 2008 20:28 | IP
mity99


Новичок

про умножение на 0,5 я не совсем понял

Всего сообщений: 12 | Присоединился: декабрь 2008 | Отправлено: 20 дек. 2008 20:31 | IP
bekas


Долгожитель

Для анализа расположения точек на одной прямой достаточно вычислить [(x1y2+x2y3+x3y1) - (y1x2+y2x3+y3x1)] и проанализировать это выражение на 0. То есть нет необходимости вычислять
0.5 * [(x1y2+x2y3+x3y1) - (y1x2+y2x3+y3x1)]


(Сообщение отредактировал bekas 20 дек. 2008 22:15)

Всего сообщений: 379 | Присоединился: январь 2006 | Отправлено: 20 дек. 2008 22:14 | IP
bekas


Долгожитель

Для определения угла между прямыми необходимо вычислить их угловые коэффициенты:

m1 = (y2-y1)/(x2-x1)
m2 = (y2-y3)/(x2-x3)

Тогда угол можно получить по формулам:

tg(f) = (m2-m1)/(1+m1m2)
tg(f) = (m1-m2)/(1+m1m2)

в зависимости от того, какая прямая считается подвижной, а какая неподвижной. Иначе говоря, из углового коэффициента неподвижной прямой надо вычитать угловой коэффициент подвижной.

Всего сообщений: 379 | Присоединился: январь 2006 | Отправлено: 20 дек. 2008 22:34 | IP
Volonter



Новичок

Вот задачка  Даны целые числа a1, a2,... Известно что a10 и что среди a2, a3,... есть хотябы одно отрицательное число. Пусть a1, ..., an - члены данной последовательности, предшествующие первому отрицательному члену(n заранее неизвестно). Получить max(a1, a1a2,...a1a2...an);

Всего сообщений: 8 | Присоединился: ноябрь 2008 | Отправлено: 20 дек. 2008 23:04 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]

Форум работает на скрипте © Ikonboard.com