Standard Library of 2D Geometric Shapes
from lsdo_genie.utils import visualize_2Dptcloud
num_points = 100
# Ellipse/Circle
from lsdo_genie.utils.geometric_shapes import Ellipse
geom_shape = Ellipse(7,4)
surface_points = geom_shape.surface_points(num_points)
surface_normals = geom_shape.unit_normals(num_points)
visualize_2Dptcloud(surface_points,surface_normals)
# Rectangle
from lsdo_genie.utils.geometric_shapes import Rectangle
geom_shape = Rectangle(7,4)
surface_points = geom_shape.surface_points(num_points)
surface_normals = geom_shape.unit_normals(num_points)
visualize_2Dptcloud(surface_points,surface_normals)
# Circles in a domain
from lsdo_genie.utils.geometric_shapes import Multi_circle
centers = [[-13.,-0.5],[-7.,2.],[2.,0.],[10.,-4.]]
radii = [2.,2.,4.,3.]
geom_shape = Multi_circle(centers,radii)
surface_points = geom_shape.surface_points(num_points)
surface_normals = geom_shape.unit_normals(num_points)
visualize_2Dptcloud(surface_points,surface_normals)