Dave Anderson on Nostr: It's interesting tinkering with a bit of drawing code, and suddenly making a bunch of ...
It's interesting tinkering with a bit of drawing code, and suddenly making a bunch of connections with other things.
I'm writing a bit of code to generate Kicad symbols and footprints, which is really just slightly fancy drawing into an odd file format. As I tinkered, I wanted to be able to move a cursor around to draw arrays of stuff cleanly. In doing so, I started having some trouble with data representation.
... And now I have a visceral understanding of why that computational geometry textbook opens with an entire chapter that's just about "stop using the same data type for points, vectors and distances, they're subtly different and if you conflate them everything stops being affine geometry and your life will suck."
Thankfully in my case the drawings are by design trivial enough that missing out on the full power of a CAD kernel isn't the end of the world, and I'm not sure it's worth the bother. But I enjoy those moments where the book learning gels and the brain goes "... oh, I _see_"
I'm writing a bit of code to generate Kicad symbols and footprints, which is really just slightly fancy drawing into an odd file format. As I tinkered, I wanted to be able to move a cursor around to draw arrays of stuff cleanly. In doing so, I started having some trouble with data representation.
... And now I have a visceral understanding of why that computational geometry textbook opens with an entire chapter that's just about "stop using the same data type for points, vectors and distances, they're subtly different and if you conflate them everything stops being affine geometry and your life will suck."
Thankfully in my case the drawings are by design trivial enough that missing out on the full power of a CAD kernel isn't the end of the world, and I'm not sure it's worth the bother. But I enjoy those moments where the book learning gels and the brain goes "... oh, I _see_"