from sectionproperties.pre import Material, CompoundGeometry
from sectionproperties.analysis import Section

mat1 = Material(
    name="mat1",
    elastic_modulus=1.0,
    poissons_ratio=0.0,
    density=1.0,
    yield_strength=1.0,
    color="tab:olive",
)

mat2 = Material(
    name="mat2",
    elastic_modulus=2.0,
    poissons_ratio=0.0,
    density=2.0,
    yield_strength=2.0,
    color="tab:purple",
)

points = [(0, 0), (10, 0), (15, 10), (-12, -5)]
facets = [(0, 1), (1, 2), (2, 0), (1, 3), (3, 0), (0, 1)]
control_points = [(1, 1), (1, -1)]
materials = [mat1, mat2]

geom = CompoundGeometry.from_points(
    points=points,
    facets=facets,
    control_points=control_points,
    materials=materials,
)
geom.create_mesh(mesh_sizes=[0])
Section(geometry=geom).plot_mesh()