Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
1

Координаты точки, находящейся на заданном расстоянии от отрезка

21.02.2014, 22:18. Просмотров 4486. Ответов 10
Метки нет (Все метки)


Доброго времени суток, форумчане.
Имеется отрезок AB. Необходимо найти координаты точки D, находящейся на заданном расстоянии от отрезка при том, что CD должен быть перпендикулярен АВ, а С - это середина АВ. Сам отрезок CD строить не нужно.
Пробывал через вектора. Получилась система, в которой первое уравнение - это длинна вектора CD, а второе - скалярное произведение векторов. Или недосокращал, или ошибся где-то в расчетах, но на выходе формулы получились огромные да и программа строит не то, что нужно. Может всё намного проще, а я тут голову ломаю.
0
Изображения
 
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2014, 22:18
Ответы с готовыми решениями:

Случайные координаты на заданном расстоянии от точки
Есть некое 3х мерное пространство, обусловленное координатами X Y Z. Есть координатная точка:...

Получить значение ячейки, находящейся на заданном расстоянии от выделенной
Дорогие друзья! Подскажите можно написать следующий макрос в Эксель. Задача следующая: есть...

Найти потенциал точки поля, находящейся на расстоянии от заряженного шара.
Добрый день, есть проблема в решении, вроде как формулы вывел, а вот с подстановкой данных...

Даны координаты концов N - мерного отрезка (точки a и b). Найти его длину и наибольшую из координат точки а
Пропустил пары и теперь не знаю, как составить программу:boredom:

10
Эксперт по математике/физике
4144 / 2048 / 422
Регистрация: 19.07.2009
Сообщений: 3,102
Записей в блоге: 23
22.02.2014, 00:50 2
Лучший ответ Сообщение было отмечено Arkaniy как решение

Решение

Можно и по Вашей схеме:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\left\{\begin{array}{l}<br />
(x-x_c)(x_a-x_b)+(y-y_c)(y_a-y_b) = 0, \\<br />
(x-x_c)^2 + (y-y_c)^2 = R^2<br />
\end{array}\right.
Таким образом, первое уравнение связывает линейно неизвестные, а второе — квадратично. Удобно перейти к неизвестным https://www.cyberforum.ru/cgi-bin/latex.cgi?x'=x-x_c и https://www.cyberforum.ru/cgi-bin/latex.cgi?y'=y-y_c. Выражая одну переменную через другую и подставляя во второе уравнение, получим квадратное уравнение:
https://www.cyberforum.ru/cgi-bin/latex.cgi?y' = -x'\frac{x_a-x_b}{y_a-y_b}
https://www.cyberforum.ru/cgi-bin/latex.cgi?x'^2 \left( 1 + \left( \frac{x_a-x_b}{y_a-y_b} \right)^2 \right) = R^2
Итак, получаем ответ:
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\left\{\begin{array}{l}<br />
x = x_c \pm \frac{R}{\sqrt{1 + \left( \frac{x_a-x_b}{y_a-y_b} \right)^2}}, \\<br />
y = y_c \mp \frac{R}{\sqrt{1 + \left( \frac{y_a-y_b}{x_a-x_b} \right)^2}}.<br />
\end{array}\right.<br />

R — длина CD, https://www.cyberforum.ru/cgi-bin/latex.cgi?x_c=\frac{x_a+x_b}2 и https://www.cyberforum.ru/cgi-bin/latex.cgi?y_c = \frac{y_a+y_b}2.
5
Эксперт C
25440 / 15834 / 3386
Регистрация: 24.12.2010
Сообщений: 34,640
22.02.2014, 10:11 3
Расстояние от точки (x,y) до прямой ax+by+c=0 можно выразить и линейно относительно x, y.
1
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
25.02.2014, 16:46  [ТС] 4
Спасибо большое отписавшимся.
0
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
26.02.2014, 00:53  [ТС] 5
И всё же проблемы у меня с построением. Записал формулы, но результат какой-то однобокий. На 2 скрине так, как и должно быть. Две точки соединены тремя прямыми. Красная и зеленая точка - это контрольные точки для построения кривых Безье. Тут граф повернут на 30 градусов. А вот на первом скрине и видна моя проблема. При повороте на -30 получается вот такое искажение. В связи с чем это может быть? Или это уже нужно решать на программном уровне?
0
Миниатюры
Координаты точки, находящейся на заданном расстоянии от отрезка   Координаты точки, находящейся на заданном расстоянии от отрезка  
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
26.02.2014, 02:21  [ТС] 6
Потихоньку разбираюсь. Нужные мне точки можно получить если в системе для Х и У ставить одинаковые знаки.
х=хс+....
у=ус+....

Добавлено через 32 минуты
Вопрос решен.
0
530 / 448 / 311
Регистрация: 24.09.2013
Сообщений: 3,198
Записей в блоге: 1
21.03.2014, 03:15 7
Решение подобной задачи приводится в литературе по аналитической геометрии
Схема такая:
1 Составляем уравнение прямой, проходящей через 2 заданные точки А и В
вид уравнения y = k*x + b, k - угловой коэффициент прямой.

2 Находим координаты середины отрезка, как полусумму кординат точек А и В
3 Из середины,точка С, проводим линию перпендикулярно отрезку
Учитывая, что угловые коэффициенты взаимно перпендикулярных прямых связаны соотношением
k * k1 = -1
получаем уравнение этой линии (y-y1) = -1/k* (x-x1)
x1, y1 - координаты середины отрезка
4. По заданному расстоянию находим кординаты точки Д
0
73 / 3 / 2
Регистрация: 21.03.2012
Сообщений: 187
04.11.2014, 16:28 8
Mysterious Light, а если дано: координаты начала отрезка, длина отрезка, уровнение отрезка (отсюда и угол tg fi) и найти координаты конца?
0
Эксперт по математике/физике
4144 / 2048 / 422
Регистрация: 19.07.2009
Сообщений: 3,102
Записей в блоге: 23
04.11.2014, 18:36 9
Вы говорите, что дано уравнение https://www.cyberforum.ru/cgi-bin/latex.cgi?y=kx+b, https://www.cyberforum.ru/cgi-bin/latex.cgi?k=\operatorname{tg}\varphi, точка на этой прямой https://www.cyberforum.ru/cgi-bin/latex.cgi?(x_0,y_0) и длина отрезка https://www.cyberforum.ru/cgi-bin/latex.cgi?l и нужно найти другой конец.
Очевидно, https://www.cyberforum.ru/cgi-bin/latex.cgi?x_1=x_0+l\cos\varphi и https://www.cyberforum.ru/cgi-bin/latex.cgi?y_1=y_0+l\sin\varphi. Кроме того, https://www.cyberforum.ru/cgi-bin/latex.cgi?\operatorname{tg}^2\varphi + 1=\frac{1}{\cos^2\varphi} из основного тригонометрического тождества, что позволяет выразить cos и затем sin через tg.
0
73 / 3 / 2
Регистрация: 21.03.2012
Сообщений: 187
05.11.2014, 12:06 10
Mysterious Light, спасибо за ответ. Если tg fi задано отношением 3/4=sin fi/cos fi, то как тогда вычеслить чему равно sin fi, cos fi, за какой формулой?

Добавлено через 40 минут
сори, затупил

Добавлено через 16 часов 22 минуты
Mysterious Light,
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Итак, получаем ответ:
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br /> \left\{\begin{array}{l}<br /> x = x_c \pm \frac{R}{\sqrt{1 + \left( \frac{x_a-x_b}{y_a-y_b} \right)^2}}, \\<br /> y = y_c \mp \frac{R}{\sqrt{1 + \left( \frac{y_a-y_b}{x_a-x_b} \right)^2}}.<br /> \end{array}\right.<br />
с этой формулой как-то не клеется. Есть А(1;0), В (-3;4), и середина М(-1;2), длинна - корень с 50
Получаются точки С1 (4;-3) и С2 (-6;7), а должны быть С1(4;7) и С2 (-6;-3). Мжет там в обоих формулах дожен идти +-, тогда все получается, хотя в предведущих заданиях это работало.
0
1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 27
14.01.2015, 13:22 11
Скажите пожалуйста как вы решили эту проблему? Чем прямая более пологая, тем перпендикуляр идет прямее, чем более под углом, то "перпендикуляр" больше отклоняется.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2015, 13:22

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Найти координаты точки на отрезке при известном расстоянии до неё
Есть отрезок с известными координатами начала и конца, допустим А(х1, у1) и B(x2, y2). Как найти...

Найти координаты точки отрезка
Подскажите формулу нахождения координаты точки отрезка зная координаты второй точки, длину отрезка...

Найти координаты точки середины отрезка
Помогите написать функции: а) Аргументы: переменная-указатель на массив символьных значений и...

Найти координаты точек отрезка если известны координаты концов отрезка
Отрезок АВ разделен на 5 равных частей точками С,D,Е,F найти координаты точек D,С если известны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.