Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2014, 23:19   #1
Vadim7721
Пользователь
 
Аватар для Vadim7721
 
Регистрация: 30.09.2014
Сообщений: 27
По умолчанию программа по рисунку

Помогите пожалуйста написать программу, чтобы программа определяла попадает ли точка с заданными координатами в закрашенную область
Изображения
Тип файла: jpg IMG_20141020_231809.jpg (36.8 Кб, 127 просмотров)
Vadim7721 вне форума Ответить с цитированием
Старый 20.10.2014, 23:38   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Пример только для закрашенной области:
xt, yt - координаты точки.
Для определения того, что точка попадает/не попадает в круг надо получить расстояние точки от центра круга: точка О с координатами (R,0).
Воспользуемся теоремой Пифагора:
Код:
d := sqrt(sqr(xt-R) + sqr(yt));
Условие попадания должно включать два условия:
1. d <=R
2. xt >= 0
Равенство - это для случая попадания точки на границу.

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 20.10.2014, 23:44   #3
Vadim7721
Пользователь
 
Аватар для Vadim7721
 
Регистрация: 30.09.2014
Сообщений: 27
По умолчанию

Не получится

Последний раз редактировалось Vadim7721; 20.10.2014 в 23:46.
Vadim7721 вне форума Ответить с цитированием
Старый 20.10.2014, 23:46   #4
Vadim7721
Пользователь
 
Аватар для Vadim7721
 
Регистрация: 30.09.2014
Сообщений: 27
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Пример только для закрашенной области:
xt, yt - координаты точки.
Для определения того, что точка попадает/не попадает в круг надо получить расстояние точки от центра круга: точка О с координатами (R,0).
Воспользуемся теоремой Пифагора:
Код:
d := sqrt(sqr(xt-R) + sqr(yt));
Условие попадания должно включать два условия:
1. d <=R
2. xt >= 0
Равенство - это для случая попадания точки на границу.

Как-то так, ...
Но мне же надо именно закрашенную область, а там полукруг, а не овал, так что не получится по теореме Пифагора сделать
Vadim7721 вне форума Ответить с цитированием
Старый 20.10.2014, 23:46   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Vadim7721 Посмотреть сообщение
Но мне же надо именно закрашенную область, там полукруг, а не треугольник
Где вы тут про треугольник то увидели?

Цитата:
Сообщение от Vadim7721 Посмотреть сообщение
Но мне же надо именно закрашенную область, а там полукруг, а не овал, так что не получится по теореме Пифагора сделать
А овал то где?

Можно через синусы и косинусы.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 20.10.2014, 23:47   #6
Vadim7721
Пользователь
 
Аватар для Vadim7721
 
Регистрация: 30.09.2014
Сообщений: 27
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Где вы тут про треугольник то увидели?
Та нет треугольника, там полукруг
Vadim7721 вне форума Ответить с цитированием
Старый 20.10.2014, 23:48   #7
Vadim7721
Пользователь
 
Аватар для Vadim7721
 
Регистрация: 30.09.2014
Сообщений: 27
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Где вы тут про треугольник то увидели?



А овал то где?

Можно через синусы и косинусы.
А как сделать тогда, через sin и cos
Vadim7721 вне форума Ответить с цитированием
Старый 21.10.2014, 00:10   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вопрос, а для чего нарисован круг в левой части? Он то каким боком к задаче?

А так, Вадим, если нужно попадание в замулёванный вами полукруг, то корректное решение см. в пост #2
По моему мнению, там правильный код написан!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.10.2014, 00:15   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

такие задачи решаются легко и просто после внутривенного матан-допинга. условие точки в этом полукруге:
Изображения
Тип файла: png 11.png (4.3 Кб, 63 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 21.10.2014 в 00:21.
min@y™ вне форума Ответить с цитированием
Старый 21.10.2014, 00:16   #10
Vadim7721
Пользователь
 
Аватар для Vadim7721
 
Регистрация: 30.09.2014
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вопрос, а для чего нарисован круг в левой части? Он то каким боком к задаче?

А так, Вадим, если нужно попадание в замулёванный вами полукруг, то корректное решение см. в пост #2
По моему мнению, там правильный код написан!
Ведь насколько я знаю, теорема Пифагора относится к прямоугольному треугольнику (гипотенуза)^2= (катет) ^2 + ( катет )^ 2
Vadim7721 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описание функции по рисунку X-REY Паскаль, Turbo Pascal, PascalABC.NET 0 20.11.2011 16:20
назначить рисунку собитые SkrudjMakdak JavaScript, Ajax 1 06.07.2011 00:00
Как прикрепить рисунок к рисунку GrEFon HTML и CSS 2 26.11.2007 17:21
Окно по рисунку Stanislav Общие вопросы Delphi 2 03.10.2007 14:18
окно по рисунку Roof Помощь студентам 7 16.07.2007 21:18