1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
// example file for 'roundedpath.asy'
// written by stefan knorr
// import needed packages
import roundedpath;
// define open and closed path
path A = (0,0)--(10,10)--(30,10)--(20,0)--(30,-10)--(10,-10);
path B = A--cycle;
draw(shift(-60,0)*A, green);
draw(shift(-30,0)*roundedpath(A,1), red);
// draw open path and some modifications
for (int i = 1; i < 20; ++i)
draw(roundedpath(A,i/4), rgb(1 - i*0.049, 0, i*0.049) + linewidth(0.5));
draw(shift(-60,-30)*B, green);
draw(shift(-30,-30)*roundedpath(B,1), red);
//draw closed path and some modifications
for (int i = 1; i < 20; ++i) // only round edges
draw(shift(0,-30)*roundedpath(B,i/4), rgb(0.5, i*0.049,0) + linewidth(0.5));
for (int i = 1; i < 20; ++i) // round edged and scale
draw(shift(0,-60)*roundedpath(B,i/4,1-i/50), rgb(1, 1 - i*0.049,i*0.049) + linewidth(0.5));
for (int i = 1; i < 50; ++i) // shift (round edged und scaled shifted version)
draw(shift(-30,-60)*shift(10,0)*roundedpath(shift(-10,0)*B,i/10,1-i/80), rgb( i*0.024, 1 - i*0.024,0) + linewidth(0.5));
for (int i = 1; i < 20; ++i) // shift (round edged und scaled shifted version)
draw(shift(-60,-60)*shift(10,0)*roundedpath(shift(-10,0)*B,i/4,1-i/50), gray(i/40));
|