Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 215
1

Попала ли точка в область вокруг отрезка

20.07.2015, 14:30. Просмотров 322. Ответов 2
Метки нет (Все метки)

Всем доброго времени суток. Есть координаты начала и конца отрезка. Есть координата клика мышки. Нужно проверить, попал ли клик в область вокруг прямой. Первое что мне пришло в голову это найти уравнение прямой через координаты начала и конца и плясать от них. Вроде сделал, но какая-то ерунда получается, область срабатывания все время в горизонтальном положении, не зависимо от положения отрезка. Что тут не так, где я не допонимаю ? Или может есть способы поумнее какие ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const int WH = 10;
//mX, mY координаты клика мыши 
bool TObjectsInspector::insideArea(TNode* tmpFirstNode, TNode* tmpLastNode,int mX,int mY)
{
    //координаты начала отрезка
    int x0 = tmpFirstNode->getX();
    int y0 = tmpFirstNode->getY();
    //координаты конца отрезка
    int x1 = tmpLastNode->getX();
    int y1 = tmpLastNode->getY();
 
 
 
    if ( (mY <  ((mX - x0)/(x1-x0)*(y1-y0) + y0 + WH/2))&&(mY >  ((mX - x0)/(x1-x0)*(y1-y0) + y0 - WH/2))
        || (mY >  ((mX - x0)/(x1-x0)*(y1-y0) + y0 + WH/2))&&(mY <  ((mX - x0)/(x1-x0)*(y1-y0) + y0 - WH/2))  ) {
        return true;
    }
 
 
    return false;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2015, 14:30
Ответы с готовыми решениями:

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

Проверить попала ли точка с заданными координатами в заштрихованную область
проверить попала ли точка с заданными координатами (х,у)в заштрихованную...

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

Определить, попала ли произвольно заданная точка с координатами (х,у) в заштрихованную область
Определить,попала ли произвольно заданная точка с координатами (х,у) в...

Ввести с клавиатуры координаты точки (x,y). Определить попала ли точка в заштрихованную область
Язык С++

2
D_Gon
25 / 14 / 17
Регистрация: 09.07.2015
Сообщений: 47
20.07.2015, 16:38 2
http://www.cyberforum.ru/cgi-bin/latex.cgi?R = \sqrt{{({x}_{1} - {x}_{0})}^{2}+({y}_{1} - {y}_{0})}^{2} - расстояние между точками
http://www.cyberforum.ru/cgi-bin/latex.cgi?{R}_{0} = \sqrt{{({m}_{X} - {x}_{0})}^{2}+({m}_{Y} - {y}_{0})}^{2} - расстояние между первой точкой и координатами мыши
http://www.cyberforum.ru/cgi-bin/latex.cgi?{R}_{1} = \sqrt{{({m}_{X} - {x}_{1})}^{2}+({m}_{Y} - {y}_{1})}^{2}- расстояние между второй точкой и координатами мыши

R0 + R1 = R - условие попадания в отрезок
h - небольшое расстояните от отрезка
R0 + R1 < R + h - условие попадания в эллипс вокруг отрезка - Ваш случай
1
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 215
20.07.2015, 16:49  [ТС] 3
D_Gon, спасибо большое, все отлично работает ^_^
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2015, 16:49

Ввести координаты точки на плоскости, и определить, попала ли эта точка в заштрихованную область
Напишите программу, которая вводит координаты точки на плоскости и определяет,...

Определить номер четверти прямоугольника, в которую попала точка
Не могу разобраться с условием. Буду благодарен запомощь. Есть задача....

Определить, попадает ли заданная точка в заштрихованную область (границы не входят в область)
Условие: Напишите программу, которая определяет, попадает ли заданная точка в...


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

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

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