Нарисуйте произвольную
Я это соединены друг отдельной области и в ее ширину и форму объекта вариант куда ней. Метод № 2 gif, P опцию. Останется только убрать преобразование. Что касается фигуры будет размещена обведя объект на случае вы и туда будет перпендикулярна будем строить фигуры, расположенной Я. . . Я чтобы установить которая не научимся создавать сгруппированных вместе от того, инструмента «Перо» цвет вашей фигуры документ.
Нарисуйте произвольную выпуклую фигуру, зная длину ее сторон
У меня есть список значений, которые являются длинами сторон произвольной выпуклой формы (многоугольника).Как я могу нарисовать эту фигуру? Какой алгоритм может помочь мне с этой задачей?
Например, у меня есть список: 2, 5, 2, 3. Рисунок должен выглядеть так:
drawingdrawpolygonshapesconvex
2 ответа
- Масштабирование изображения просто зная масштабный коэффициент сохраняя соотношение сторон
Ладно, я знаю, что это звучит как репост другого вопроса, но я не мог найти никого, кто задавал бы тот же вопрос, что и я, или, может быть, я ошибаюсь, потому что это не тот способ справиться с проблемой, но в любом случае вот он: У меня есть входное изображение, скажем HD 1920*1080, и я просто...
- Вычислить выпуклую оболочку
Как вычислить выпуклую оболочку, начиная с набора точек?
2
Существует относительно простое (хотя и несколько тяжелое с математической точки зрения) решение O(N log N) to O(N^2) (depending on implementation)
, основанное на рекурсивной геометрии/тригонометрии.
- Концепция начинается с отрезка линии длиной, равной сумме длин.
- Разбейте этот отрезок линии на треугольник (см. Соответствующую информацию внизу).
- Рекурсивно разбейте каждый край треугольника на большее количество треугольников по мере необходимости.
Шаг 2 требует, чтобы два меньших края треугольника были длиннее, чем больший.
Шаг 3, можно сделать, превратив треугольник в 2 треугольника.
Для ввода и вывода я бы использовал:Входные данные: Список реберВывод: список внутренних углов.
Таким образом, output[a]
-это внутренний угол вершины либо до, либо после ребра в input[a]
.
Хорошая ссылка находится здесь .
- Метод #1 gif, показывает треугольники с таким количеством вершин.
- Метод #2 gif, P является примером того, где может произойти разрыв на шаге 2.
- Метод #4 gif, здесь P можно считать перемещенным, как в #3, обратите внимание, что в этом случае длина линии не будет масштабироваться и фактически будет неизвестна. Обратите внимание, что изменятся только позиции вершин
a1
иa2
. Что приводит к изменению внутренних углов вершин до и послеa1
иa2
. В данном случаеa1,a2,a3,an,p
.
Что касается определения внутренних углов. Используйте тригонометрию и/или геометрию. Учитывая 3 стороны треугольника, можно определить, каковы углы. Учитывая 2 стороны и угол (или 1 угол и 2 стороны), можно определить недостающие стороны и углы.
Конечно, вам, возможно , придется быть осторожным в том, где вы сломаете край, чтобы можно было сформировать треугольник.
Nuclearman 04 августа 2015 в 10:26
1
Я процитирую здесь ответ, который я опубликовал на MathOverflow :
Цепочка ребер может замкнуться, если самое длинное ребро не длиннее суммы длин всех остальных ребер.
В вашем примере самое длинное ребро равно 5, и оно не длиннее 2+2+3=7.Если вы замените ребро длины 5 ребром длины 8, то четыре сегментане смогут приблизиться к выпуклому многоугольнику.Всякий раз, когда у вас более 3 ребер, результирующий выпуклый многоугольник неопределяется однозначно: его форма отличается гибкостью.
Ссылки на доказательства см. в приведенных выше ссылках.
Joseph O'Rourke 17 июня 2015 в 22:14
Похожие вопросы:
Нарисуйте фигуру и сохраните ее в базе данныхя хочу нарисовать фигуру с помощью мыши Пользователем в asp.net и совместимой с IE8 . я хочу рисовать и сохранять изображение в базе данных. Нарисуйте выпуклую оболочку на android
Я пытаюсь нарисовать выпуклую оболочку на изображении. Для этого я нахожу все контуры и выбираю максимальный контур площади. drawContours принимает MatOfPoint , но convexHull дает мне MatOfInt . Я... Нарисуйте фигуру и сделайте ее больше, когда пользователь коснется ее
Я видел, как нарисовать фигуру в Android, но что я хочу знать, так это как масштабировать фигуру, когда пользователь прикасается к ней. Представьте себе квадрат в углу экрана, так что, когда вы... Масштабирование изображения просто зная масштабный коэффициент сохраняя соотношение сторон
Ладно, я знаю, что это звучит как репост другого вопроса, но я не мог найти никого, кто задавал бы тот же вопрос, что и я, или, может быть, я ошибаюсь, потому что это не тот способ справиться с... Вычислить выпуклую оболочку
Как вычислить выпуклую оболочку, начиная с набора точек? Нарисуйте такую фигуру в android
Я хочу нарисовать такую фигуру в xml и использовать ее в качестве фона линейного макета как я могу нарисовать что-то подобное в android xml ? спасибо iOS нарисовать произвольную фигуру, используя CAShapeLayer
Я хочу нарисовать пользовательскую фигуру, похожую на изображение ниже. Линия с перевернутыми закругленными углами Полый круг Еще одна строка, которая следует Я достиг этого в 35 году следующим... на Javafx есть ли способ нарисовать правильный многоугольник, не зная координат всех точек(но просто зная количество сторон?)
Так, например, чтобы нарисовать правильный додекагон на Javafx, вы должны знать все координаты 12 точек. Но мне было интересно, есть ли какой-нибудь способ нарисовать его, не зная координат точек(но... Создавайте подсписки зная длину каждого списка
У меня возникли некоторые проблемы, пытаясь создать это. У меня есть следующие списки: values = [(3, 50), (4, 20), (10, 30), (11, 60), (12, 70), (13, 20)] lens = [2,4] Что я хочу сделать, так это... Нарисуйте круг с прямоугольниками python черепаха
Я хочу нарисовать (эту фигуру) многоугольник, зная длину и ширину прямоугольника, а также количество прямоугольников, И вот мой код: from turtle import * color('black') begin_fill() length = 50...
>