.. _s_exp: S-Exp circle pattern -------------------- .. image:: s_exp_transparent.jpg :width: 100% In this example, we will construct an S-Exp orthogonal circle pattern with the combinatorics of a square grid, see e.g. [BP99: Discretization of surfaces and integrable systems]. For its construction we use the explicit formulas given in [BHS06: Minimal surfaces from combinatorics]. The S-Exp circle pattern can be used as Weierstrass data for constructing discrete S-isothermic minimal and maximal catenoids in Euclidean and Lorentz-Minkowski space, as we will do in :ref:`this example `. You can download the full script :download:`s_exp.py <../../../../examples/blender/docs/examples/s_exp.py>` and an obj file with an example :download:`s_exp.obj <../../../../examples/blender/docs/examples/s_exp.obj>`. .. contents:: :local: :backlinks: none Setup ===== We begin by importing required modules, clearing the Blender scene, and defining a function to create the s_exp circle pattern. .. literalinclude:: ../../../../examples/blender/docs/examples/s_exp.py :language: python :start-after: [setup] :end-before: [setup] Construction ============ Using the previously defined function, we construct a halfedge object storing the circle center and touching point coordinates. .. literalinclude:: ../../../../examples/blender/docs/examples/s_exp.py :language: python :start-after: [construct] :end-before: [construct] Visualization ============= In the visualization step, we compute and display the circles of the orthogonal circle pattern. .. literalinclude:: ../../../../examples/blender/docs/examples/s_exp.py :language: python :start-after: [vis] :end-before: [vis] Export OBJ ========== We can also export an OBJ file for later use. You can download it here: :download:`s_exp.obj <../../../../examples/blender/docs/examples/s_exp.obj>`. We convert the coordinates to 3d coordinates with `z=0`. .. literalinclude:: ../../../../examples/blender/docs/examples/s_exp.py :language: python :start-after: [obj] :end-before: [obj]