[x,y,z] = createPointCloud(alphaAngle, betaAngle,Distance);
[xU,yU,zU] = createPointCloud(alphaAngle, betaAngle,ones(length(alphaAngle),1));
scatter3(ax1(1),xU,yU,zU,10,'blue',MarkerFaceColor='flat');
set(gca,'DataAspectRatio',[1 1 1]);xlabel('X (m)');ylabel('Y (m)');zlabel('Z (m)');view(3);
scatter3(ax1(2),x,y,z,10,'blue',MarkerFaceColor='flat');
set(gca,'DataAspectRatio',[1 1 1]);xlabel('X (m)');ylabel('Y (m)');zlabel('Z (m)');view(3);
DTU = delaunayTriangulation(xU,yU,zU);
scatter3(ax1(3),xU,yU,zU,10,'blue',MarkerFaceColor='flat'); hold on
trisurf(DTU.freeBoundary,DTU.Points(:,1),DTU.Points(:,2),DTU.Points(:,3),0.05,'FaceAlpha',0.05,'FaceColor','blue');
DT = delaunayTriangulation(x,y,z);
scatter3(ax1(4),x,y,z,10,'blue',MarkerFaceColor='flat'); hold on
trisurf(DT.freeBoundary,DT.Points(:,1),DT.Points(:,2),DT.Points(:,3),0.05,'FaceAlpha',0.05,'FaceColor','blue');
function [x,y,z] = createPointCloud(alphaAngle, betaAngle,Distance)
x = rho .* sin(phi) .* cos(theta);
y = rho .* sin(phi) .* sin(theta);
output = unique(input,'rows');