I have a foam rubber Tux which my son gave to me, knowing that I am a fan of GNU/Linux. I used it as a model. Tux is the mascot of the Linux project because Linus Torvalds likes penguins. Larry Ewing made the iconic drawing of Tux in 1996, and it has been recreated over and over again.
Naturally, I could not help myself. Here's my version done using OpenSCAD.
The various body shapes use the resize() command to adjust spheres and cylinders to stretched or squashed dimensions in order to make things like the head narrower in width than in height. Hulls were also involved, especially for the elongated body and the arms. Check the tux01.scad code below.
- the size you put into sphere(12); does not matter because the sphere will be resized no matter if you said sphere(1);, but in this case, I had begun with a 12mm round head and modified it later to be narrower
- the sphere is described in terms of the radius, but during resizing, diameters are used, so if you actually want to keep one sphere size the same as I did for the front-to-back Y dimension, it will change from 12 to 24 units (typically mm for the unit size)
// head translate([0,1,55]) rotate([30,0,0]) resize(newsize=[20,24,23]) sphere(11);
Yes, I do plan to paint Tux to approximate the original, and it might have been smart to use yellow PLA so the feet and beak were done, but I'm using a reel of green PLA right now and am too lazy to switch.
Available Files:tux01.scad - tweak it, you know you want to!
tux01.stl - for those who just wish to print.