Matlab で一連の楕円をプロットしようとしています。基本的に、私は顕微鏡写真を持っており、それを ImageJ で処理して、各楕円の一連のデータ (面積、中心、長軸、短軸) を取得します。これらの楕円をmatlabで再プロットして、グラデーションカラーを追加して画像をマッピングし、楕円からファイバーがどの方向にあるかを判断しようとしています。これは私のコードです
clearvars -except data colheaders %Clear everything but the original data
data(:,9)=data(:,9)*pi/180; %Transform my 9th colomn (rotation angle) in rad
data(:,6)=1196-data(:,6); %Recalibrate the y axis (different coordinate system)
for i=1:29 %29 ellipses to plot
theta = 0 : 0.01 : 2*pi;
x = data(i,7)/2 * cos(theta) * cos(data(i,9)) - data(i,8)/2 * sin(theta) * sin(data(i,9)) + data(i,5);
y = data(i,7)/2 * sin(theta) * cos(data(i,9)) + data(i,8)/2 * cos(theta) * sin(data(i,9)) + data(i,6);
plot(x, y, 'LineWidth', 1);
hold on
end
% Columns (5,6) are the centre (x,y) of the ellipse
% Columns (7,8) are the major and minor axes (a,b)
% Column 9 is the rotation angle with the x axis
axis equal; % Keep axis same size as sample picture
xlim([0 1592]);
ylim([0 1196]);
grid on;
プライベートで写真を送ることはできますが、アップロードは許可されていないようです。しかし、楕円ではなく適切な場所に円が表示されます。私の方程式は正しいですか?最高のドリアン