How can I plot a 3D displacement field from scattered data?

I am studying the deformation/distortion of a welded plate and I have a txt file with the displacement and coordinates of several points,
The data is obtained through an optical system and identifys points introduced in the plate.. I take two measurements one before welding as a reference and another after welding and the software stores coordinates and displacement of the several points detected in the plate in a txt file.
I wanted to do something similar to the attached file. I haven't started yet but I leave this question for some advice to know where to start.
Sincerely
Daniel Sousa

 Accepted Answer

It looks like a surf plot. However you probably need scatteredInterpolant or its friends if you only have a few scattered values rather than a grid, or one of the gridded interpolation functions if your data are regularly-spaced on a grid to get the detailed surfaces in the attachment.

6 Comments

Thank you for the reply. I haven't started yet but I think both functions will help a lot.
:D
I have managed to plot surfaces around my scattered data. But I still have some issues.
Hello,
The method of the distortion measurements is not ideal so the information I have is rotated in relation to all planes as you can see in the attached image. I wanted to put all the scattered data alligned in the X-Y plane.
I know that this sort of question have been asked and I have discovered the fucntion PCA but I still don't know how to use it in terms of Inputs and Outputs. Is there a easier way to do it?
Another thing the surf plot creates an extra surface on a place with no scattered data (Vertical lines in the red surface in the attached file). Is there a way to delete this part? See attached file.
Best regards,
Daniel
I’m not certain what you’re doing. I thought you had scattered data that you wanted to interpolate and create a fit to a gridded surface. If you want to use scatteredInterpolant to extrapolate your data to a specific grid beyond the data you have, choose an interpolation method (perhaps 'linear') and use the 'extrap' option.
I don’t know what you would be using PCA for.
Maybe I was not clear..
the plot I have there that is what I want and thank you for that. But the data I have is not ideal because of the set up method..
What I want now is to rotate the plot or 'drag' the plot to the Plane XY.. As you can see the surfaces I have are in the space in obliquous position all I want is the surfaces to be horizontal or paralel to plane xy. (I.e. Blue plane co-planar or paralel to plane XY)
Best regards
Daniel
I’m still sort of lost.
One possibility (if I’m understanding you correctly — no promises there) is to use the rotate function.

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!