我有這個方程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. MatOfPoint笛卡爾座標
- 3. VB.NET笛卡爾座標系
- 4. 笛卡爾座標到極座標
- 5. 在MATLAB中用非笛卡爾座標繪製一條線
- 6. 是否可以用ggvis繪製笛卡爾座標系?
- 7. 在Python中快速笛卡爾到極座標到笛卡爾
- 8. 如何將UTM座標轉換爲笛卡爾座標?
- 9. Maple:如何將圓柱座標轉換爲笛卡爾座標?
- 10. 如何轉換圖像座標至笛卡爾座標
- 11. 從極座標到笛卡爾座標的方差矩陣
- 12. 簡單的笛卡爾座標到極座標方法
- 13. 笛卡爾到極座標導致NaN
- 14. 在Java中的笛卡爾座標
- 15. 分數和笛卡爾座標
- 16. 笛卡爾座標系統android和ios
- 17. 笛卡爾到地理/ sperical座標
- 18. 按鈕和笛卡爾座標
- 19. 餡餅在笛卡爾座標系
- 20. 創建笛卡爾座標系c#窗體窗體繪圖
- 21. 我可以使用filled.contour繪製十進制笛卡爾座標數據嗎?
- 22. 從數據庫中的笛卡爾座標選擇極座標
- 23. opencv的Ç - 笛卡爾座標到極座標圖像變換
- 24. 將圖像從笛卡爾座標轉換爲極座標
- 25. n球座標系到笛卡爾座標系
- 26. 將笛卡爾座標轉換爲極座標 - Matlab
- 27. 極座標和笛卡爾座標計算不完全正常?
- 28. 繪製SVG渲染的遊戲地圖中的笛卡爾座標
- 29. 使用笛卡爾座標和歐拉角控制OpenSceneGraph相機
- 30. 如何將笛卡爾圖像轉換爲極座標圖像
1)告訴 '這是非常緊迫的' 在你的問題不會讓人想把他們所做的一切事情都放在一邊,幫助你解決問題。 2)這是一個'讓我爲你提供Google的問題'的問題,即谷歌搜索會以比編寫問題所用的時間更少的時間告訴你你的答案。 3)看看這個鏈接,它給出了答案:http://www.geom.uiuc.edu/docs/reference/CRC-formulas/node42.html – 2014-11-21 15:41:24