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

4 次查看(过去 30 天)
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)?

采纳的回答

Star Strider
Star Strider 2020-10-8
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 个评论
Martina Clairand
Martina Clairand 2020-10-12
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 2020-10-12
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by