diff --git a/docs/source/auto_examples/01_aperture_projection.ipynb b/docs/source/auto_examples/01_aperture_projection.ipynb index cf20b05..39b2496 100644 --- a/docs/source/auto_examples/01_aperture_projection.ipynb +++ b/docs/source/auto_examples/01_aperture_projection.ipynb @@ -51,7 +51,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Geometries\nIn order to make things easy to start, an example geometry has been included within LyceanEM for a UAV, and the\nopen3d trianglemesh structures can be accessed by importing the data subpackage\n\n" + "## Geometries\nIn order to make things easy to start, an example geometry has been included within LyceanEM for a UAV, and the\nmeshio trianglemesh structures can be accessed by importing the data subpackage\n\n" ] }, { @@ -87,7 +87,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Structures\nLyceanEM uses a class named 'structures' to store and maniuplate joined 3D solids. Currently all that is implemented\nis the class itself, and methods to allow translation and rotation of the trianglemesh solids. A structure can be\npassed to the models to provide the environment to be considered as blockers.\nstructures are created by calling the class, and passing it a list of the open3d trianglemesh structures to be added.\n\n" + "## Structures\nLyceanEM uses a class named 'structures' to store and maniuplate joined 3D solids. Currently all that is implemented\nis the class itself, and methods to allow translation and rotation of the trianglemesh solids. A structure can be\npassed to the models to provide the environment to be considered as blockers.\nstructures are created by calling the class, and passing it a list of the meshio trianglemesh structures to be added.\n\n" ] }, { @@ -105,7 +105,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Aperture Projection\nAperture Projection is imported from the frequency domain models, requiring the aperture of interest, wavelength to\nbe considered, and the azimuth and elevation ranges. The function then returns the directivity envelope as a numpy\narray of floats, and an open3d point cloud with points and colors corresponding to the directivity envelope of the\nprovided aperture, scaling from yellow at maximum to dark purple at minimum.\n\n" + "## Aperture Projection\nAperture Projection is imported from the frequency domain models, requiring the aperture of interest, wavelength to\nbe considered, and the azimuth and elevation ranges. The function then returns the directivity envelope as a numpy\narray of floats, and a meshio point cloud with points and colors corresponding to the directivity envelope of the\nprovided aperture, scaling from yellow at maximum to dark purple at minimum.\n\n" ] }, { @@ -123,7 +123,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Open3D Visualisation\nThe resultant maximum directivity envelope is provided as both a numpy array of directivities for each angle, but\nalso as an open3d point cloud. This allows easy visualisation using :func:`open3d.visualization.draw_geometries`.\n%%\n\n" + "## Visualisation\nThe resultant maximum directivity envelope is provided as both a numpy array of directivities for each angle, but\nalso as an meshio point cloud. This allows easy visualisation using pyvista.\n%%\n\n" ] }, { @@ -148,7 +148,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Plotting the Output\nWhile the open3d visualisation is very intuitive for examining the results of the aperture projection, it is\ndifficult to consider the full 3D space, and cannot be included in documentation in this form. However, matplotlib\ncan be used to generate contour plots with 3dB contours to give a more systematic understanding of the resultant\nmaximum directivity envelope.\n\n" + "## Plotting the Output\nWhile the pyvista visualisation is very intuitive for examining the results of the aperture projection, it is\ndifficult to consider the full 3D space, and cannot be included in documentation in this form. However, matplotlib\ncan be used to generate contour plots with 3dB contours to give a more systematic understanding of the resultant\nmaximum directivity envelope.\n\n" ] }, { diff --git a/docs/source/auto_examples/01_aperture_projection.py b/docs/source/auto_examples/01_aperture_projection.py index 1a2504b..561c512 100644 --- a/docs/source/auto_examples/01_aperture_projection.py +++ b/docs/source/auto_examples/01_aperture_projection.py @@ -48,7 +48,7 @@ # Geometries # ------------------------ # In order to make things easy to start, an example geometry has been included within LyceanEM for a UAV, and the -# open3d trianglemesh structures can be accessed by importing the data subpackage +# meshio trianglemesh structures can be accessed by importing the data subpackage import lyceanem.tests.reflectordata as data body, array, _ = data.exampleUAV(10e9) @@ -71,7 +71,7 @@ # LyceanEM uses a class named 'structures' to store and maniuplate joined 3D solids. Currently all that is implemented # is the class itself, and methods to allow translation and rotation of the trianglemesh solids. A structure can be # passed to the models to provide the environment to be considered as blockers. -# structures are created by calling the class, and passing it a list of the open3d trianglemesh structures to be added. +# structures are created by calling the class, and passing it a list of the meshio trianglemesh structures to be added. from lyceanem.base_classes import structures blockers = structures([body]) @@ -81,7 +81,7 @@ # ----------------------- # Aperture Projection is imported from the frequency domain models, requiring the aperture of interest, wavelength to # be considered, and the azimuth and elevation ranges. The function then returns the directivity envelope as a numpy -# array of floats, and an open3d point cloud with points and colors corresponding to the directivity envelope of the +# array of floats, and a meshio point cloud with points and colors corresponding to the directivity envelope of the # provided aperture, scaling from yellow at maximum to dark purple at minimum. from lyceanem.models.frequency_domain import aperture_projection @@ -93,10 +93,10 @@ elev_range=np.linspace(-90.0, 90.0, elev_res), ) # %% -# Open3D Visualisation +# Visualisation # ------------------------ # The resultant maximum directivity envelope is provided as both a numpy array of directivities for each angle, but -# also as an open3d point cloud. This allows easy visualisation using :func:`open3d.visualization.draw_geometries`. +# also as an meshio point cloud. This allows easy visualisation using pyvista. # %% @@ -114,7 +114,7 @@ # %% # Plotting the Output # ------------------------ -# While the open3d visualisation is very intuitive for examining the results of the aperture projection, it is +# While the pyvista visualisation is very intuitive for examining the results of the aperture projection, it is # difficult to consider the full 3D space, and cannot be included in documentation in this form. However, matplotlib # can be used to generate contour plots with 3dB contours to give a more systematic understanding of the resultant # maximum directivity envelope. diff --git a/docs/source/auto_examples/01_aperture_projection.rst b/docs/source/auto_examples/01_aperture_projection.rst index dd8b2fe..2b44a3c 100644 --- a/docs/source/auto_examples/01_aperture_projection.rst +++ b/docs/source/auto_examples/01_aperture_projection.rst @@ -49,12 +49,6 @@ be predicted using the :func:`lyceanem.models.frequency_domain.aperture_projecti import numpy as np - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 33-42 Setting Farfield Resolution and Wavelength @@ -77,18 +71,12 @@ an X band aperture. wavelength = 3e8 / 10e9 - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 48-52 Geometries ------------------------ In order to make things easy to start, an example geometry has been included within LyceanEM for a UAV, and the -open3d trianglemesh structures can be accessed by importing the data subpackage +meshio trianglemesh structures can be accessed by importing the data subpackage .. GENERATED FROM PYTHON SOURCE LINES 52-58 @@ -101,12 +89,6 @@ open3d trianglemesh structures can be accessed by importing the data subpackage - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 59-60 # .. image:: ../_static/open3d_structure.png @@ -124,12 +106,6 @@ open3d trianglemesh structures can be accessed by importing the data subpackage surface_array.cell_data["Normals"] = np.array(array.cell_data["Normals"])[: (array.cells[0].data).shape[0] // 2] - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 69-75 Structures @@ -137,7 +113,7 @@ Structures LyceanEM uses a class named 'structures' to store and maniuplate joined 3D solids. Currently all that is implemented is the class itself, and methods to allow translation and rotation of the trianglemesh solids. A structure can be passed to the models to provide the environment to be considered as blockers. -structures are created by calling the class, and passing it a list of the open3d trianglemesh structures to be added. +structures are created by calling the class, and passing it a list of the meshio trianglemesh structures to be added. .. GENERATED FROM PYTHON SOURCE LINES 75-79 @@ -148,19 +124,13 @@ structures are created by calling the class, and passing it a list of the open3d blockers = structures([body]) - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 80-86 Aperture Projection ----------------------- Aperture Projection is imported from the frequency domain models, requiring the aperture of interest, wavelength to be considered, and the azimuth and elevation ranges. The function then returns the directivity envelope as a numpy -array of floats, and an open3d point cloud with points and colors corresponding to the directivity envelope of the +array of floats, and a meshio point cloud with points and colors corresponding to the directivity envelope of the provided aperture, scaling from yellow at maximum to dark purple at minimum. .. GENERATED FROM PYTHON SOURCE LINES 86-95 @@ -177,26 +147,12 @@ provided aperture, scaling from yellow at maximum to dark purple at minimum. elev_range=np.linspace(-90.0, 90.0, elev_res), ) - - - -.. rst-class:: sphx-glr-script-out - - .. code-block:: none - - sources shape (1453, 3) - sinks shape (1369, 3) - environment_points shape (0, 3) - - - - .. GENERATED FROM PYTHON SOURCE LINES 96-101 -Open3D Visualisation +Visualisation ------------------------ The resultant maximum directivity envelope is provided as both a numpy array of directivities for each angle, but -also as an open3d point cloud. This allows easy visualisation using :func:`open3d.visualization.draw_geometries`. +also as an meshio point cloud. This allows easy visualisation using pyvista. %% .. GENERATED FROM PYTHON SOURCE LINES 104-105 @@ -217,23 +173,11 @@ also as an open3d point cloud. This allows easy visualisation using :func:`open3 ) - - - -.. rst-class:: sphx-glr-script-out - - .. code-block:: none - - Maximum Directivity of 18.5 dBi - - - - .. GENERATED FROM PYTHON SOURCE LINES 115-121 Plotting the Output ------------------------ -While the open3d visualisation is very intuitive for examining the results of the aperture projection, it is +While the pyvista visualisation is very intuitive for examining the results of the aperture projection, it is difficult to consider the full 3D space, and cannot be included in documentation in this form. However, matplotlib can be used to generate contour plots with 3dB contours to give a more systematic understanding of the resultant maximum directivity envelope. @@ -290,22 +234,6 @@ maximum directivity envelope. fig.show() - -.. image-sg:: /auto_examples/images/sphx_glr_01_aperture_projection_001.png - :alt: Maximum Directivity Envelope - :srcset: /auto_examples/images/sphx_glr_01_aperture_projection_001.png - :class: sphx-glr-single-img - - - - - - -.. rst-class:: sphx-glr-timing - - **Total running time of the script:** (0 minutes 17.869 seconds) - - .. _sphx_glr_download_auto_examples_01_aperture_projection.py: .. only:: html diff --git a/docs/source/auto_examples/01_aperture_projection_codeobj.pickle b/docs/source/auto_examples/01_aperture_projection_codeobj.pickle index 5bfc7c0..bc405ee 100644 Binary files a/docs/source/auto_examples/01_aperture_projection_codeobj.pickle and b/docs/source/auto_examples/01_aperture_projection_codeobj.pickle differ diff --git a/docs/source/auto_examples/02_coherently_polarised_array.ipynb b/docs/source/auto_examples/02_coherently_polarised_array.ipynb index df6c2f7..c1b4e65 100644 --- a/docs/source/auto_examples/02_coherently_polarised_array.ipynb +++ b/docs/source/auto_examples/02_coherently_polarised_array.ipynb @@ -51,7 +51,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Geometries\nIn order to make things easy to start, an example geometry has been included within LyceanEM for a UAV, and the\n:class:`open3d.geometry.TriangleMesh` structures can be accessed by importing the data subpackage\n\n" + "## Geometries\nIn order to make things easy to start, an example geometry has been included within LyceanEM for a UAV, and the\ntriangle structures can be accessed by importing the data subpackage\n\n" ] }, { diff --git a/docs/source/auto_examples/02_coherently_polarised_array.py b/docs/source/auto_examples/02_coherently_polarised_array.py index 148b933..d21e13c 100644 --- a/docs/source/auto_examples/02_coherently_polarised_array.py +++ b/docs/source/auto_examples/02_coherently_polarised_array.py @@ -33,7 +33,7 @@ # Geometries # ------------------------ # In order to make things easy to start, an example geometry has been included within LyceanEM for a UAV, and the -# :class:`open3d.geometry.TriangleMesh` structures can be accessed by importing the data subpackage +# triangle structures can be accessed by importing the data subpackage import lyceanem.tests.reflectordata as data body, array, source_coords = data.exampleUAV(10e9) diff --git a/docs/source/auto_examples/02_coherently_polarised_array.rst b/docs/source/auto_examples/02_coherently_polarised_array.rst index aa3cb17..869fdf4 100644 --- a/docs/source/auto_examples/02_coherently_polarised_array.rst +++ b/docs/source/auto_examples/02_coherently_polarised_array.rst @@ -34,12 +34,6 @@ weights. import numpy as np import meshio - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 18-27 Setting Farfield Resolution and Wavelength @@ -62,18 +56,12 @@ an X band aperture. wavelength = 3e8 / 10e9 - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 33-37 Geometries ------------------------ In order to make things easy to start, an example geometry has been included within LyceanEM for a UAV, and the -:class:`open3d.geometry.TriangleMesh` structures can be accessed by importing the data subpackage +triangle structures can be accessed by importing the data subpackage .. GENERATED FROM PYTHON SOURCE LINES 37-43 @@ -86,12 +74,6 @@ In order to make things easy to start, an example geometry has been included wit - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 44-45 # .. image:: ../_static/open3d_structure.png @@ -124,12 +106,6 @@ In order to make things easy to start, an example geometry has been included wit - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 69-70 .. image:: ../_static/sourcecloudfromshapeuav.png @@ -162,26 +138,6 @@ does not produce consistently spaced results. ) - - - -.. rst-class:: sphx-glr-script-out - - .. code-block:: none - - C:\Users\lycea\PycharmProjects\LyceanEM-Python\lyceanem\electromagnetics\empropagation.py:3669: ComplexWarning: Casting complex values to real discards the imaginary part - uvn_axes[2, :] = point_vector - C:\Users\lycea\PycharmProjects\LyceanEM-Python\lyceanem\electromagnetics\empropagation.py:3686: ComplexWarning: Casting complex values to real discards the imaginary part - uvn_axes[0, :] = np.cross(local_axes[2, :], point_vector) / np.linalg.norm( - C:\Users\lycea\PycharmProjects\LyceanEM-Python\lyceanem\electromagnetics\empropagation.py:3708: ComplexWarning: Casting complex values to real discards the imaginary part - uvn_axes[1, :] = np.cross(point_vector, uvn_axes[0, :]) / np.linalg.norm( - sources shape (67, 3) - sinks shape (32761, 3) - environment_points shape (0, 3) - - - - .. GENERATED FROM PYTHON SOURCE LINES 93-101 Storing and Manipulating Antenna Patterns @@ -209,38 +165,6 @@ plottype='Contour' to the function. UAV_Static_Pattern.display_pattern() - - -.. rst-class:: sphx-glr-horizontal - - - * - - .. image-sg:: /auto_examples/images/sphx_glr_02_coherently_polarised_array_001.png - :alt: Etheta - :srcset: /auto_examples/images/sphx_glr_02_coherently_polarised_array_001.png - :class: sphx-glr-multi-img - - * - - .. image-sg:: /auto_examples/images/sphx_glr_02_coherently_polarised_array_002.png - :alt: Ephi - :srcset: /auto_examples/images/sphx_glr_02_coherently_polarised_array_002.png - :class: sphx-glr-multi-img - - -.. rst-class:: sphx-glr-script-out - - .. code-block:: none - - C:\Users\lycea\PycharmProjects\LyceanEM-Python\lyceanem\electromagnetics\beamforming.py:1100: RuntimeWarning: divide by zero encountered in log10 - logdata = 20 * np.log10(data) - C:\Users\lycea\PycharmProjects\LyceanEM-Python\lyceanem\electromagnetics\beamforming.py:1103: RuntimeWarning: invalid value encountered in subtract - logdata -= np.nanmax(logdata) - - - - .. GENERATED FROM PYTHON SOURCE LINES 113-115 .. image:: ../_static/sphx_glr_02_coherently_polarised_array_001.png @@ -254,51 +178,12 @@ plottype='Contour' to the function. UAV_Static_Pattern.display_pattern(plottype="Contour") - - -.. rst-class:: sphx-glr-horizontal - - - * - - .. image-sg:: /auto_examples/images/sphx_glr_02_coherently_polarised_array_003.png - :alt: Etheta - :srcset: /auto_examples/images/sphx_glr_02_coherently_polarised_array_003.png - :class: sphx-glr-multi-img - - * - - .. image-sg:: /auto_examples/images/sphx_glr_02_coherently_polarised_array_004.png - :alt: Ephi - :srcset: /auto_examples/images/sphx_glr_02_coherently_polarised_array_004.png - :class: sphx-glr-multi-img - - -.. rst-class:: sphx-glr-script-out - - .. code-block:: none - - C:\Users\lycea\.conda\envs\SpaceBasedSolar\lib\site-packages\matplotlib\contour.py:1479: UserWarning: Warning: converting a masked element to nan. - self.zmax = float(z.max()) - C:\Users\lycea\.conda\envs\SpaceBasedSolar\lib\site-packages\matplotlib\contour.py:1480: UserWarning: Warning: converting a masked element to nan. - self.zmin = float(z.min()) - C:\Users\lycea\PycharmProjects\LyceanEM-Python\lyceanem\electromagnetics\beamforming.py:1227: UserWarning: No contour levels were found within the data range. - CS4 = ax.contour( - - - - .. GENERATED FROM PYTHON SOURCE LINES 119-121 .. image:: ../_static/sphx_glr_02_coherently_polarised_array_003.png .. image:: ../_static/sphx_glr_02_coherently_polarised_array_004.png -.. rst-class:: sphx-glr-timing - - **Total running time of the script:** (0 minutes 23.464 seconds) - - .. _sphx_glr_download_auto_examples_02_coherently_polarised_array.py: .. only:: html diff --git a/docs/source/auto_examples/02_coherently_polarised_array_codeobj.pickle b/docs/source/auto_examples/02_coherently_polarised_array_codeobj.pickle index c773f25..f63fc96 100644 Binary files a/docs/source/auto_examples/02_coherently_polarised_array_codeobj.pickle and b/docs/source/auto_examples/02_coherently_polarised_array_codeobj.pickle differ diff --git a/docs/source/auto_examples/04_time_domain_channel_modelling.ipynb b/docs/source/auto_examples/04_time_domain_channel_modelling.ipynb index ba75866..c6ba3a4 100644 --- a/docs/source/auto_examples/04_time_domain_channel_modelling.ipynb +++ b/docs/source/auto_examples/04_time_domain_channel_modelling.ipynb @@ -69,7 +69,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Position Transmitter\nrotate the transmitting antenna to the desired orientation, and then translate to final position.\n:func:`lyceanem.geometry.geometryfunctions.open3drotate` allows both the center of rotation to be defined, and\nensures the right syntax is used for Open3d, as it was changed from 0.9.0 to 0.10.0 and onwards.\n\n\n" + "## Position Transmitter\nrotate the transmitting antenna to the desired orientation, and then translate to final position.\n:func:`lyceanem.geometry.geometryfunctions.translate_mesh`, :func:`lyceanem.geometry.geometryfunctions.mesh_rotate` and :func:`lyceanem.geometry.geometryfunctions.mesh_transform` are included, allowing translation, rotation, and transformation of the meshio objects as required.\n\n\n" ] }, { diff --git a/docs/source/auto_examples/04_time_domain_channel_modelling.py b/docs/source/auto_examples/04_time_domain_channel_modelling.py index 94e1c20..6737487 100644 --- a/docs/source/auto_examples/04_time_domain_channel_modelling.py +++ b/docs/source/auto_examples/04_time_domain_channel_modelling.py @@ -51,8 +51,7 @@ # Position Transmitter # ---------------------- # rotate the transmitting antenna to the desired orientation, and then translate to final position. -# :func:`lyceanem.geometry.geometryfunctions.open3drotate` allows both the center of rotation to be defined, and -# ensures the right syntax is used for Open3d, as it was changed from 0.9.0 to 0.10.0 and onwards. +# :func:`lyceanem.geometry.geometryfunctions.translate_mesh`, :func:`lyceanem.geometry.geometryfunctions.mesh_rotate` and :func:`lyceanem.geometry.geometryfunctions.mesh_transform` are included, allowing translation, rotation, and transformation of the meshio objects as required. # rotation_vector1 = np.radians(np.asarray([90.0, 0.0, 0.0])) rotation_vector2 = np.radians(np.asarray([0.0, 0.0, -90.0])) diff --git a/docs/source/auto_examples/04_time_domain_channel_modelling.rst b/docs/source/auto_examples/04_time_domain_channel_modelling.rst index 66209d5..4ba7b78 100644 --- a/docs/source/auto_examples/04_time_domain_channel_modelling.rst +++ b/docs/source/auto_examples/04_time_domain_channel_modelling.rst @@ -35,12 +35,6 @@ rather than an aperture antenna such as a horn. import numpy as np import meshio - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 18-21 Frequency and Mesh Resolution @@ -67,12 +61,6 @@ Frequency and Mesh Resolution wavelength = 3e8 / model_freq - - - - - - .. GENERATED FROM PYTHON SOURCE LINES 37-40 Setup transmitters and receivers @@ -94,37 +82,15 @@ Setup transmitters and receivers ) - - - -.. rst-class:: sphx-glr-script-out - - .. code-block:: none - - HIHIH - - Number of points: 8 - Number of cells: - triangle: 12 - HIHIH - - Number of points: 8 - Number of cells: - triangle: 12 - - - - -.. GENERATED FROM PYTHON SOURCE LINES 51-57 +.. GENERATED FROM PYTHON SOURCE LINES 51-56 Position Transmitter ---------------------- rotate the transmitting antenna to the desired orientation, and then translate to final position. -:func:`lyceanem.geometry.geometryfunctions.open3drotate` allows both the center of rotation to be defined, and -ensures the right syntax is used for Open3d, as it was changed from 0.9.0 to 0.10.0 and onwards. +:func:`lyceanem.geometry.geometryfunctions.translate_mesh`, :func:`lyceanem.geometry.geometryfunctions.mesh_rotate` and :func:`lyceanem.geometry.geometryfunctions.mesh_transform` are included, allowing translation, rotation, and transformation of the meshio objects as required. -.. GENERATED FROM PYTHON SOURCE LINES 57-68 +.. GENERATED FROM PYTHON SOURCE LINES 56-67 .. code-block:: Python @@ -140,19 +106,13 @@ ensures the right syntax is used for Open3d, as it was changed from 0.9.0 to 0.1 transmitting_antenna_surface_coords = GF.mesh_rotate(transmitting_antenna_surface_coords, rotation_vector2) transmitting_antenna_surface_coords = GF.translate_mesh(transmitting_antenna_surface_coords, np.asarray([2.695, 0, 0])) - - - - - - -.. GENERATED FROM PYTHON SOURCE LINES 69-72 +.. GENERATED FROM PYTHON SOURCE LINES 68-71 Position Receiver ------------------ rotate the receiving horn to desired orientation and translate to final position. -.. GENERATED FROM PYTHON SOURCE LINES 72-79 +.. GENERATED FROM PYTHON SOURCE LINES 71-78 .. code-block:: Python @@ -164,19 +124,13 @@ rotate the receiving horn to desired orientation and translate to final position receiving_antenna_surface_coords = GF.translate_mesh(receiving_antenna_surface_coords, np.asarray([0, 1.427, 0])) - - - - - - -.. GENERATED FROM PYTHON SOURCE LINES 80-83 +.. GENERATED FROM PYTHON SOURCE LINES 79-82 Create Scattering Plate -------------------------- Create a Scattering plate a source of multipath reflections -.. GENERATED FROM PYTHON SOURCE LINES 83-95 +.. GENERATED FROM PYTHON SOURCE LINES 82-94 .. code-block:: Python @@ -193,29 +147,13 @@ Create a Scattering plate a source of multipath reflections - - - -.. rst-class:: sphx-glr-script-out - - .. code-block:: none - - meshing reflector - args 0.3 0.3 0.006 - majorsize 0.3 - minorsize 0.3 - thickness 0.006 - - - - -.. GENERATED FROM PYTHON SOURCE LINES 96-99 +.. GENERATED FROM PYTHON SOURCE LINES 95-98 Specify Reflection Angle -------------------------- Rotate the scattering plate to the optimum angle for reflection from the transmitting to receiving horn -.. GENERATED FROM PYTHON SOURCE LINES 99-110 +.. GENERATED FROM PYTHON SOURCE LINES 98-109 .. code-block:: Python @@ -231,18 +169,12 @@ Rotate the scattering plate to the optimum angle for reflection from the transmi - - - - - - -.. GENERATED FROM PYTHON SOURCE LINES 111-113 +.. GENERATED FROM PYTHON SOURCE LINES 110-112 Visualise the Scene Geometry ------------------------------ -.. GENERATED FROM PYTHON SOURCE LINES 113-132 +.. GENERATED FROM PYTHON SOURCE LINES 112-131 .. code-block:: Python @@ -266,24 +198,13 @@ Visualise the Scene Geometry plotter.show() - - -.. image-sg:: /auto_examples/images/sphx_glr_04_time_domain_channel_modelling_001.png - :alt: 04 time domain channel modelling - :srcset: /auto_examples/images/sphx_glr_04_time_domain_channel_modelling_001.png - :class: sphx-glr-single-img - - - - - -.. GENERATED FROM PYTHON SOURCE LINES 133-136 +.. GENERATED FROM PYTHON SOURCE LINES 132-135 Specify desired Transmit Polarisation -------------------------------------- The transmit polarisation has a significant effect on the channel characteristics. In this example the transmit horn will be vertically polarised, (e-vector aligned with the z direction) -.. GENERATED FROM PYTHON SOURCE LINES 136-140 +.. GENERATED FROM PYTHON SOURCE LINES 135-139 .. code-block:: Python @@ -292,19 +213,13 @@ The transmit polarisation has a significant effect on the channel characteristic desired_E_axis[0, 1] = 1.0 - - - - - - -.. GENERATED FROM PYTHON SOURCE LINES 141-144 +.. GENERATED FROM PYTHON SOURCE LINES 140-143 Time Domain Scattering ---------------------------- -.. GENERATED FROM PYTHON SOURCE LINES 144-222 +.. GENERATED FROM PYTHON SOURCE LINES 143-221 .. code-block:: Python @@ -387,947 +302,13 @@ Time Domain Scattering - - - -.. rst-class:: sphx-glr-script-out - - .. code-block:: none - - 0%| | 0/91 [00:00