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

2 次查看(过去 30 天)
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
darova 2020-5-20
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
  2 个评论
Nav R
Nav R 2020-5-20
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?

请先登录,再进行评论。

更多回答(1 个)

Sean de Wolski
Sean de Wolski 2020-5-20
You could consider alphaShape. I'm not sure how it will handle the ribbon aspects though.
  1 个评论
Nav R
Nav R 2020-5-20
编辑:Nav R 2020-5-20
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Discrete Data Plots 的更多信息

标签

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by