Russian Qt Forum
Ноябрь 23, 2024, 01:28
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Алгоритмы
>
Относительное расстояние до центра 8-угольника
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Относительное расстояние до центра 8-угольника (Прочитано 15743 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Относительное расстояние до центра 8-угольника
«
:
Январь 12, 2012, 19:32 »
Добрый день
На плоскости есть выпуклый 8-угольник с центром в точке (0, 0). Гарантируется что этот центр лежит внутри, но не более того. Найти
относительное
расстояние relD от центра до произвольно заданной точки p, напр
p совпадает с центром, relD = 0
p снаружи, relD > 1
p на ребре, relD = 1
p внутри, relD =
Спасибо
Записан
Fat-Zer
Гость
Re: Относительное расстояние до центра 8-угольника
«
Ответ #1 :
Январь 12, 2012, 21:43 »
ничего не понял... что за "относительное расстояние"? да и вообще условие как-то бредово звучит...
дано: выпуклый 8-угольник, включающий (0,0); точка p;
найти: расстояние от p до (0,0) [глупость какая-то(
)]
[оффтоп]
с пирамидой и конусом чего-нить вышло?
Записан
andrew.k
Гость
Re: Относительное расстояние до центра 8-угольника
«
Ответ #2 :
Январь 12, 2012, 21:53 »
Я не силен в математике, но попробую
1. Провести прямую из центра до точки которую рассчитываем.
2. Определить какую из граней пересекает прямая. Найти точку пересечения с ней.
3. Получаем два расстояния от центра до точки и от цетра до точки пересечения. Их отношение и будет относительное расстояния.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Относительное расстояние до центра 8-угольника
«
Ответ #3 :
Январь 13, 2012, 00:33 »
Цитата: Fat-Zer от Январь 12, 2012, 21:43
..условие как-то бредово звучит...
[глупость какая-то(
)]...
Пример:радиальный градиент (цвет) для круга. В центре максимальная яркость которая плавно падает к краю, ну или наоборот. Так что, нельзя иметь градиент для чуть более сложной фигуры? Ну а если "нежелание понимать" - так я ж Вас обсуждать не заставляю
Цитата: Fat-Zer от Январь 12, 2012, 21:43
с пирамидой и конусом чего-нить вышло?
Да, хотя в отдельных случаях погрешность значительна
Цитата: andrew.k от Январь 12, 2012, 21:53
2. Определить какую из граней пересекает прямая. Найти точку пересечения с ней.
Прошу исполнить
Пантер
, перенесли тему так перенесли, не вопрос. Но мне кажется нужно ширше понимать "2D графика", а не сводить дело только к хоровому чтению Ассистента (опиума для народа).
Записан
andrew.k
Гость
Re: Относительное расстояние до центра 8-угольника
«
Ответ #4 :
Январь 13, 2012, 01:18 »
Цитата: Igors от Январь 13, 2012, 00:33
Цитата: andrew.k от Январь 12, 2012, 21:53
2. Определить какую из граней пересекает прямая. Найти точку пересечения с ней.
Прошу исполнить
Нужен код на с++ что ли?
Вычислять по очереди каждую сторону.
Будет два пересечения. На сколько я понимаю ровно два. Т.к. многоугольник выпуклый.
Определить какой из двух отрезков искомый тоже не сложно.
Вы такие сложные темы поднимаете, Игорс. Не пойму какие проблемы с нахождением точки пересечения прямых?
Или это стеб надо мной?)
«
Последнее редактирование: Январь 13, 2012, 01:20 от andrew.k
»
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Относительное расстояние до центра 8-угольника
«
Ответ #5 :
Январь 13, 2012, 04:32 »
вот это относительное расстояние - это число будет использоваться в какой-то формуле или это просто индикатор? если второе, то просто использовать перечисление: 0 - точка в центре, 1 - внутри, 2 - на ребре, 3 - за пределами.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Относительное расстояние до центра 8-угольника
«
Ответ #6 :
Январь 13, 2012, 09:26 »
Igors, разве вопрос имеет какое-то отношение к Qt?
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Относительное расстояние до центра 8-угольника
«
Ответ #7 :
Январь 13, 2012, 14:41 »
Цитата: kambala от Январь 13, 2012, 04:32
вот это относительное расстояние - это число будет использоваться в какой-то формуле.. ?
Будет, причем весьма интенсивно, но об этом расскажу позже и в др. теме. Требуется float число.
Цитата: Пантер от Январь 13, 2012, 09:26
Igors, разве вопрос имеет какое-то отношение к Qt?
Qt имеет классы для поддержки 2D графики (QPointF. QPolygon, QVector2D и др), так почему бы их не задействовать? Не спрашивать же каждый раз "как сделать это средствами Qt?" - это само собой подразумевается.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Относительное расстояние до центра 8-угольника
«
Ответ #8 :
Январь 13, 2012, 14:52 »
Цитата: Igors от Январь 13, 2012, 14:41
Qt имеет классы для поддержки 2D графики (QPointF. QPolygon, QVector2D и др), так почему бы их не задействовать? Не спрашивать же каждый раз "как сделать это средствами Qt?" - это само собой подразумевается.
Все равно, к данному разделу эта тема имеет большее отношение.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Относительное расстояние до центра 8-угольника
«
Ответ #9 :
Январь 13, 2012, 14:57 »
Цитата: Igors от Январь 13, 2012, 14:41
Цитата: kambala от Январь 13, 2012, 04:32
вот это относительное расстояние - это число будет использоваться в какой-то формуле.. ?
Будет, причем весьма интенсивно, но об этом расскажу позже и в др. теме. Требуется float число.
если формула не взята с потолка, то должно быть объяснение того, что понимается под "относительным расстоянием". вариант "отношение расстояния от центра до точки к расстоянию от центра до ребра, которое пересекает луч центр-точка" кажется очень даже подходящим и вычислительных сложностей собой не представляет.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Относительное расстояние до центра 8-угольника
«
Ответ #10 :
Январь 13, 2012, 15:06 »
Цитата: Пантер от Январь 13, 2012, 14:52
Все равно, к данному разделу эта тема имеет большее отношение.
Ну на "алгоритм" это не тянет - очевидно что дело сводится к нахождению пересечений. А вот как это сделать покрасивше и чтобы скорость была приличной (кратность вызовов большая) - имеет смысл обсудить.
Цитата: kambala от Январь 13, 2012, 14:57
вариант "отношение расстояния от центра до точки к расстоянию от центра до ребра, которое пересекает луч центр-точка" кажется очень даже подходящим и вычислительных сложностей собой не представляет.
Это напоминает предыдущего докладчика у которого так же "все просто" - и так же отсутствуют хоть какие-то намеки на код (пусть даже "псевдо")
Записан
andrew.k
Гость
Re: Относительное расстояние до центра 8-угольника
«
Ответ #11 :
Январь 13, 2012, 15:17 »
намек на
код
Записан
Tonal
Гость
Re: Относительное расстояние до центра 8-угольника
«
Ответ #12 :
Январь 17, 2012, 08:53 »
2 маленбких дополнения к вашей многомудрой дискуссии:
1. Точка, относительно выпуклого многоугольника может:
а. Лежать внутри.
б. Совпадать с одной из вершин.
в. Лежать на одной из граней.
г. Лежать вне.
Соответственно все эти случаи нужно рассматривать проводя отрезок соединяющий «центр» и точку.
2. Если
Цитата: Igors от Январь 12, 2012, 19:32
p совпадает с центром, relD = 0
p снаружи, relD > 1
p на ребре, relD = 1
p внутри, relD =
то очевидно, что при p внутри, 0 < relD < 1.
Ежели вспомнить Qt, то в классе
QRegion
есть метод
contains
который отвечает на вопрос внутри точка или снаруже.
Но он не очень подходит для данного случая т. к. во первых неясно как трактует попадение на границу, а во вторых разработан для очень общих случаев и будет изрядно тормознее нормальных ручных вычислений.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Относительное расстояние до центра 8-угольника
«
Ответ #13 :
Январь 17, 2012, 13:28 »
Цитата: Tonal от Январь 17, 2012, 08:53
..и будет изрядно тормознее нормальных ручных вычислений.
Так что у нас с нормальными ручными вычислениями?
Записан
andrew.k
Гость
Re: Относительное расстояние до центра 8-угольника
«
Ответ #14 :
Январь 17, 2012, 18:45 »
Цитата: Igors от Январь 17, 2012, 13:28
Цитата: Tonal от Январь 17, 2012, 08:53
..и будет изрядно тормознее нормальных ручных вычислений.
Так что у нас с нормальными ручными вычислениями?
Задача еще не решена что ли?
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...