(sqrt2) 2. .5 .exp .def 

(k)
(.startpath
0 0 .enterpoint
0 10 .enterpoint
2 10 .enterpoint
2 8 .enterpoint
4 10 .enterpoint
8 sqrt2 .sub (k1) .exch .def 
6 10  .enterpoint
k1 6 .add 2. .div 4 .sub k1 6 .add 2. .div  .enterpoint
k1 2 .enterpoint
k1 1 .enterpoint
5 1 .enterpoint
2 4 .enterpoint
2 0 .enterpoint
.drawarea).cvx .def

(sdivot)
(.startpath 
0 10 .enterpoint
2 10 .enterpoint
0 8 .enterpoint 
.drawarea) .cvx .def

(y)
(.startpath
0 -2 .enterpoint
0 4  .enterpoint
-3 7 .enterpoint
-2  8 .enterpoint
0 6 .enterpoint
0 9 .enterpoint 
-1 10 .enterpoint
2 10 .enterpoint
2 0 .enterpoint
.drawarea) .cvx .def

(s)
(.startpath
0 0 .enterpoint
0 4 .enterpoint
3 1 .enterpoint
k1 2 .sub 1 .enterpoint
k1 2 .sub 2 .enterpoint
k1 2 .sub 8 .add 2. .div 6 .sub k1 2 .sub 8 .add 2. .div  .enterpoint
2 2 .add 10  .enterpoint
5 10 .enterpoint
6 9 .enterpoint 
6 6 .enterpoint
4  8 .enterpoint
3 7 .enterpoint
6 4 .enterpoint
6 0 .enterpoint
.drawarea) .cvx .def

(sky)
(.pushdc s 8 0 .translate k 8 0 .translate y .popdc).cvx .def

(skyp)
(.pushdc 0 -10 .translate s 8 0 .translate k 8 0 .translate y .popdc).cvx .def

(skyf)
(.pushdc s sdivot 8 0 .translate k  8 0 .translate y .popdc).cvx .def

(skys)
(.pushdc .pushdc 9 (sky 20 0 .translate).cvx .rept .popdc  -16 10 .translate 
4 (.pushdc 9 (sky 20 0 .translate).cvx .rept .popdc 4 10 .translate).cvx .rept 
.pushdc 9 (sky 20 0 .translate).cvx .rept .popdc  -16 10 .translate 
4 (.pushdc 9 (sky 20 0 .translate).cvx .rept .popdc 4 10 .translate) .cvx .rept .popdc).cvx .def

(sskys)
(replace .paint 7.2 7.2 .scale .pushdc 0 0 0 .color -1 .texture
0 11 36 .mul 7.2 .div .translate
0 0 1000 1000 .drawboxarea
0 0 255 .color 0 .texture
sky1
.popdc
.pushdc 0 11 36 .mul 7.2 .div .translate
0 0 0 .color -1 .texture
sky2
.popdc).cvx .def

(sky1)
((sks) .85 .def
.pushdc .pushdc 10 (sky 20 0 .translate).cvx .rept .popdc 
-16 10 .translate 
.pushdc 10 (sky 20 0 .translate).cvx .rept .popdc 
4 20 .translate
3 (.pushdc 10 (.pushdc sks sks .scale skyp .popdc 20 0 .translate).cvx .rept .popdc 4 10 .translate (sks) .dup .load .9 .mul .def).cvx .rept .popdc).cvx .def

(sky2)
((sks) .85 .def
.pushdc -14 -10 .translate 
.pushdc 10 (skyf 20 0 .translate).cvx .rept .popdc 
-4 -10 .translate
.pushdc 10 (sky 20 0 .translate).cvx .rept .popdc 
-4 -10 .translate
3 (.pushdc 10 (.pushdc sks sks .scale sky .popdc 20 0 .translate).cvx .rept .popdc -4 -10 .translate (sks) .dup .load .9 .mul .def).cvx .rept .popdc).cvx .def