3d Plotting a decagonal pyramid

what i have so far
r = linspace(0,2*pi);
th = 0:pi/6:2*pi ;
[R,T] = meshgrid(r,th) ;
X = R.*cos(T) ;
Y = R.*sin(T) ;
Z = R ;
surf(X,Y,Z)
What i'm wondering is, how do i make the length of each side of the base a user input,
and how do i make the height of the decagonal pyramid a user input as well.

1 Comment

Use input
Though, with the given method of generating the pyramid, the lenght of each side of the base is the same.

Sign in to comment.

 Accepted Answer

Matt J
Matt J on 22 Oct 2023
Edited: Matt J on 22 Oct 2023
sidelength=10; height=8; %User inputs
V=nsidedpoly(10,'Side',sidelength).Vertices;
V(end+1,3)=-height;
trisurf( delaunay(V(:,1:2)), V(:,1), V(:,2), V(:,3),'FaceColor','c')

3 Comments

Matthew
Matthew on 22 Oct 2023
Edited: Matthew on 22 Oct 2023
This is perfect, thank you.
I'm trying to create a user input program that creates a new shape that fits inside the decagon at the intersection of two sides. i added some code to create that angle in degrees based off the input.
sidelength = input('Enter Sidelength');
height = input('Enter Height');
V=nsidedpoly(10,'Side',sidelength).Vertices;
V(end+1,3)=-height;
trisurf( delaunay(V(:,1:2)), V(:,1), V(:,2), V(:,3),'FaceColor','c')
%% calculating angle for new shape based off sidelength and height input
x6 = (sidelength*3.078)/2
angle1 = atand(height/x6)
angle2 = 90-angle1
My question now is how do i plot a new (almost like an obtuse V) shape that would fit inside the decagon at the intersection of both these angles? the new shape doesn't need to run the length of both sides, and doesn't need to be very wide either.
I know this is alot, and i'm sorry if my question is enigmatic
There's nothing wrong with asking more questions, but please Accept-click the answer to this question and post your new one in a new thread.
ok will do, thank you.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 22 Oct 2023

Commented:

on 22 Oct 2023

Community Treasure Hunt

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

Start Hunting!