Show HN: Test your shape rotation skills
0xf00ff00f.github.io
This is written in C++ and built to WebAssembly with Emscripten. The code is at https://github.com/0xf00ff00f/rotator
0xf00ff00f.github.io
This is written in C++ and built to WebAssembly with Emscripten. The code is at https://github.com/0xf00ff00f/rotator
Also, I have always wondered if there's a way to translate these shapes to strings for quick "mental algorithm" matching. Something like, "5, left turn, 3, right turn..."
I guess you'd need a normal form. The first turn can be defined as always "right" or "left," and subsequent turns can be right, left, up or down. The first turn that's "up" or "down," can be defined as "up." That leaves two ways to read any shape, but that's an uhh constant-factor overhead. :)
(I can't think of a way to define a normal form reading direction that wouldn't involve potentially reading an arbitrary distance in before having to re-start the other way.)
*In most people.
No it can’t, not in 3D... it is just a turn.
You can however choose to rotate about the first segment until the turn is Right, then use this orientation for the rest.
In terms of normal form and restarts, who cares? Just generate the string both ways, it’s 2n computations, choose the lowest in lexicographic order, and life is good. If you get to billions of turns are humans really going to be doing the comparison? Surely we’d just stream the string into a hash function or something...
You can always rotate this to (n, 0, m) and view from the +y axis looking down, and it is a right turn.
The L shape is not complex enough to be chiral, but the post is (and you are!) is claiming that you need an extra bit of information to specify “which L, the right handed one or the left handed one?” ... That is a distinctively 2D question.
You can just define the first turn to be Right no matter how it is oriented.
If you are not happy with that then just rotate the first segment until it looks Right to you. Then label the other turns.
If you are still not happy with the word Right to denote the first term then just make up new notation. Define the first turn to be 1. Use numbers to denote turns if you object to using Left and Right.
Not if it is chiral. then whatever turn is defined as right is not left
I was once measured to have abysmal spatial reasoning (which is probably backed up by poor hand-eye coordination and sense of direction) but I had no problem doing molecular geometry and group theory, I suspect it was because I applied logic rather than visualisation to compensate. (I am terrible at walking into an empty place an imagining how I might want to fill it)
After the first couple of wrong guesses (though I'm pretty sure one guess was correct - could be the bug https://news.ycombinator.com/item?id=30408567) I started to count segment lengths rather than relying on mental shape rotation.
The shapes generally progress in difficulty until they are deemed “impossible” for any human shape rotator to figure out.
If you reduce the problem to counting instead of shape rotation (3D matrix multiplication) many humans can “shape rotate” to impossibly high levels of IQ
Inspired by Super Hexagon (remember that?), you need to repeatedly tell a "snake" which way to go with the left and right arrow keys... while the game viewport twists and rotates randomly as it continually zooms out.
GoOd lUcK.
(It's from here, 1 month ago: https://news.ycombinator.com/item?id=29923707)
I incidentally find I have to mute the background music, as I really get into it (used to listen to it often!) and zone out... welp
(Also, for completeness - the APK link is sadly dead, but it still lives on on the scary APK sites that are out there, and my phone doesn't seem to mind it.)
Thanks for the pointer!
Additionally, the auto rotation itself is mostly confusing, could be better to enable manual mouse rotation.
Cool game nonetheless!
Edit: The bug seems to be that shapes with different "DNA" can still be isometric in some cases: https://github.com/0xf00ff00f/rotator/blob/master/demo.cc#L4...
For a "fast filter" generate the center of gravity for each (just the average of the voxel points as doubles) and abs+sort the resulting vector and assume they match if the "Sorted Cog Vector" matches. It will have false positives sometimes but no false negatives.
https://en.wikipedia.org/wiki/International_Chemical_Identif...
Thank you!
Also, don't mind being timed to the nth of a second, but I'd prefer a clock that was not so frenetic in my field of vision, just showing seconds would be enough.
Paste this in the console and go! https://gist.github.com/topher200/aead3fd53b0f26bf880e7752eb...
I got a score of 33 on the first full run, which seems to be the highest in the thread (just barely beating the manual brute-force 31 run from @chungy[1]). I think it could be improved by being smarter about the when to click a random guess (or figuring out a way to remove the random clicking completely).
See also early computers being marketed almost exclusively at men and boys, potentially being the cause of a major drop off of women in computer sciences in the 1980s: https://www.npr.org/sections/money/2014/10/21/357629765/when...
Babies show sex differences in spatial skills.
https://www.sciencedaily.com/releases/2008/12/081209100948.h...
It's a fun game. The difficulty does vary quite drastically accross attempts. Occlusion in particular can be a pretty big issue.
Obviously you should not be rotating, but finding features of the shapes that are invariant with respect to rotation to calculate. We can think of the two middle segments as defining two coordinate axes which I'll just call the body, with the remaining segments the legs. There are three cases. 1) both legs coplanar with body: W, question mark, and O. 2) neither leg in the plan of the body: The lightning bolt, and the forklift. 3) one leg coplanar with body: Z with leg, Hook with leg.
Unfortunately, the lightning bolt, Z with leg, and Hook with leg are all chiral, (and are therefore more likely to appear, reducing the effectiveness of this heuristic), but just guessing among matching classes is sufficient to get 20 matches. A quick test of chirality could maybe do better, but I suspect it's most just about speed of guessing after this.
edit: 32 is my high score after playing for an hour. Which is at least higher than the brute force clicker guy's score, so I feel like I can be done. The human brain is very good at optimizing its solutions to this problem.
The snake cube puzzle [1] is a puzzle where you have to fold up a string of 27 cubes, with fixed "turns" like the shapes in the OP, into a 3x3x3 grid.
The goal was not to find a solution to the puzzle, but to find the smallest 2d area the snake could fit into without folding against itself. It turned into a modeling problem (how do you represent the puzzle in code?) and a recursion problem (try all possible folds), but, uh, even with a physical puzzle to play with, it was a little too abstract
A commenter on the link below asked another question over 13 years ago: can the puzzle be folded into a plane without any holes? Obviously if you just lay out the puzzle from end to end it will be in a plane, and without any holes, so maybe the question should be: what is the smallest 2d area the snake can fit into without creating any holes?
[1]: https://mypuzzles.wordpress.com/2008/09/07/the-snake-cube/
It would also be good to have increasing levels of difficulty. Eventually you could add a leaderboard.
As a side note, it's fun to see the amount of humble-bragging going on in the thread right now ;))
Also, once, there were two matching pairs, but only one was accepted, I'm pretty sure.
16 shapes (3rd try)
18 shapes (4th try)
24 shapes (5th try, no brute-force)
P.S. I had 7 years of art school in addition to engineering
I only managed to break 10 after about a dozen tries..
(Notices this comment) "...Hmph!" (Tries harder, focuses)
-> 12
-> 10
:(
Nothing like neural training, eh? Hmph :)
Now I'm curious what you think of https://news.ycombinator.com/item?id=30409693.
If the site is recording telemetry on scores, but it would be fantastic to have a percentile rank at the end.
I see how human sins are the drivers of technology development
no qualifications, other than liking physical 3d puzzles
On of the reasons I don't drive is for fear of driving directly into traffic, if I make a mistake figuring on which lane is "on the right side" of the new perspective when turning.
Mental rotation is one of the very top causes of mistakes for me and I've learned to always be on the lookout for it, and assume my conclusion is wrong if I find myself doing it.
feedback: Sometimes the shapes get too occluded by it's own body. Not sure bug or a feature. Also could be fun to increasing or decreasing difficulty curve depending on performance
There is also a free open version similar to Cubism built in WebXR called Plockle that follows the same theme [2].
https://knowyourmeme.com/memes/cultures/wordcel-shape-rotato...
As an undergraduate in physics, I sort of prided myself on being able to "derive things from scratch" which is the culture in physics, given profs gave tests with the formulae and physical constants so you never really had to memorize, you just needed to show your work. At the time, honestly, I looked down humanities and history and even bio students as they were just memorizers who didn't have a deep understanding of things.
When I went to graduate school, one of my best professors said he heard people amongst my cohort saying things like this, that physicists are good a deriving and are not memorizers, he made the joke that he thought that people saying this were doing so to weaken the competition, so to speak. The idea that any set of skills is not necessary to be a scientist just makes you a worse scientist than others who have those skills. At this point in life, I've learned that holding on to things like your MBTI scores as if it's your identity honestly just limits you. Like imagine saying, "I'm a python person, I'm not able to do ruby. It's against my personality," instead of it really being what it should be seen as, just another skill to learn or one your just haven't learned yet (or might not even want to!) Instead, saying "I use python in my daily work, I'm less familiar with ruby" makes more sense because that's how it is. So, ditto that with everything else honestly, I feel like people can have preferences and that's fine, like you can enjoy reading a book more than playing a video game with spatial reasoning, but limiting yourself to being a "math person" or a "people person" or a "reading person" is just that, limiting yourself.
I suggest you make a similar problem: matching small isomorphic graphs. I think that's what a lot of software engineeting is really about.
- I briefly go through each shapes
- Anchor on a particular shape
- Check other shapes based on that shapes
- Realize the number of cubes is the distinguishing factor not the shape itself
- Exclude the first focused shape from future comparison
- Try to compare 2 shapes randomly
- And after 4 clicks of match attempts I find a match
2nd Game
- Go through the first 2 rounds with ease as they were essentially in the same row or the same column
- Second game I get confused as the obvious matches aren't obvious
- I time out
- I didn't even notice how the timing worked in the first game
3rd game
- I try to count the number of blocks between each 'lines' of shapes
- But for shapes that have 3 or more turn of these lines matching them is very difficult
- I quickly glance each shape
- Select the ones that "feel" more similar.
- Scored 13 on my first run
Sometimes I think thinking less is better. Same for a lot of sports, things that require careful motor control and fast-pacing.
With the current focal length distortion, shapes look as if they're a few inches from my eyeballs so it's kind of hard to visualize without counting the blocks.
If you are looking for tweeks consider calling it Shapdle and put them in a row, and color yellow if close and green if right (only slightly joking :)
That said, that this is a meme some people take seriously (like the idea of wordcels) really makes me irrationally mad.
Fun game!
(I do really like other shape matching games, just not in 3d apparently)
I’d love to play around with it, but I don’t see a license at a glance. If I were to make a variation of this, would I be allowed to share it with attribution to this version?
apt install blockout24 12 (10sec) 8 (15sec) 1 (120sec) 11 (10.91sec) 9 (13.33sec) 10 (12sec)
first try was with touchpad, rest of them with mice that 1/120 was brutforcing, there was at least 4 or 5 similar shapes with deadzones maybe there should be a way to rotate viewport manually (for some time penalty?) and bruteforcing should be time taxed as well though
Once you do it a couple times, you can skip a lot of the conparison
- Turn selection outline to green on success
- Show incremental progress (num matched)
Just my take but maybe I’m just jealous ! I could only get to 6 shapes.
Small issue I found - when I run this as native app, always the 2 bottom-left shapes are the answer.
I like it. Great fun, thanks.
Thanks
So this game going to the top of HN is likely part of the meme where shape rotators strike back against wordcels after wordle became popular, something like that.