在Matlab中投射锥形螺旋线?

时间:2013-01-27 23:11:38

标签: matlab math geometry

enter image description here enter image description here

  

假设您有f(x)=x-floor(x)

     

enter image description here

     

通过这种方式,您可以通过粘贴顶部和侧面来生成凹槽   底部在一起,然后将左侧挤压到零 - 现在你   有一个圆锥形的螺旋线:线绕着圆锥旋转直到它撞到圆锥体   底部。你已经有了锥形方程的一种形式   螺旋即x=a*cos(a); y=a*sin(a); z=a。现在喜欢   here

     

如何在Matlab中投影圆锥上的圆锥螺旋?

1 个答案:

答案 0 :(得分:4)

我会在不使用plot3的情况下解决您的问题,而是使用meshgridsinc。请注意,sinc是一个内置函数的matlab,只有sin(x)./x,例如:

enter image description here

所以在1-D中,如果我理解正确,你想在sinc(x)上“投射”sqrt(x.^2)。您的问题的问题在于您提到点积的投影,但点积减少了维数,因此两个向量的点积给出了标量,并且有两个2D表面 - 一个向量,所以我不明白是什么你的意思是。从你添加的2-D情节我解释了一个问题,即用另一个“装扮”一个函数,就像另外...

以下是实施:

N=64;
[x y]=meshgrid(linspace(-3*pi,3*pi,N),linspace(-3*pi,3*pi,N));
t=sqrt(x.^2+y.^2);
f=t+2*sinc(t);

subplot(1,2,1)
mesh(x,y,f) ;      axis vis3d

subplot(1,2,2)
mesh(x,y,f)
view(0,0) ;  axis square
colormap bone

enter image description here

2中的因子sinc用于更好地显示sinc的波动。