IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Небольшая Геометрическая задачка
nulbok
сообщение 27.11.2006 1:06
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской
Реальное имя: yurec

Репутация: -  0  +


А смысл вот в чём. Рисуются на экране произвольно 2 отрезка. В случае, если отрезки пересекаются , точка персечения становится центром окружности , с радиусом (неважно каким).

Собственно проблема в том, как узнать пересекаются ли прямые, точнее как узнать координаты точки персечения. Поиском искал. Ничего толкового не нашел. Заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 27.11.2006 10:19
Сообщение #2


Гость






Какие же уравнения? 4 точки, координаты x1, x2, x3, x4, y1, y2, y3, y4 - через них все выводится... blink.gif

const
n = 4;
x: array[1 .. 4] of integer = (3, 5, 3, 6);
y: array[1 .. 4] of integer = (3, 7, 7, 1);

var
Z, Ua, Ub: real;
pX, pY: real;

begin
Z := (y[4]-y[3])*(x[2]-x[1]) - (x[4]-x[3])*(y[2]-y[1]);
Ua := ((x[4]-x[3])*(y[1]-y[3]) - (y[4]-y[3])*(x[1]-x[3]))/z;
{ Ub := ((x[2]-x[1])*(y[1]-y[3]) - (y[2]-y[1])*(x[1]-x[3]))/z; }

pX := x[1] + Ua*(x[2] - x[1]);
pY := y[1] + Ua*(y[2] - y[1]);
writeln('X = ', pX:10:5, ' ; Y = ', pY:10:5);
end.
(не забудь проверить принадлежность Ua, Ub интервалу, о чем говорится в статье...)
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 11:14
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"