我有这个方程r=z*cos(theta)
,我需要在Matlab中以直角坐标绘制它。我怎样才能做到这一点?如何绘制笛卡尔坐标方程
-4
A
回答
2
首先,你的圆柱坐标的定义是错误的。鉴于围绕z
轴theta
以及气缸r
,气缸内的笛卡尔坐标的半径的方位角扫描被定义为:
x = r*cos(theta)
y = r*sin(theta)
z = z
因此,需要定义共同的网格对于r
,theta
和z
,请使用这些坐标并将它们插入上面的代码,然后绘制它们。我建议你使用plot3
作为你想在笛卡尔空间绘制3D点。另外,使用meshgrid
来定义你的网格点。
因此,当您绘制圆柱体的半径(通常)是恒定的,并且theta
和z
是您变化的数量。我们假设-2 <= z <= 2
和r = 2
。我们知道要创建一个圆柱体,我们必须从0 <= theta <= 2*pi
开始扫描一个圆圈。因此,做这样的事情:
%// Define (r,theta,z)
[theta, z] = meshgrid(0:0.001:2*pi, -2:0.001:2);
r = 2*ones(size(theta));
%// Calculate x and y. z was calculated earlier
x = r.*cos(theta);
y = r.*sin(theta);
%// Plot the points
plot3(x(:), y(:), z(:), 'b.');
grid;
view(-48,60); %// Adjust viewing angle
这就是我得到:
您当然可以使用更有效的技术,像什么Kamtal已与pol2cart
建议,但你说你想要实际的笛卡尔坐标,所以x
,y
和z
包含在3D空间中的这些坐标给你。我假设你想要这些进一步处理。
祝你好运!
1
n = linspace(-pi,pi,20);
m = linspace(0,1,20);
[theta,z] = meshgrid(n,m);
r = z .* cos(theta);
[X,Y,Z] = pol2cart(theta,r,z);
surf(X,Y,Z)
axis equal
如果将其更改为r = 1 .* cos(theta);
那么你会得到一个圆柱体,
相关问题
- 1. 笛卡尔坐标到极坐标
- 2. 在Python中快速笛卡尔到极坐标到笛卡尔
- 3. Maple:如何将圆柱坐标转换为笛卡尔坐标?
- 4. 按钮和笛卡尔坐标
- 5. 分数和笛卡尔坐标
- 6. 在Java中的笛卡尔坐标
- 7. 创建笛卡尔坐标系c#窗体窗体绘图
- 8. 我可以使用filled.contour绘制十进制笛卡尔坐标数据吗?
- 9. 从数据库中的笛卡尔坐标选择极坐标
- 10. 将笛卡尔坐标转换为极坐标 - Matlab
- 11. 极坐标和笛卡尔坐标计算不完全正常?
- 12. 如何将笛卡尔图像转换为极坐标图像
- 13. 如何将point3d数组从笛卡尔坐标转换为球面坐标系?
- 14. 如何在Matlab中将图像从笛卡尔坐标变换为极坐标?
- 15. 如何在Winforms项目中绘制笛卡尔点?
- 16. 索引转换:行大到笛卡尔坐标(例如,像素)
- 17. 笛卡尔积
- 18. 将WSG84 GPS坐标转换为x y平面上的笛卡尔坐标
- 19. 将极坐标图像转换为笛卡尔图像
- 20. 笛卡尔和屏幕坐标之间的转换
- 21. 笛卡尔到日志极坐标转换
- 22. 试图将经度/纬度转换为笛卡尔坐标
- 23. 笛卡尔坐标分析的编码基础
- 24. 极坐标 - >笛卡尔转换的快速算法
- 25. 中的R笛卡尔转换坐标重心那些
- 26. 将笛卡尔图像转换为极坐标,外观差异
- 27. 数螺旋 - 被点上螺旋(笛卡尔坐标
- 28. 复数:快速笛卡尔到极坐标转换
- 29. 计算笛卡尔坐标系中某个物体的面积
- 30. Matlab:从笛卡尔的极坐标表示中提取图像
1)告诉 '这是非常紧迫的' 在你的问题不会让人想把他们所做的一切事情都放在一边,帮助你解决问题。 2)这是一个'让我为你提供Google的问题'的问题,即谷歌搜索会以比编写问题所用的时间更少的时间告诉你你的答案。 3)看看这个链接,它给出了答案:http://www.geom.uiuc.edu/docs/reference/CRC-formulas/node42.html – 2014-11-21 15:41:24