.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/example_mapping.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_example_mapping.py: .. _example_mapping: =================================== Mapping example in slam =================================== .. GENERATED FROM PYTHON SOURCE LINES 8-17 .. code-block:: default # Authors: # Guillaume Auzias # Julien Barrès # License: BSD (3-clause) # sphinx_gallery_thumbnail_number = 2 .. GENERATED FROM PYTHON SOURCE LINES 18-19 Importation of slam modules .. GENERATED FROM PYTHON SOURCE LINES 19-28 .. code-block:: default import slam.generate_parametric_surfaces as sps import numpy as np import slam.topology as stop import slam.plot as splt import slam.mapping as smap import slam.distortion as sdst from vispy.scene import Line from visbrain.objects import VispyObj, SourceObj .. GENERATED FROM PYTHON SOURCE LINES 29-30 Generation of an open mesh .. GENERATED FROM PYTHON SOURCE LINES 30-45 .. code-block:: default K = [-1, -1] open_mesh = sps.generate_quadric(K, nstep=[5, 5]) open_mesh_boundary = stop.mesh_boundary(open_mesh) # Visualization visb_sc = splt.visbrain_plot(mesh=open_mesh, caption="open mesh") for bound in open_mesh_boundary: points = open_mesh.vertices[bound] s_rad = SourceObj("rad", points, color="red", symbol="square", radius_min=10) visb_sc.add_to_subplot(s_rad) lines = Line(pos=open_mesh.vertices[bound], width=10, color="b") # wrap the vispy object using visbrain l_obj = VispyObj("line", lines) visb_sc.add_to_subplot(l_obj) visb_sc.preview() .. image:: /auto_examples/images/sphx_glr_example_mapping_001.png :alt: example mapping :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 46-47 Mapping onto a planar disk .. GENERATED FROM PYTHON SOURCE LINES 47-60 .. code-block:: default disk_mesh = smap.disk_conformal_mapping(open_mesh) # Visualization visb_sc2 = splt.visbrain_plot(mesh=disk_mesh, caption="disk mesh") for bound in open_mesh_boundary: points = disk_mesh.vertices[bound] s_rad = SourceObj("rad", points, color="red", symbol="square", radius_min=10) visb_sc2.add_to_subplot(s_rad) lines = Line(pos=disk_mesh.vertices[bound], width=10, color="b") # wrap the vispy object using visbrain l_obj = VispyObj("line", lines) visb_sc2.add_to_subplot(l_obj) visb_sc2.preview() .. image:: /auto_examples/images/sphx_glr_example_mapping_002.png :alt: example mapping :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out Out: .. code-block:: none Computing Laplacian Computing mesh weights of type conformal -edge length threshold needed for 0 values = 0.0 % -number of Nan in weights: 0 = 0.0 % -number of Negative values in weights: 4 = 4.0 % -nb Nan in Laplacian : 0 -nb Inf in Laplacian : 0 Boundary Size: (13,) Laplacian Size: (22, 22) .. GENERATED FROM PYTHON SOURCE LINES 61-62 Compute distortion measures between original and planar representations .. GENERATED FROM PYTHON SOURCE LINES 62-68 .. code-block:: default angle_diff = sdst.angle_difference(disk_mesh, open_mesh) area_diff = sdst.area_difference(disk_mesh, open_mesh) edge_diff = sdst.edge_length_difference(disk_mesh, open_mesh) print(np.mean(angle_diff)) print(np.mean(area_diff)) print(np.mean(edge_diff)) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 2.5522368382187506e-18 -0.03526596276269568 -0.09295198609266887 .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.827 seconds) .. _sphx_glr_download_auto_examples_example_mapping.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: example_mapping.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: example_mapping.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_