require 'gl2 viewmat numeric trig graph' NB. canbus 1/2 --> using gdxxx NB. usage: u '' NB. ========polygon========================== polygon_10=: 3 : 0 NB. Usage: u '' gdopen '' RED gdpolygon ,+. r. 2p1*(i.5)%5 gdshow'' ) polygon_11=: 3 : 0 gdopen '' BLUE gdpolygon ,+. r. 6p1 * int01 11 gdshow'' ) NB. gddraw is an adverb that wraps its left argument NB. between gdshow and gdopen. polygon_12=: 3 : 0 TEAL gdpolygon gddraw ,7 polygon 15 ) NB. Koch's snowflake poly13_calc=: 3 : 0 tri1=: 2r3&*@[ + 1r3&*@] NB. one third point tri2=: 1r3&*@[ + 2r3&*@] NB. two thirds point mid=: -:@+ NB. midpoint nor=: _1 1&*@|. NB. left normal vector bulge=: mid + (%:%12)&*@nor@:- NB. bulge point segdiv=: [ , tri1 , bulge ,: tri2 refine=: ,/@(] segdiv"1 (1&|.)) p=: |:2 1 o./ 2r3p1*i.3 NB. make a triangle ) polygon_13=: 3 : 0 poly13_calc '' RED gdpolygon gddraw ,refine ^:1 p ) polygon_14=: 3 : 0 RED gdpolygon gddraw ,refine ^:4 p ) polygon_15=: 3 : '(BLUE;RED) gdpolygon gddraw (,refine ^:4 p);,refine ^:1 p'