# How to create a 3D non convex surface (helical ribbon) with a set of points?

7 views (last 30 days)
Nav R on 20 May 2020
Commented: darova on 20 May 2020
I have a set of points which define a helical ribbon. I want to know how to create a helical surface from these set of points. I can't use Delaunay Triangulation as it connects all the points and produces a cylinder which I do not want (I need a helical ribbon). Since, it is a non convex shape, I cannot use convex hull funtion either.
Here is an example of a helical ribbon:

darova on 20 May 2020
Use surf
t = linspace(0,5*2*pi,100);
T = [t;t];
Z = [t;t+3]/5;
[X,Y] = pol2cart(T,T*0+3);
surf(X,Y,Z,'edgecolor','none')
light
axis vis3d equal

Nav R on 20 May 2020
Thanks a lot! Can't believe it's this easy.
Can I also know how to create a 3 D helix which has thickness as well?
darova on 20 May 2020
Yes, use these equations of torus: LINK
Use meshgrid to create matrices for θ and φ

### More Answers (1)

Sean de Wolski on 20 May 2020
You could consider alphaShape. I'm not sure how it will handle the ribbon aspects though.

#### 1 Comment

Nav R on 20 May 2020
I have tried using alphaShape already, but I'm not sure whether I used it right. I've adjusted the alpha radius to get this figure. It connect alternate points and creates a 'wider' helix which I don't want. It should have connected the nearby points to create a 'thinner' helix. I hope you understood.