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

3 visualizzazioni (ultimi 30 giorni)
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)?

Risposta accettata

Star Strider
Star Strider il 8 Ott 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 Commenti
Martina Clairand
Martina Clairand il 12 Ott 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 il 12 Ott 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.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by