I have been working on my python script that reads in a png file and then I move that data into a grid. I then implemented algorithms for drawing a line and circle. I then added code for a boundary fill. This is where I found the limitation of python recursion. A boundary fill starts in a point and either looks in 4 or 8 directions to see if it needs to change the pixel’s color. It then moves to that pixel and repeats the process. When dealing with a graphic image it does not take that many recursions to max out the limit. I added a limit to the recursions to prevent the script from crashing. Here is an example of drawing a circle and then trying to fill it.
I then figured that I could make some smaller circles.
After working on the circle I then implemented a draw a regular polygon routine. I calculate the points of the polygon and then I thought I would just call my draw a line function. That is when I discovered that the reference I used to write the line draw was limited to only lines starting from left to right , top to bottom. This does not allow for lines of a polygon rotating around a center point, as the lines will have to go bottom to top, right to left, bottom to top , left to right, vertical, horizontal. I will have to re-write the line draw function to take all the possibilities into account. Here is what the points of the polygon look like, I just need to connect the dots. The blue dots make a square rotated by 45 degrees and the cyan color dots make a hexagon.
I finished the toy car. I created some graphics in Inkscape using the UVmap. I was not able to get it to look correct as the mesh warps the image due to the shape of the egg. At some point I may redo it all when I get better at integrating the rounded shapes with hard edges and figure out how to handle the UV map warping the image.