• lightnegative@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    8 months ago

    This was me for years.

    And then I had to write some software that needed to visualise a rotary milking platform which is a circle, divided into segments, with different parts of each segment showing different things at different times.

    Oh, and since it’s rotary, the circle had to be animated and rotate in sync with the actual milking platform.

    Oh and different clients had different numbers of bays in their platforms so I couldn’t hardcode anything, it had to dynamically draw the platform, animate it and respond to events like window size change.

    Suffice to say I had to drag highschool geometry out from the graveyard of my brain

  • Lemminary@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    8 months ago

    The non-programmer folks upvote this post. I mean, not that I use it for every app, but I have used it in recent memory. SOH-CAH-TOA, bitches!

    • Ragnarok314159@sopuli.xyz
      link
      fedilink
      arrow-up
      0
      ·
      8 months ago

      Nah. I was labeled a dumb kid in high school because I had to work 40 hours a week. I went back to college as an adult and now have a masters in mech Eng.

      Went to my high school reunion and the smart kids were largely abject failures. They never really struggled until college, then mostly failed out. I felt bad for them, but not too bad since most of them bullied me.

      • jol@discuss.tchncs.de
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        Sounds like maybe there weren’t the true smart kids. You finished high-school while working a full time job. You were capable and adaptable. Fuck them :)

      • refalo@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        Programmer for 25 years. Only time I have ever used math more complicated than simple multiply/divide was… actually never.

        That one time when I copy/pasted a formula for linear interpolation, was still just multiplication and division. And I still have no idea how it works.

        I’ve even done OpenGL and graphics programming and still haven’t needed any algebra/trig/etc, although I don’t do complex 3D rendering or physics or anything like that.

        I wish I knew how to do cool programming stuff like draw circles and waves and stuff though, but I’ve never seen a tutorial that didn’t go WAY over my head immediately.

        • FooBarrington@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          8 months ago

          Drawing a circle is actually pretty simple! Say we want to draw one with:

          • radius r=5
          • center C=(0,0)
          • 1000 points

          The logic would be:

          for (let i = 0; i < 1000; i++) {
              // full circle is made up of 2 * PI angles -> calculate current loop angle
              const angle = (2 * Math.PI) * (i / 1000)
              const x = r * Math.cos(angle)
              const y = r * Math.sin(angle)
              drawPixel(x, y)
          }
          

          The circle starts being drawn at (5, 0). As y approaches -5, x gets smaller until it hits 0. Then x approaches -5 and y approaches 0, and so on.

  • halvar@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    8 months ago

    Sin, Cos and Tan were gifted to us by the gods, and it’s solely your fault, if you don’t use them daily in your freetime.