MATLAB Answers

How can I interpolate a screw surface?

1 view (last 30 days)
Aurea94 on 21 Oct 2020
Commented: Aurea94 on 21 Oct 2020
I created a screw surface, as shown in the figure and I would like to interpolate this surface and evaluate it in a finer mesh.
I tried with griddata or interp2, but non of them work for me.
I would greatly thank any advice or help that you could provide me in order to achive my objective.
I can also pass you if required the X,Y,Z values of the screw surface which I want to interpolate.


Sign in to comment.

Answers (1)

John D'Errico
John D'Errico on 21 Oct 2020
Edited: John D'Errico on 21 Oct 2020
Is this a single valued function of x and y? Or x and z, y and z? No.
Is this a function over some contiguous convex region in some plane, thus of any two of those variables?
None of the above. So you cannot interpolate it using interp2. You cannot interpolate using griddata. You cannot use scatteredInterpolant.
However, you would have created it is using a parametric form, probably as a function of r and theta. You would create z as a function of r and theta, then compute x and y coordintes the same way. If you want to interpolate it, then you need to interpolate as a function of THOSE variables.


Aurea94 on 21 Oct 2020
Thanks John. You're right. This surface is created from "u" linear parameter and "delta" angle and then a number of coordinate system changes are applied.
So, what I understood from your answer is that I should create a meshgrid with those parameters (u,delta) and interpolate that surface and afterwards apply the coordinate system changes??
John D'Errico
John D'Errico on 21 Oct 2020
Yes. interpolate it in a domain where it is appropriate to use interpolation. Only then do you convert it to cartesian coordinates..
Aurea94 on 21 Oct 2020
Hi John,
I coded a simple example of what I am trying to do, but cannot figure out where should I interpolate the surface. I attach the simple example so that you can understand me better.
I have a curve which after a series of matrix transformations generates a surface. I would like to interpolate this surface, so that I can evaluate in another meshgrid defined with the initial (u,delta) parameters.
Where or how should I interpolate that surface?
Thanks very much for your help!

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!

Translated by