Which equation should I use to plot the surface of a 3D egg shape?

5 views (last 30 days)
I would like to know the parametric equation (in cartesian coordinates z=f(x, y)) to plot the surface of a 3D egg shape? Or do you know any matlab function that plots the surface of an egg (like ellipsoid, sphere or spherocylinder for the corresponding geometry)?

Accepted Answer

Star Strider
Star Strider on 8 Oct 2020
It depends on how the shape is defined.
For this example, the surf or mesh function works, depending on what you want:
[X,Y,Z] = sphere(15);
Z = Z(:,1).*exp(0.5*Z(:,1)) + Z;
figure
surf(X,Z,Y)
axis('equal')
.
  2 Comments
Martina Clairand
Martina Clairand on 12 Oct 2020
Great thank you!
But, why does it work? Why do we only transform the first column of Z?
can we use this new Z in the equation of a sphere: (X - a)² + (Y - b)² + (Z - c)² = r² ?
Thank you for your help!
Star Strider
Star Strider on 12 Oct 2020
As always, my pleasure!
The ‘Z’ assignment transforms all of the original ‘Z’. That line uses ‘automatic implicit expansion’ (introduced in R2016b) to add the transformed first column (since they are all the same) to the rest of ‘Z’.
You can plot essentially any shape that you can describe mathematically with this approach. I have created and plotted airplane wings using it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!