MATLAB Answers

How to 3D plot a circle with radius of 1 in x y and sine wave in z?

9 views (last 30 days)
Hwajin Choi
Hwajin Choi on 6 Apr 2021
Commented: Hwajin Choi on 6 Apr 2021
Hello,
I want to 3D plot a circle looks like the image below. (Sorry for the poor drawing) The figure is a circle of radius 1 in xy surface and the circle should have a sine wave in z-direction. It's exactly same shape with pringles chip.

Accepted Answer

Michael
Michael on 6 Apr 2021
Try this:
%Position of center of chip in 3D space
x0 = 1;
y0 = 1;
z0 = 1;
r = 1;%Radius of chip
d_theta = 2*pi/60; %Differential Angle
th = 0:d_theta:2*pi; %Angle Vector
height = 0.5; %Height of wave in the chip
% Create the x, y, and z positions
x = x0+r*cos(th);
y = y0+r*sin(th);
z = z0+height*sin(2*th);
plot3(x,y,z)
grid on
axis equal

More Answers (1)

William
William on 6 Apr 2021
How about this:
theta = linspace(0,2*pi,100);
x = sin(theta);
y = cos(theta);
z = sin(2*theta);
figure();
plot3(x,y,z);
  1 Comment
Hwajin Choi
Hwajin Choi on 6 Apr 2021
Thank you for your help, William. It's nice simple and neat code. Although I cannot accept your answer because I already accepted another one, I would like to vote yours. Thank you!

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!