- 2 × N matrix - Defines points in 2D (x, y).
- 3 × N matrix - Defines points in 3D (x, y, z), but “z” must be constant or zero.
How do I create a mesh of a sinuous antenna geometry in order to simulate its radiation patterns?
3 views (last 30 days)
Show older comments
I am a complete beginner to MATLAB, and have searched up commands like customAntennaMesh to model a sinuous antenna’s radiation patterns. I have the equations to plot the curves required for the sinuous geometry. However, I don’t understand what is meant by the (points, triangles) input required by the command.
What should I do to create the geometry, or is there any other command I should try?
0 Comments
Answers (1)
AR
on 24 Feb 2025
The function “customAntennaMesh” is part of the Antenna Toolbox in MATLAB and is used to define custom antenna geometries using a mesh representation. It's ideal for designing complex antenna shapes that are not available in the toolbox's predefined options.
It needs 2 inputs:
1. Points: It is a “2 × N” or “3 × N” matrix representing Cartesian coordinates in meters, where “N” is the number of points.
2. Triangles: It is a “4 × M” matrix, where “M” is the number of triangles. The first three rows define triangle vertices (indices of points), and the fourth row assigns a domain number.
Refer the below link for “customAntennaMesh” function:
Here is an example code for sinuous antenna mesh:
clc; clear; close all;
% Define parameters for sinuous curve
a = 0.1; % Scaling factor (assumed)
b = 0.2; % Growth rate (assumed)
t = linspace(0, 4*pi, 50); % Angle range for the sinuous shape
% Compute Cartesian coordinates (r(t) = a * exp(b * t))
x = (a * exp(b * t)) .* cos(t);
y = (a * exp(b * t)) .* sin(t);
z = zeros(size(x)); % Keep z = 0 for a 2D structure
% Create the points matrix (3 x N)
points = [x; y; z];
A sinuous antenna has a spiral-like shape, which makes it difficult to manually define the triangular mesh. The function “delaunayTriangulation(x, y)” automatically computes a triangular mesh connecting the given 2D points.
The output is a connectivity list, which provides the indices of three points forming each triangle. “dt.ConnectivityList” provides triangle indices based on the computed points.
Refer the below link for “delaunayTriangulation” function:
% Use Delaunay triangulation for correct connectivity
dt = delaunayTriangulation(x', y');
triangles = [dt.ConnectivityList'; ones(1, size(dt.ConnectivityList, 1))];
% Create and visualize the custom antenna mesh
mesh = customAntennaMesh(points, triangles);
figure;
show(mesh); % Display mesh without additional arguments
title('Sinuous Antenna Mesh');
A possible workaround is to use “patch()” function for visualization while keeping “delaunayTriangulation()” to generate the mesh.
Refer the below link for “patch()” function:
I hope this helps!
0 Comments
See Also
Categories
Find more on Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!