我將一個橢圓繪製成矩陣圖像來構建一個shepp logan模型,它是一個橢圓體的集合,只是我想繪製一個橢圓並將其轉換爲矩陣圖像使用Matlab將橢圓繪製到矩陣圖像中
0
A
回答
4
如果您有PDE工具箱,您可以使用pdeellip。否則,你可以這樣寫:
% input ellipse parameters
theta_grid = linspace(0,2*pi);
phi = 45*180/pi;
X0=10;
Y0=20;
a=40;
b=15;
% the ellipse in x and y coordinates
ellipse_x_r = X0 + a*cos(theta_grid);
ellipse_y_r = Y0 + b*sin(theta_grid);
%Define a rotation matrix
R = [ cos(phi) sin(phi); -sin(phi) cos(phi) ];
%let's rotate the ellipse to some angle phii
r_ellipse = R * [ellipse_x_r;ellipse_y_r];
plot(r_ellipse(1,:),r_ellipse(2,:),'-x')
這裏的另一個選項,而不是xy座標, 「郵票」 的橢圓形到一個數組:
a=20;
b=9;
phi=45;
[x y] = meshgrid(-50:50,-50:50);
el=((x-X0)/a).^2+((y-Y0)/b).^2<=1;
imagesc(imrotate(el,phi)); colormap(bone)
1
嘿,我認爲解決方案存在問題。 由於旋轉以中心爲0定義,導致一些較爲奇怪的結果(如果您看一下它,繪製的橢圓的中心不是(10,20)),旋轉正在應用。
我認爲正確的答案應該是:
theta_grid = linspace(0,2*pi);
phi = 45*180/pi;
X0=10;
Y0=20;
a=40;
b=15;
% the ellipse in x and y coordinates centered at 0
ellipse_x_r = a*cos(theta_grid);
ellipse_y_r = b*sin(theta_grid);
% Define a rotation matrix
R = [ cos(phi) sin(phi); -sin(phi) cos(phi) ];
n = length(ellipse_x_r);
% let's rotate the ellipse to some angle phii and then translate it to (X0, Y0)
r_ellipse = R * [ellipse_x_r; ellipse_y_r] + repmat([X0; Y0], [1, n]);
plot(r_ellipse(1,:),r_ellipse(2,:),'-x')
感謝您的解決方案,雖然我無法找到如何做到這一點的任何地方,這是最有幫助的帖子,我發現。
乾杯!
Pablo
編輯:heh,SO的代碼格式化程序存在一個錯誤。 '評論裏面的內容不是字符串=)
相關問題
- 1. 在矩陣形式給出的MATLAB中繪製一個橢圓
- 2. 繪製矩形和橢圓
- 3. 繪製橢圓陣列
- 4. 從矩形中繪製橢圓
- 5. 將橢圓繪製到C中的矩形中
- 6. 繪製橢圓
- 7. Flex:在圖像上繪製橢圓?
- 8. 在Matlab中繪製矩陣
- 9. 橢圓繪圖
- 10. 繪製橢圓拋物面在MATLAB
- 11. 繪圖橢球使用MATLAB
- 12. 橢圓旋轉矩陣?
- 13. MATLAB ::在MATLAB上的圖像(矩陣)上繪製數字
- 14. 擬合橢圓到邏輯矩陣
- 15. 在R中繪製橢圓
- 16. 在GEF eclipse編輯器中繪製橢圓和圓角矩形
- 17. 在圖像中繪製矩形 - Matlab
- 18. 使用Leafletjs繪製圖庫繪製橢圓
- 19. 圖形繪製混淆矩陣在MATLAB
- 20. MATLAB-如何繪製散點圖矩陣
- 21. 如何使用matlab繪製有限域上的橢圓曲線
- 22. 三維矩陣Matlab繪圖
- 23. 在畫布上繪製像素橢圓
- 24. 用橢圓繪製圓形pygame
- 25. 如何繪製matlab中使用n * 2矩陣的2維圖?
- 26. 使用matplotlib.pyplot繪製橢圓(Python)
- 27. 使用HTML/Javascript繪製橢圓
- 28. 如何用rgb圖像繪製矩陣?
- 29. 核心圖形,如何繪製橢圓透明孔的矩形?
- 30. 在圖像矩陣上創建橢圓掩模