pythagoras.r3.pobject module

class pythagoras.r3.pobject.PObject3D[source]

Bases: ABC

Abstract base class for a three-dimensional, renderable object. Behaves in an analogous fashion to a PObject.

abstractmethod svg(camera: Camera3D, frustum: float, width: float, height: float, scale: float, lights: list[tuple[tuple[float, float, float], float]], *args: POProperty) str[source]

Compiles the 3D object into SVG commands.

Returns:

The corresponding SVG code.

abstractmethod tikz(camera: Camera3D, frustum: float, lights: list[tuple[tuple[float, float, float], float]], *args: POProperty) str[source]

Compiles the 3D object into a sequence of TikZ instructions.

Returns:

The resulting TikZ code.