coding for fun whatever can be coded
Even if my academic instruction first and my job later is basically about (digital) electronics, I always loved computer graphics in any form, since I was totally uneducated about it.
The first time I met a coordinate system, was in the first years of middle school, when a literature professor fond of information technology introduced my class to LOGO language. That language was actually perfect to make a kid play with coordinates without all the boring theory.
My first personal creation in a 3D coordinate system happened during the high school: at that time we were studying axonometric projection in drawing class, trigonometry and PASCAL language in mathematic class. It was normal to put all these notions together and I wrote a pascal program (coded from scratch, no internet in last ‘80) that was capable of rotating wireframe solids (defined through list of coordinates) in a 3D space rendered in axomometric projection. I tried to extend that program to perspective projection in order to create a sort of virtual environment to explore, but I lacked the mathematical knowledge and I was not able to build it on my own.
In the last years of high school I discovered vectorial drawing programs and later during university, with aid of more and more powerful computers, I played with several graphic programs for 3D modeling. But the two most formative experiences were being able to run a ray-tracer whose code I copyed from a book (I learned a lot about matrix in 3D) and playing with VRML language (I learned the concept of procedural building of 3D objects). I even created a program in VisualC++ to create parametric solid in VRML format.
Today my interest in graphics is again great thanks to cheap 3D printers, which allows easily print my own 3D models. At this point I suppose it would not appear strange if my favourite 3D modeling tool is openSCAD language, basically the best graphic tool for a long time coder.