/** This draws an inverse sinusoidal projection, suitable for mapping a drawing onto a sphere. */ longStep = 15 degrees latStep = 10 degrees g = new graphics g.color[0,0,0,.3] lastY = 0 degrees for lat = 0 degrees to 90 degrees step latStep { g.line[-180 deg, lat, 180 deg, lat] g.line[-180 deg, -lat, 180 deg, -lat] } for long = longStep/2 to 180 degrees step longStep { lastX = long lastY = 0 degrees LAT: for lat = 0 deg to 90 degrees step latStep/20 { longScale = 1 / cos[lat] x = long * longScale if x > 180 degrees break LAT g.line[x, lat, lastX, lastY] g.line[-x, lat, -lastX, lastY] g.line[x, -lat, lastX, -lastY] g.line[-x, -lat, -lastX, -lastY] lastX = x lastY = lat } } g.drawRectSides[-180 deg, 90 deg, 180 deg, -90 deg] g.show[]