(sqrt2) 2. .5 .exp .def 
(k1) 8 sqrt2 .sub .def 

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

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

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

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

(sky)
(.mpush s 8 0 .mtranslate k 8 0 .mtranslate y .mpop).cvx .def

(skyp)
(.mpush 0 -10 .mtranslate s 8 0 .mtranslate k 8 0 .mtranslate y .mpop).cvx .def

(skyf)
(.mpush s sdivot 8 0 .mtranslate k  8 0 .mtranslate y .mpop).cvx .def


(sskys)
(replace .paint 360 240. .div  144. 60 .div  .mscale .mpush
8.5 36 .mul  11 36 .mul .translate
blackband
0 60 .mtranslate
-1 1 .mscale
0 0 0 .color -1  .texture
sky1
.mpop
0 0 255 .color 0 .texture
0 60 .mtranslate
-1 1 .mscale
sky2
.mpop).cvx .def

(sky1)
((sks) .80 .def
25 255 255 .color
.mpush .mpush 12 (sky 20 0 .mtranslate).cvx .rept .mpop 
-16 10 .mtranslate 
50 255 255 .color
.mpush 12 (sky 20 0 .mtranslate).cvx .rept .mpop 
(c1) 75 .def
4 10 12 sks .mul .add .mtranslate
4 (c1 255 255 .color .mpush 12 (.mpush sks sks .mscale skyp .mpop 20 0 .mtranslate).cvx .rept .mpop (sks) .dup .load sks .mul .def 4 12 sks .mul .mtranslate (c1) .dup .load 25 .add .store).cvx .rept .mpop).cvx .def

(sky2)
((sks) .80 .def
.mpush -14 -10 .mtranslate 
0 0 255 .color
(s1) 60 .def
.mpush 12 (skyf 20 0 .mtranslate).cvx .rept .mpop 
-4 -10 .mtranslate
0 30 255 .color
.mpush 12 (sky 20 0 .mtranslate).cvx .rept .mpop 
-4 -10 sks .mul .mtranslate
5 (0 s1 255 .color .mpush 12 (.mpush sks sks .mscale sky .mpop 20 0 .mtranslate).cvx .rept .mpop (sks) .dup .load sks .mul .def -4 -11 sks .mul .mtranslate (s1) .dup .load 30 .add .store).cvx .rept .mpop).cvx .def
 
(blackband)
(0 255 255 .color -1 .texture
.startpath
 (rad) 144 .def
0 120 (.dup .dup .cos rad .mul .exch .sin rad .mul .enterpoint 3 .add).cvx .rept .pop .drawarea).cvx .def