Improvements to namespaces and file inclusion
[shapes.git] / examples / features / hulls.shape
blob8a99e3cf8904b5a942a7d2598d239876c7186a95
1 /** This file is part of Shapes.
2  **
3  ** Shapes is free software: you can redistribute it and/or modify
4  ** it under the terms of the GNU General Public License as published by
5  ** the Free Software Foundation, either version 3 of the License, or
6  ** any later version.
7  **
8  ** Shapes is distributed in the hope that it will be useful,
9  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
10  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  ** GNU General Public License for more details.
12  **
13  ** You should have received a copy of the GNU General Public License
14  ** along with Shapes.  If not, see <http://www.gnu.org/licenses/>.
15  **
16  ** Copyright 2008, 2014 Henrik Tidefelt
17  **/
19 ##lookin ..Shapes
21 randPath: \ •state n →
22  [[range '1 n].foldsl
23   •state
24   \ •st pile e →  pile--( ^ )<(1cm*[random2D •st])>( 2mm * (1+[random1D•st]) ^ 180°*[random1D•st] )
25   emptypath]
28   •rand: [newRandom (•time)]
30   sh: [shift (0cm,0cm)]
31   pth: sh [] [randPath •rand '10]
32   •page << [stroke pth]
33   •page << @stroking:RGB_RED | [stroke controlling [] pth]
34   hull: [controlling_hull pth]
35   •page << @width:0.3bp | [stroke hull]