polygon_jitter
polygon_jitter(points, radius) -> NULL || List of points
Randomly displace each point of a polygon by a given radius.
Syntaxe
var result = polygon_jitter(points=[x0,y0,x1,y1,...], radius=10)
Arguments
| Name | Required | Default | Description |
|---|---|---|---|
points | yes | - | List of points [x0,y0,x1,y1,...] |
radius | yes | - | Radius of angles |
Full example
canvas(width=880, height=1200);
var color="#FFC107";
load_text_default(25);
var france = [8,51,56,56,56,29,66,29,86,44,121,9,140,9,175,48, 230,70,190,125,205,192,173,214,136,199,121,224,38,194,57,131,8,75]; // simplified...
def france_contour(){
for (var i=0; i<france.length-1;i+=2) {
circle(france[i], france[i+1], 4, fill="#1976D2", stroke="transparent");
}
}
coord_translate(10,10);
polygon(points=france, fill=color);
text("polygon", 10, 250);
france_contour();
coord_translate(300,0);
var pr10 = polygon_round(points=france, radius=10, precision=10, draw=false);
polygon(points=pr10, fill=color);
text("polygon_round 10", 10, 250);
france_contour();
coord_translate(300,0);
var pr30 = polygon_round(points=france, radius=30, precision=10, draw=false);
polygon(points=pr30, fill=color);
text("polygon_round 30", 10, 250);
france_contour();
coord_translate(-600,300);
var pj5 = polygon_jitter(france, 5);
polygon(points=pj5, fill=color);
text("polygon_jitter 5", 10, 250);
france_contour();
coord_translate(300,0);
var pj10 = polygon_jitter(france, 10);
polygon(points=pj10, fill=color);
text("polygon_jitter 10", 10, 250);
france_contour();
coord_translate(300,0);
var pj20 = polygon_jitter(france, 20);
polygon(points=pj20, fill=color);
text("polygon_jitter 20", 10, 250);
france_contour();
coord_translate(-600,300);
var ps5 = polygon_smooth(france, 5);
polygon(points=ps5, fill=color);
text("polygon_smooth 5", 10, 250);
france_contour();
coord_translate(300,0);
var ps7 = polygon_smooth(france, 7);
polygon(points=ps7, fill=color);
text("polygon_smooth 7", 10, 250);
france_contour();
coord_translate(300,0);
var ps10 = polygon_smooth(france, 2);
polygon(points=ps10, fill=color);
text("polygon_smooth 10", 10, 250);
france_contour();
coord_translate(-600,300);
var psi5 = polygon_simplify(france, 5);
polygon(points=psi5, fill=color);
text("polygon_simplify 5", 10, 250);
france_contour();
coord_translate(300,0);
psi5 = polygon_simplify(france, 15);
polygon(points=psi5, fill=color);
text("polygon_simplify 15", 10, 250);
france_contour();
coord_translate(300,0);
psi5 = polygon_simplify(france, 30);
polygon(points=psi5, fill=color);
text("polygon_simplify 30", 10, 250);
france_contour();
save("polygons_specials.png");
