Пересечения площадь многоугольника и круга
Я хочу, чтобы вычислить площадь пересечения круга и многоугольника (не само пересекающиеся). есть ли хороший обобщенный алгоритм.
Примечание: То, что я пробовал: сначала я пытаюсь решить проблему с алгоритмом литья лучей, где я найду точки в круге, а затем идентифицирую область. Но мне кажется сложнее, поскольку ситуация усложнилась и со сложными тестовыми случаями.
Спецификация входа: центр (x, y) и радиус круга. вершина многоугольника ({x1, y1}, {x2, y2}, {x3, y3} ...).
ОБНОВЛЕНИЕ: Чем больше я думаю, я смущен. действительно ли это можно вычислить?
Страница, на которую вы ссылаетесь, использует JavaScript. Возникает вопрос, как преобразовать код в C++? –
Если вы можете наложить луч в круг, ответ тривиален. Можете ли вы это сделать? – BWG
Ссылка, которую вы даете, дает решение другой проблемы, решение о том, есть ли пересечение или нет. Это то, что вы на самом деле ищете или вы хотите вычислить область, где пересекаются круг и многоугольник? –