Диаграммы Венна
От: WFrag США  
Дата: 04.04.08 13:31
Оценка:
Подскажите, как можно построить диаграммы Венна (пример), если заданы размеры каждого из множеств, и размеры всех 4 пересечений (3 попарных и одно общее)?

Причем хочется, чтобы визуальные пропорции соответствовали бы (хотя бы примерно) заданным. Попробовал решить «в лоб», найти точное решение — получил жуткое тригонометрическое уравнение.

Радиусы находятся тривиально, это просто размеры множеств (или корни — не суть важно). А вот как по-простому, но более-менее точно, найти расстояние, на которые надо поместить окружности друг от друга я придумать что-то не могу.
Re: Диаграммы Венна
От: andy1618 Россия  
Дата: 05.04.08 22:29
Оценка: 3 (1)
WF>Радиусы находятся тривиально, это просто размеры множеств (или корни — не суть важно). А вот как по-простому, но более-менее точно, найти расстояние, на которые надо поместить окружности друг от друга я придумать что-то не могу.

Вот расклад для двух окружностей (отсюда):
==


Площадь пересечения A =

==

Аналитически вывести d через А, наверное, нереально. Т.е. можно либо решать каждый раз численно, либо упростить задачу, например, представив окружности в виде квадратов, и вывести формулу для них — скорее всего, полученное уравнение можно будет решить аналитически.

Ну а дальше, вычислив попарные расстояния между каждыми двумя окружностями, можно построить итоговую диаграмму. Причём наверняка придётся немного её скорректировать, чтобы привести в примерное соответствие площадь центрального пересечения с заданным.

ЗЫ. Площадь пересечения трёх окружностей (центральный кусочек) можно, очевидно, посчитать вычитанием из общей площади окружностей трёх площадей попарных сегментов.
Re[2]: Диаграммы Венна
От: WFrag США  
Дата: 06.04.08 10:53
Оценка:
Здравствуйте, andy1618, Вы писали:

A>Вот расклад для двух окружностей (отсюда):

A>==
A>

A>Площадь пересечения A =

A>
A>==

Угу. Эту формулу-то я и вывел.

A>Аналитически вывести d через А, наверное, нереально. Т.е. можно либо решать каждый раз численно, либо упростить задачу, например, представив окружности в виде квадратов, и вывести формулу для них — скорее всего, полученное уравнение можно будет решить аналитически.


Ага. Нашел апплет, который рисует диаграммы — они как раз численно решают. Собственно, так и сделал.

A>Ну а дальше, вычислив попарные расстояния между каждыми двумя окружностями, можно построить итоговую диаграмму. Причём наверняка придётся немного её скорректировать, чтобы привести в примерное соответствие площадь центрального пересечения с заданным.


A>ЗЫ. Площадь пересечения трёх окружностей (центральный кусочек) можно, очевидно, посчитать вычитанием из общей площади окружностей трёх площадей попарных сегментов.


Не похоже. А как же площадь A\B\C, например? В найденном мной апплете какая-то жуткая формула, которую я пока не осознал.
Re: Диаграммы Венна
От: bukazoid  
Дата: 06.04.08 13:29
Оценка:
Здравствуйте, WFrag, Вы писали:

WF>Причем хочется, чтобы визуальные пропорции соответствовали бы (хотя бы примерно) заданным. Попробовал решить «в лоб», найти точное решение — получил жуткое тригонометрическое уравнение.


мухлюем и берём R=r. получаем решаемое уравнение.
d=F(A)

больший круг R вносит в пересечение(по линии разреза) меньший вклад чем меньший r.
R/r ~ 2 отрезаемые площади отличаються примерно в 3 и более раза.
1. зная R,r оцениваем R/r
2. даём поправку n (n=1 r=R ,n=1.5 R~1.5r(нужно больше отрезать), n~2 R/r=2 (ещё больше))
3. вычесляем d=F(A*n)

визуально примерно должно соответствовать
ps. можно эмпирически/числено n найти
Re[3]: Диаграммы Венна
От: andy1618 Россия  
Дата: 08.04.08 05:36
Оценка: 6 (1)
A>>ЗЫ. Площадь пересечения трёх окружностей (центральный кусочек) можно, очевидно, посчитать вычитанием из общей площади окружностей трёх площадей попарных сегментов.
WF>Не похоже. А как же площадь A\B\C, например? В найденном мной апплете какая-то жуткая формула, которую я пока не осознал.

Да, с этим утверждением я явно погорячился
Тут люди, оказывается, целые труды на эту тему пишут — вот как раз из обсуждения про д.Венна:
"Area of Common Overlap of Three Circles"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.