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

5 vues (au cours des 30 derniers jours)
Martina Clairand
Martina Clairand le 8 Oct 2020
Commenté : Star Strider le 12 Oct 2020
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)?

Réponse acceptée

Star Strider
Star Strider le 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 commentaires
Martina Clairand
Martina Clairand le 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 le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by