38 lines
		
	
	
		
			770 B
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			770 B
		
	
	
	
		
			Factor
		
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								USING: kernel namespaces math opengl.gl opengl.glu ui ui.gadgets.slate
							 | 
						||
| 
								 | 
							
								       random-weighted cfdg ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								IN: cfdg.models.snowflake
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								: spike ( -- )
							 | 
						||
| 
								 | 
							
								iterate? [
							 | 
						||
| 
								 | 
							
								  { { 1    [ square
							 | 
						||
| 
								 | 
							
								             [ 0.95 y 0.97 s spike ] do ] }
							 | 
						||
| 
								 | 
							
								    { 0.03 [ square
							 | 
						||
| 
								 | 
							
								             [ 60 r spike ] do
							 | 
						||
| 
								 | 
							
								             [ -60 r spike ] do
							 | 
						||
| 
								 | 
							
								             [ 0.95 y 0.97 s spike ] do ] } }
							 | 
						||
| 
								 | 
							
								  call-random-weighted
							 | 
						||
| 
								 | 
							
								] when ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								: snowflake ( -- )
							 | 
						||
| 
								 | 
							
								spike
							 | 
						||
| 
								 | 
							
								[ 60 r spike ] do
							 | 
						||
| 
								 | 
							
								[ 120 r spike ] do
							 | 
						||
| 
								 | 
							
								[ 180 r spike ] do
							 | 
						||
| 
								 | 
							
								[ 240 r spike ] do
							 | 
						||
| 
								 | 
							
								[ 300 r spike ] do ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								: init ( -- )
							 | 
						||
| 
								 | 
							
								  [ ]               >background
							 | 
						||
| 
								 | 
							
								  { -40 80 -40 80 } >viewport
							 | 
						||
| 
								 | 
							
								  0.1               >threshold
							 | 
						||
| 
								 | 
							
								  [ snowflake ]     >start-shape ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								: run ( -- ) [ init ] cfdg-window. ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								MAIN: run
							 | 
						||
| 
								 | 
							
								
							 |