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)
../../../../_images/611f7dbebdb9cd340c4a046ee58fb1a199f2694e0e90173276b5cc876f640bff.png
# 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)
../../../../_images/6f0b20447f73fde5ffaa055971284bbfd5d335f3ed2152303d12d9618ee19e42.png
# 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)
../../../../_images/9293bbde6836da7753aad450ccbcfb367daa80c161ed5a1107493c5bbfb9b24c.png