6 ms·
Animated Factorization (2012)
- jderick 1y agoCan you put them all on one page and zoom in/out? Might be interesting to see some patterns in the sequence. Maybe allow filters for different factors or number ranges or different groupings.
- chrsw 1y agoThis looks cool. Could also be a screensaver (do people still use those)?
- apples_oranges 1y agoMacs now have them again. OLED screens made them create animated login screens. (At least I think that's what happened.)
- pvg 1y agoThreads (with some explainy links) from a million and a million and a bit years ago https://news.ycombinator.com/item?id=10776019 https://news.ycombinator.com/item?id=10776019 https://news.ycombinator.com/item?id=4788224 https://news.ycombinator.com/item?id=4788224
- sherdil2022 1y agoAnd definitely re-post worthy!
- dang 1y agoThanks! Macroexpanded: Factorizer - https://news.ycombinator.com/item?id=10776019 https://news.ycombinator.com/item?id=10776019 - Dec 2015 (30 comments) Animated Factorisation Diagrams - https://news.ycombinator.com/item?id=4788224 https://news.ycombinator.com/item?id=4788224 - Nov 2012 (72 comments) Animated Factorization Diagrams - https://news.ycombinator.com/item?id=4713048 https://news.ycombinator.com/item?id=4713048 - Oct 2012 (2 comments)
- coolcase 1y ago> Totally out of left field here, but I got some auditory synesthesia from watching this, especially on high speed. If any of you did as well and are interested why, it's probably the same phenomenon talked about here: https://www.newscientist.com/article/dn14459-screensaver-rev https://www.newscientist.com/article/dn14459-screensaver-rev... Second this old comment!
- imurray 1y agoHeh. I submitted it in Oct 2012. I submitted a few things back then, none got traction and I stopped bothering :-).
- dang 1y ago8 isn't large enough to overcome randomness, alas! Edit: I actually looked through https://news.ycombinator.com/submitted?id=imurray https://news.ycombinator.com/submitted?id=imurray yesterday to see if there was anything we could invite a repost of. (I do this sometimes when looking at which users were first to submit an interesting article.) I didn't see anything, but on a second look https://news.ycombinator.com/item?id=7984992 https://news.ycombinator.com/item?id=7984992 could be interesting, so you'll get an email inviting you to repost that one, if you want to :)
- vivzkestrel 1y agosliders should be added on this page that control everything. colors and speed are starters
- math_dandy 1y agoThe diagrams for powers of three form the Sierpinski triangle. Makes total sense once you see it, but I hadn't seen it until today!
- robot_jesus 1y agoSame. I loved this unique insight that the visualization provided. It definitely unlocked something in my brain for how I should think about that shape. If anyone is curious, 6561 (3^8) is the highest pure Sierpinski available in the animation since it caps at 10K.
- blueflow 1y agoI thought this was a waiting animation and the website is broken.
- simojo 1y agoit took me a few seconds before I realized that it wasn't the page loading
- worldsayshi 1y agoThis is brilliant! Now i want (to build) a drag and drop toy where i can multiply or summarize numbers that are represented in this way. To see how factors move (like boids). Is this visualization algorithm called something? The explanation link from a previous HN post seems to be broken: http://mathlesstraveled.com/2012/10/05/factorization-diagrams/ http://mathlesstraveled.com/2012/10/05/factorization-diagram...
- CGMthrowaway 1y agoKind of makes me wish that there were recognizable shapes for primes bigger 2 (pair), 3 (triangle), 4 (square) and 5 (pentagon) that didn't just look like circles. Because my favorite part about this is how you can see at a glance what the factors are. Except for primes 7 or greater I find myself cheating and looking at the top left for which prime it is. Is there some non-regular polygon that would be more distinctly recognizable to use for 7, 11, etc?
- GaggiX 1y agoAren't 2 (pair), 3 (triangle), 4 (square) and 5 (pentagon) also "circles" with less resolution? The visualization is just consistent.
- CGMthrowaway 1y agoYes I dont disagree and it is elegant as is, but the way our eyes/ brain works it's much harder to ID septagon, nonagon, triacontahenagon etc at a glance. A non-regular shape would be better fit for purpose
- worldsayshi 1y agoCouldn't you draw it in a recognizable way using summation? 7 = 2*3+1 11 = (2*2+1)*2+1 etc...
- CGMthrowaway 1y agoInteresting idea
- ajjenkins 1y agoThis would make a cool progress bar replacement. Replace percentage with the number of dots (0-100).
- tocs3 1y agoIt makes me wonder what the algorithm for arranging the dots looks like.
- GrantMoyer 1y ago1. Set var factors to the prime factors of the integer 2. Sort factors in ascending order 3. Set var diagram to a single dot 4. Foreach factor in factors 4.1. Set var diagram to factor copies of diagram aranged in a circle
- tocs3 1y agoI was thinking about triangles and squares and the answer was circles.
- deleted 1y ago[deleted]
- andrewrn 1y agoThis is very cool. It looks like you used the canvas api for this, but I had expected that you'd use D3.js since its so common for data visualizations. I am curious what your thinking was there?
- pona-a 1y agoBut it's not CRUD data visualization, it's a custom animation. Why use a heavy library if the browser draws circles just fine?
- andrewrn 1y agoHonestly I don't know. I am just starting to learn these technologies. I think there's a lot of potential in combining LLM structured output with web animation technologies. One advantage of svg is that each element has a DOM node, making interactivity trivial. (but I say this not having tried mouse targetting in canvas so maybe that's not hard) Thanks for the insight.
- aaroninsf 1y agoI wish that all the factors were shown, e.g. when on 12, I'd like to see both 3x4 and 2x6, with a visual indicator of when the animation is showing the different factors... maybe the whole thing shrinks and additional factorizations fill in tiles subdividing the space Knowing the number of different factorizations is an interesting and visually presentable quality that interacts in an interesting way with the factors themselves
- gus_massa 1y agoSlightly related: If you have small kids, I recommend https://www.youtube.com/@Numberblocks https://www.youtube.com/@Numberblocks that is a cartoon that has characters that are numbers made by blocks, and they split to show sum and rearrange to show the factorization. It's fun for kids and the technical part is correct.
- deleted 1y ago[deleted]
- carterschonwald 1y agoI think this was originally invented by Brent yorgey
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- kccqzy 1y agoI wish the animation could play at a slower pace so you have time to count the number of groups and the circles within each group. I also wish each time a new circle would animate from the edge of the screen and then arranged to show the addition of the new circle clearly. Otherwise, excellent visualization!
- gavmor 1y agoThe jumps between neighbors are sometimes so drastic—are we sure our numbers are in the right order?
- jhanschoo 1y agoI don't know what you mean by that, but for an example, 16=2^4 and is therefore arranged as a grid, whereas 17 is prime, and must therefore be arranged as 17 dots on a circle.
- gavmor 1y agoThe primes are some of the worst offenders, eg the transition from 647 (prime) to 648 (3×3×3×3×2×2×2), but as we approach infinity, the visualizations increasingly appear circular, and it's the least-primey (?) that break from the trend. eg 854-856, & 857 (prime) are all virtually or perfectly circular. Or maybe I'm observing not mathematical but neuro-visual principles.
- coolcase 1y agoNeuro-visual I think. Hard to see 100s of dots in a circle as not a circle. The same principle is why this looks like a circle/ellipse but it isn't: O
- gavmor 1y agoStill, there's something to be said for the variance in the number of prime factors. https://quickchart.io/sandbox/#%7B%22chart%22%3A%22%7B%5Cn%20%20type%3A%20'bar'%2C%5Cn%20%20data%3A%20%7B%5Cn%20%20%20%20labels%3A%20Array.from(%7Blength%3A%20250%7D%2C%20(_%2C%20i)%20%3D%3E%20(i%20%2B%201).toString())%2C%5Cn%20%20%20%20datasets%3A%20%5B%7B%5Cn%20%20%20%20%20%20label%3A%20'Number%20of%20Prime%20Factors'%2C%5Cn%20%20%20%20%20%20data%3A%20Array.from(%7Blength%3A%20250%7D%2C%20(_%2C%20i)%20%3D%3E%20%7B%5Cn%20%20%20%20%20%20%20%20let%20n%20%3D%20i%20%2B%201%2C%20count%20%3D%200%2C%20d%20%3D%202%3B%5Cn%20%20%20%20%20%20%20%20while%20(n%20%3E%201)%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20while%20(n%20%25%20d%20%3D%3D%3D%200)%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20count%2B%2B%3B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20n%20%2F%3D%20d%3B%5Cn%20%20%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20%20%20d%2B%2B%3B%5Cn%20%20%20%20%20%20%20%20%20%20if%20(d%20*%20d%20%3E%20n%20%26%26%20n%20%3E%201)%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20count%2B%2B%3B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20break%3B%5Cn%20%20%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20return%20count%3B%5Cn%20%20%20%20%20%20%7D)%2C%5Cn%20%20%20%20%20%20backgroundColor%3A%20'rgba(54%2C%20162%2C%20235%2C%200.7)'%5Cn%20%20%20%20%7D%5D%5Cn%20%20%7D%2C%5Cn%20%20options%3A%20%7B%5Cn%20%20%20%20responsive%3A%20true%2C%5Cn%20%20%20%20plugins%3A%20%7B%5Cn%20%20%20%20%20%20legend%3A%20%7B%20display%3A%20false%20%7D%5Cn%20%20%20%20%7D%2C%5Cn%20%20%20%20scales%3A%20%7B%5Cn%20%20%20%20%20%20x%3A%20%7B%5Cn%20%20%20%20%20%20%20%20display%3A%20false%2C%5Cn%20%20%20%20%20%20%20%20title%3A%20%7B%20display%3A%20true%2C%20text%3A%20'n'%20%7D%5Cn%20%20%20%20%20%20%7D%2C%5Cn%20%20%20%20%20%20y%3A%20%7B%5Cn%20%20%20%20%20%20%20%20beginAtZero%3A%20true%2C%5Cn%20%20%20%20%20%20%20%20title%3A%20%7B%20display%3A%20true%2C%20text%3A%20'Number%20of%20Prime%20Factors'%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22%2C%22width%22%3A500%2C%22height%22%3A300%2C%22version%22%3A%222%22%2C%22backgroundColor%22%3A%22%23fff%22%7D https://quickchart.io/sandbox/#%7B%22chart%22%3A%22%7B%5Cn%2...
- ttoinou 1y agoThis is pure genius, congrats, and I’m disappointed at myself I didn’t think about that earlier (:
- liendolucas 1y agoThis is cool! Lets use it to display the digits of a clock :-)
- tocs3 1y agoI don't know if you looked of not but here you go. http://www.datapointed.net/2012/10/animated-factorization-diagrams/ http://www.datapointed.net/2012/10/animated-factorization-di...
- ape4 1y agoI think the sum of the area of the circles should remain constant. ie be the number that's being factored.
- glaucon 1y agoReally good. I would appreciate it if it could be slowed down, or allow the numbers to be stepped through.
- dtjohnnymonkey 1y agoAfter some time I find myself waiting for highly composite numbers rather than primes.
- smusamashah 1y agoDoes it let you put your own number and see what diagram it makes?
- coolcase 1y agoI found my new loading icon
- gitroom 1y ago[dead]
- mousethatroared 1y agoAlmost ten years ago I wanted to draw out the first thirty numbers in factored groups as shown here. It was to put in my baby daughters bedroom. Never got around to it. This is timely, as she's factoring in school now.
- curtisszmania 1y ago[dead]
- hiAndrewQuinn 1y agoThis is more of a "dirty high school algebra" trick, but factoring polynomials by hand at that level got a lot easier once I realized every composite number below 100 has to be divisible by 2, 3, 5, or 7. If none of those divide it, then it's prime and you can stop factoring right there. It similarly turns out the only "non-obvious" composite under this rule is 7*13=91, all the rest can be pretty quickly tested using the normal rules. 49 is 7², so it's similarly easy to recognize. All the others are an easy primality test. A few randomly generated numbers to show this off: * 31? Not divisible by 2, 3, or 5 - below 7² so no risk of 7 division either. Prime. 31=31¹. * 69? Divisible by 3. 69 = 3*23. 23? Not divisible by 2, 3, 5 - so you can stop factoring there. 69=3¹23¹. * 92? Divisible by 2, to 2*46 - again, divisible by 2, to 2²23 - 23 isn't divisible by 2, 3 or 5, so 92 = 2²23¹. * 68 = 2¹34 = 2²17, and 17 is not divisible by 2, 3 or 5, so you can stop there. 2²17¹. High school textbooks generally don't use numbers higher than 100 to preclude students who don't have calculators, so this trick came in handy many times for me. It also happens to gesture at the notion that primes are surprisingly common at low numbers, and then thin out rapidly as you climb higher and higher.
- card_zero 1y agoI assume you also know the trick of adding the columns to test divisibility by three: 387 becomes 3+8+7, which is 18, which becomes 1+8 = 9. This works because 10 % 3 = 1, so 100 = 99+1 (etc.), with the effect that each column can be counted as if it was units. To apply the same trick to a multiple of 7, the tens column is worth 3 (10 % 7 = 3), so 91 -> 27 + 1 -> 6 + 8 -> 3 + 4 -> 7. The value is different in the next column (100 % 7 = 2). This trick is no help at all but I still like it. (Finished editing out mistakes now.)
- hiAndrewQuinn 1y agoHm... 14 => 1 (3^1) + 4 (3^0) => 7 => divisible by 7. 21 => 6 (3^1) + 1 (3^0) => 7 => also divisible by 7. 7 * 53 = 371 => 3 (3^2) + 7 (3^1) + 1 (3^0) => 27 + 21 + 1 => 49 => ALSO divisible by 7! My word! This is the intuition I always suspected was possible after studying how bases worked, but I never took the time to investigate on my own.