Quickstart ExampleΒΆ
svg3d provides convenience View options for standard rendering perspectives - isometric, dimetric, and trimetric. Shapes can be easily created from coxeter objects, or from raw mesh data.
from coxeter.families import ArchimedeanFamily
import svg3d
style = {
"fill": "#00B2A6",
"fill_opacity": "0.85",
"stroke": "black",
"stroke_linejoin": "round",
"stroke_width": "0.005",
}
truncated_cube = ArchimedeanFamily.get_shape("Truncated Cube")
scene = [
svg3d.Mesh.from_coxeter(
truncated_cube,
shader=svg3d.shaders.DiffuseShader.from_style_dict(style)
)
]
# Convenience views: isometric, dimetric, and trimetric
iso = svg3d.View.isometric(scene, fov=1.0)
dim = svg3d.View.dimetric(scene, fov=1.0)
tri = svg3d.View.trimetric(scene, fov=1.0)
for view, view_type in zip([iso, dim, tri], ["iso", "dim", "tri"]):
svg3d.Engine([view]).render(f"{view_type}.svg")
Isometric |
Dimetric |
Trimetric |
|---|---|---|