surface plot from 3d points

skr3178

New member
Joined
Dec 28, 2020
Messages
3
Hello,
I am trying to plot a 3d surface from a collection of points that I have(X, Y, Z).
I have tried a couple of ways:
Use surface preparation code from matlab curve fitting toolbox. However, the plot does not capture the curvature too well. The point are most suited to an axisymmetric cup. My goal is to extract the equation of the axisymmetric surface curve. I woulld glad if someone could provide some suggestions. Thanks in advance.

This is how i expect the surface to look like.

1609179357007.png
 
If your points are scattered all over the surface I think I would rotate them all about the center so they all lie on a common 1D cross section.
Then your curve fitting scheme has much more data to work with and should produce a better curve.

Then generate your surface using this curve and rotational symmetry.
 
what exactly do you mean by 'curvature'? k curvature??

I hope I'm not complicating things ssince I may be way off your intention so I apologize in advance if I don't understand your question.

but if you only need the curve from the center to the edge (red), just fit only those the points along the center to the edge with a 2D polynomial and ignore all the other points while dropping one dimension. https://arachnoid.com/polysolve/

1609901843882.png

what you are showing is a just a cubic or quartic polynomial revolved surface. Any 3d cad app can give you a really good picture. In fact that is how apps like Solidworks and AutoCAD do revolved surafces. They just rotate a polynomial in 360 degrees. Matlab must do the same. The reason why it doesn't look smooth is because opengl/directx or whatever renderer they use, is not using a per fragment shading algorithm like Phong or Blinn Phong. I't's probably using Gouraud pervertex shader which looks bad.

If you post a text file of your points I can show you how to do it
 
Last edited:
Top