Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[44.193.80.126] |
|
Сообщ.
#1
,
|
|
|
Дан квадрат с вершинами (0; 0),(1, 0),(1; 1),(0, 1) и окружность с центром в (x, y) радиусом r. Как найти площадь общей части этих фигур?
|
Сообщ.
#2
,
|
|
|
Найти точки и форму пересечения, разбить его на простые части - сектора, сегменты круга, треугольники, вычислить площадь каждой части.
|
Сообщ.
#3
,
|
|
|
Представить окружность к примеру 32 угольником.
Найти пересечение двух многоугольников одним из алгоритмов. https://yadi.sk/i/63hpws523Q4Gwz И вычислить площадь многоугольника http://pers.narod.ru/algorithms/pas_polygon_square.html |
Сообщ.
#4
,
|
|
|
Нужно разделить задачу на частные случаи:
1. круг вне квадрата. 2. круг внутри квадрата. 3. центр круга вне квадрата, внутрь круга попадает часть квадрата без вершин. 4. центр круга вне квадрата, внутрь круга попадает часть квадрата с одной вершиной. .... И так далее, вариантов довольно много, и у каждого решение будет своё. Эти решения по отдельности не представляют большой сложности, если какой-то конкретный случай вызывает затруднения - могу расписать подробнее. |
Сообщ.
#5
,
|
|
|
Печаль ещё и в том, что если расширить/поменять задачу на куб и шар, то всё несколько усложнится. А изначально хочется/ожидается нечто простенькое...
|
Сообщ.
#6
,
|
|
|
Я бы просто разбил границу пересечения на части, каждая из которых либо отрезок, либо дуга, после чего просто посчитал площадь по формуле Грина.
|
Сообщ.
#7
,
|
|
|
Нужно квантовать исходный квадрат!
Пусть длина стороны квадрата равна а, где а = 10 000, 100 000, 1 000 000 или 1 000 000 000 атомов/точек)) Для КАЖДОЙ точки/атома квадрата найти расстояние от центра окружности до нее, и, если расстояние будет МЕНЬШЕ радиуса окружности, следовательно, эта часть квадрата, состоящая из 1-го атома, попадает в область окружности... Зная кол-во таких атомов, легко получить общую площадь Преимущества: не нужно знать сложные алгоритмы, геометрию и хорошо уметь программировать, т к все сводится к циклам for и элементарным формулам Недостатки: если взять триллион атомов, то быстродействие "умрет" Смотря, какая нужна точность расчета, до какого знака... Примечание: точка/атом обладает определенной площадью, хотя в классической геом. точка НЕ имеет площади.. Скрытый текст Возможно, приведенный алгоритм полный бред |
Сообщ.
#8
,
|
|
|
А если переписать решение задачи на шейдеры, то вообще можно много выиграть!..
|
Сообщ.
#9
,
|
|
|
Цитата Mikle @ Нужно разделить задачу на частные случаи: 1. круг вне квадрата. 2. круг внутри квадрата. 3. центр круга вне квадрата, внутрь круга попадает часть квадрата без вершин. 4. центр круга вне квадрата, внутрь круга попадает часть квадрата с одной вершиной. +1 а потом взять и найти |