I was adding some functionality to a website and couldnt find the perfect dimension heart anywhere, there is so much variety out there so I decided to do a bit of research. The use of the heart iconogram has been around since about the 16th century. It used to be a bit more "organic" and there were arteries and pipes coming out of the top.
The use of the iconic heart has become a lot more popular in the last hundred years or so, possibly one of the most iconic symbols in use today, there is absolutely no standardization whatsoever.
That day, I started a quest, a quest for the perfect heart. Heres how my thinking pattern went down.
1) Figure out the basic mechanics of a heart structure
2) Randomly generate these hearts
3) Get people to vote on their version of the "perfect heart"
4) Finally know and understand the perfect heart
It didnt take too long to figure out the mechanics of the heart, I chose the simple non tapered end heart for simplicity. About 60% of the hearts I found in my research had simple geometry, and were symmetrical. The addition of the tapered tail makes for a much more complicated generation formula so I chose not to focus on these.
With the current formula I use there are over 220 Billion hearts possible. Thats a lot of heart!
The formula I use takes two basic rules, the heart is essentially a symmetrical pair of bezier curves with a throw variance of the curve. Once I got started and rendered my first heart I was hooked.
The project has mutated a bit into somethign fun, I am still yet to work on the voting aspect of this project to see which hearts are popular, but I am going to use social metrics to measure. However many people share a heart on the social sharing platforms, will be the first judge of the popularity of a certain heart.
Its a fun project, and quite addictive - maybe others wont enjoy it as much as I do. I would like the project to actually yield the perfect dimensions of the heart and hopefully (when I find the time) I can make the user experience better for this platform.
Please let me know what I cna fix in the comments below.