Fixing a plotting problem over a fixed axes

2 次查看(过去 30 天)
I want the below spirals to be evenly spaced (in both x and y axes). I am hoping distance between the rows and columns of the helical spirals to be the same, while each center will lie on the same line. I am not sure how to use MATLAB to calculate that for me. The radius of the helical spirals will change and I think there is way to use MATLAB to evenly space them out rather than manually calculating the distance of them.
The axes will always be constrained from -255 to 255, so only radius stays the same.
I pasted the code and what the spirals look from the xy axes
I am hoping the spacing between each row would be constant so that the spirals lie on the same line
Code
clc; clear; close all
%
% prompt1 = 'Radius: ';
% radius = input(prompt1);
% prompt2 = 'Layer Height: ';
% height = input(prompt2);
height = 250;
% prompt3 = 'Number of Layers: ';
% numlayer = input(prompt3);
spirals = (1:10:61);
num = 1:1:7;
for columns=1:4
for rows = 1:length(spirals)
center = -250 + (spirals(rows))*num(rows); % this was calculated to work only for this radius
indent =255 - (columns*30);
gap=height./columns;
d=height;
r = spirals(rows);
z=linspace(0,d,1000);
t=(2*pi/gap)*z;
x=r*cos(t)+center;
y=r*sin(t)+ indent;
hold on
plot3(x,y,z,'o','MarkerSize',2)
xlim([-255 255])
ylim([-255 255])
zlim([1 255])
grid on
xlabel('\it Increasing Radius \rightarrow')
ylabel('\it Increasing Layer Height \leftarrow')
end
end
  7 个评论
Hans123
Hans123 2019-8-19
the radius for the spirals being picked will adhere to the limit. My problem is getting rid of the overlap of the spirals. Please let me know how I could do it.

请先登录,再进行评论。

采纳的回答

darova
darova 2019-8-19
See attached file
121Untitled.png
dy = max(spirals);
indent = linspace(-255+dy, 255-dy,4);
y=r*sin(t)+ indent(columns);
FOr thicker line use:
plot(x,y,'linewidth',2)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Properties 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by