• cwmoore an hour ago

    Your post goes a lot farther, but the Pappus Chains reminded me of the Method of Apollonius that I have used to generate nested yinyan symbols with JavaScript.

    • hfjidufu 12 hours ago

      Great post.

      I enjoy the almost Oliver Burne[0] meets Mondrian[1] like outputs of Duckering's implementation, but appreciate the simplicity of the author's as well.

      Excellent linked resources for anyone interested in using programming to illuminate mathematics.

      [0] https://en.wikipedia.org/wiki/Oliver_Byrne_(mathematician)

      [1] https://en.wikipedia.org/wiki/Piet_Mondrian

    • xrd 12 hours ago

      Really fun, and the link to the numberphile video is great, too.

      • xiaodai 15 hours ago

        Python is a very poor choice for such a tool. Julia should have been used

        • randrus 15 hours ago

          In case this is relevant to your reasons for posting … every time I see one of the fact free posts the slam Python to promote Julia it pushes me further from considering Julia for anything.

          • __MatrixMan__ 14 hours ago

            I would be more likely to pick up Julia if comments like gp told me something interesting about the language.

            • bgoated01 12 hours ago

              The biggest thing that keeps me from using Julia rather than Python for math prototypes is that it uses one-based indexing. I go back and forth between these prototypes and my C++ codebase, and the mental gymnastics to switch from 0-based to 1-based makes Julia a non-starter for me. I prefer Julia over Python other than that one issue, and the lower availability of tutorials, etc. for Julia.

            • bbor 11 hours ago

              Obviously the comment above is far from helpful in tone or content, but this spurred me to look it up. As a python guy, my takeaways are:

              1. It’s designed by mathematicians specifically for math.

              2. It has much better support for generic/runtime types, something the academics apparently describe using the terms “parametric polymorphism” and “multi-dispatch”.

              Plus there’s this cute founding ethos blog post from 2012, though it’s necessarily vague: https://julialang.org/blog/2012/02/why-we-created-julia/

              None of that sounds even close to convincing me to switch from Python, but I can see the appeal for people who value those typing features and want something faster.

              I don’t necessarily see the connection between either of those things and the implementation above, tho… presumably it’s basically instant, anyway?

            • jazzyjackson 13 hours ago

              So post a link about making cool hyperbolic SVG with Julia