Effacer les filtres
Effacer les filtres

How to use stairs (or another function) to create stairs in a 3d space

26 vues (au cours des 30 derniers jours)
Johnny Dessoulavy
Johnny Dessoulavy le 3 Oct 2021
Modifié(e) : Matt J le 4 Oct 2021
Im trying to create a matrix of z values that will correspond to stairs. The aim is to be able to input any x-size and y-size vector values and have a z matrix which is an inclined plane, with a set of stairs travelling its height.
I have tried to ahrd code this, but im not getting evry far at all. I have tried searching online, but there doesnt seem to be reference to using stairs or similar to achieve what I want.
If someone could help me out, or point me in the direction or resources/solution i would be very grateful.

Réponse acceptée

Matt J
Matt J le 4 Oct 2021
Modifié(e) : Matt J le 4 Oct 2021
Here's another method using repelem. IMO, it is a bit more transparent way to achieve a desired staircase geometry. You can use imrotate() to change the direction of the steps.
h=12;
stepHeight=3;
stepLength=50;
stepWidth=10;
z=0:stepHeight:h;
Z=repelem(z,stepWidth,stepLength);
[m,n]=size(Z);
x=linspace(0,10,n);
y=linspace(0,8,m);
surf(x,y,Z)
xlabel 'X', ylabel 'Y'

Plus de réponses (1)

Matt J
Matt J le 3 Oct 2021
Something like this, perhaps?
x=linspace(1,3);
y=x.';
z=round(3*x +2*y);
surf(x,y,z,'EdgeColor','none')
view(30,20);
  1 commentaire
Johnny Dessoulavy
Johnny Dessoulavy le 4 Oct 2021
Modifié(e) : Johnny Dessoulavy le 4 Oct 2021
Yes! something like that exactly. I need it to travel in a straight line rather than horizontally, like you have. for example it goes from 0 x to 10x, y being the depth of each step so, for arguments sake, a depth of 2, and then finally end at a prescribed z height, h.
So, what you have is perfect but needs to be translated 45degrees, if you understand where im going.
for reference, this is what i have right now.
The steps need to ascend up the inclined plane. Im wanting to be able to have as many rows and columns as i want, but have a proportional amount of steps IE 100 rows and 50 columns, but that results to like 10 steps up the inclined plane. Your steps are what im looking for, but need to be applied slightly differently.

Connectez-vous pour commenter.

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by