|
|
|
Sergio |
|
|||
Опытный Профиль Группа: Участник Сообщений: 843 Регистрация: 28.7.2006 Где: Solar System-> Earth Репутация: нет Всего: 1 |
Здравствуйте,
помогите пожалуйста с написанием функции:
Нужно узнать принадлежит ли точка фигуре? Фигура ввиде правильного ромба. Действие происходит на осях X, Y Заранее спасибо. |
|||
|
||||
_Y_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Что-то я геометрию школьную забыл. Бывают разве ромбы "неправильные"?
Вообще же методов должно быть немеряно. Тем более, что ромб - фигура выпуклая и, поэтому, все с ней просто. Например так:
-------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
Skevalt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 30.11.2006 Репутация: нет Всего: 3 |
Можно сделать следующим образом: см. рис.
Тогда условием принадлежности точки фигуре будет: (Yp <= u(Xp)) AND (Yp >= d(Xp)) Также, можно определять ромб и не через длины диагоналей, а через уравнение прямой, проходящей через две точки, откуда необходимо найти коэффициент угла наклона b/a. p.s. Ромб можно перенести в любую точку, используя параллельный перенос. p.p.s. Если совсем не заморачиваться, то взять код здесь Это сообщение отредактировал(а) Skevalt - 26.6.2011, 18:45 |
|||
|
||||
Dottik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 13.10.2006 Где: Ukraine Репутация: 1 Всего: 2 |
Или же соеденить точку с 4-мя вершинами => получаем 4 треугольника => если сумма их площадей ровна площаде ромба то точка внутри.
|
|||
|
||||
_Y_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Мне понравилось. Давайте сделаем из этой темы флейм на тему сколькими методами можно решить данную задачу Думаю неслабая ветка получится.
-------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |