Correction to title: Drawing Proportional-Intersection Venn Diagrams
This seems to be only for two circles.
I was hoping for an algorithm for drawing any Venn Diagram. Here's n=7 https://78.media.tumblr.com/tumblr_m74i4eR9Ym1qa0uujo1_1280....
Might not be the most efficient way to get proportionality, but it would seem that making the set boundaries elastic and putting a proportional amount of non-overlapping particles within the corresponding regions may draw a 'good enough' picture.
Sort of like in the type of graph layout algorithm https://youtu.be/_Oidv5M-fuw
I find this kind of physical approach to 'optimization' entertaining. With quotes because it need not converge/terminate.
In the book "The Mathematical Mechanic" by Levi, there's even more examples like a physical model for solving an optimal location problem in 2D (minimize sum of distance from a source to fixed locations, choosing where to place the source) by setting up weights connected by strings to a ring denoting the optimal location of the source. It also claims to prove the Pythagorean theorem by a prism-shaped water tank construction.
I find it interesting that the function doesn't have a closed form solution, given how easy it is to compute it. I wouldn't have thought, at first glance, that the function wasn't invertible.
I used "Area Proportional Ellipses" several years back which allowed up to three quantities to be represented.
I made multiple highly precise comparison figures...
In the end someone (else) went into a paint program slapped a few ovals together as a cartoon of my precision which went into the final product because it did made a better illustration and conveyed to point of my figures without any accuracy beyond that of the mark-1 eyeball
You don't need 100 iterations of binary search. Double-precision floating-point numbers only have 52 bits of precision.
Non-programmer here. Isn't numerically inverting an analytic function something that should be done with a math library rather than coded from scratch? (Or is the point of this demonstration how to do that inversion rather than anything about Venn diagrams?)
The code is neat, but given how terrible humans are at comparing areas (particularly odd shapes like this), is there any point to making Venn diagrams proportional (other than filling your own deep OCD desires)?
1: See also: Pie charts
See also: Matplotlib Venn [1, 2] which draws area-accurate Venn diagrams.
In the extremes (0% and 100% overlap), don't these cease to be Venn diagrams? I thought a Venn diagram had to show every possible intersection and non-intersection, even if some of these were empty.
Off topic a bit... what about those pie charts that are missing the middle. Are they proportional? Edit: seem to be called donut charts.