Created by: zeffii
several useful 2d shapes
-
line -
rounded rect -
circle -
arc -
bezier -
polyline
sample script..
"""
in origin_a v d=(0,0,0) d=2
in origin_b v d=(1,0,0) d=2
in origin_x v d=(3,3,0) d=2
in width s d=2.0 n=2
in precision s d=32 n=2
in rect_r s d=1.2 n=2
out verts v
out faces s
"""
from sverchok.utils.modules.shader_utils import ShaderLib2D
x1, y1 = origin_a[:2]
x2, y2 = origin_b[:2]
x3, y3 = origin_x[:2]
black = (0.0, 0.0, 0.0)
f = ShaderLib2D()
f.add_rect(2, -3, 6, 4, black)
f.add_line(x1, y1, x2, y2, width, black)
f.add_circle(x1, y1, width, black, precision)
f.add_arc(x1, y1, 0, np.pi/2, 15.0, 3.2, black, precision=15)
f.add_rect_rounded(x3+15, y3, 12, 6, black, rect_r, precision=4)
f.add_bezier(((0, 0), (10, 0), (10, 10), (20, 10)), width, black, precision)
g = f.compile()
add_z = lambda n: (n[0], n[1], 0.0)
verts.append(list(map( add_z, g.vectors)))
faces.append(g.indices)