Got a bit frustrated because I couldn't get anything except a flat surface above the water, then read the tweets below and realised that's the entire point:
That works, but my personal favorite is drawing something like 2 half notes, connected, since a bridge shape seems to maximize the height*width of iceberg visible above the water. There is nothing to stop you from just adding a wide flat plane to the top of your spike either though to add more flair!
My mental model is of each side (think left/right in 2-D) of the iceberg competing with the other side to float to the surface by rotating the iceberg around it's center of gravity. The only stable positions are where these left/right rotational forces are balanced.
If an iceberg is currently floating in a vertical orientation where more of it's mass to one side of it's center of gravity (bottom half) is underwater compared to the mass on the other side (top half), then it's going to tend to rotate until both sides are equally above water, so (depending on mass distribution) horizontal orientations are likely to win over vertical ones.
Of course an iceberg could balance vertically, but that's like balancing a pencil on your finger - not the most stable, and any disturbance (such as the initial calving event) is likely to rotate it into a more stable horizontal orientation.
That’s exactly it. An iceberg can’t stay "vertical" for the exact same reason that a pencil can’t stay vertical. Even if perfectly balanced, the equilibrium is unstable.
I found shapes that do not work well with the simulation: a very wide and narrow shape (like a needle) oscillates wildly and does not seem to stop or to even slow down.
The HTML source code is a well-commented, fun read.
- There's a fair bit of math to model drag, mass, and density using the specific gravity of ice and seawater (with tweaks to make it more realistic for 2d).
- Try adding a polygon that overlaps itself (self-intersects).
- You can paste images! The code traces the image and picks the most complex polygon.
No idea if others at Twitter suggested this as I can't read the thread (and have no intention to subscribe) but a nice add on would be a score inversely proportional to the travel an iceberg would need to obtain a stable floating position, with ideally the very hard goal to draw it already in a perfect stable way, waterline height included.
It isn’t too hard to get fairly close to that by drawing something that’s extremely stable, for example something very wide but not tall or an equilateral triangle, with one corner facing down.
Then, use your first attempt to correct for the correct height.
⇒ I think a good game would need some other constraint, maybe score more for max height above the surface, or for how long a polar bear can keep their feet dry while it melts (a very wide but not tall stripe will melt faster than something resembling a ball)
The center of displacement is always below the center of mass, so the iceberg never gets the stability of a rock hanging on a thread (ships can do that with ballast).
The only way for an iceberg to achieve stability is "differential" - every infinitesimal movement needs to move the center of displacement in a way which counters the movement. This basically means flat bottom.
Try drawing a "^" shape. The fundamental constraint is that the iceberg hates going too deep; with the two legs, any rotation would force that and is thus forbidden.
A flat bottom can almost work but is highly prone to accidental asymmetry.
Yes, rectangle would also be degenerate. Basically any configuration where adding an epsilon weight somewhere generates a non-epsilon shift so to speak.
To me, "degenerate" means that it has a symmetry so that the different states are somehow identical (e.g. equal energy in a quantum system). If it's rectangle-ish (say, an imperfect hand-drawn rectangle) then it has 4 distinct equilibrium positions. Not sure if we're thinking of the same with "degenerate".
https://threadreaderapp.com/thread/1362557149147058178.html
(Many thanks to Elon for making it impossible to read more than the first tweet on x.com without an account...)