MatLab - 在图像中绘制椭圆

时间:2017-01-01 21:54:26

标签: matlab canvas ellipse

我想在给定椭圆中心坐标的白色画布上画一个椭圆(黑色填充)。

对于矩形,我是这样做的(需要填充矩形)但是对于椭圆来说似乎更难。

width = 300;
objectWidth = 60; 
    canvas = ones(width, width);
    figure, imshow (canvas);
    square = rectangle('Position', [60-objectWidth/2, 40-objectWidth/2,  objectWidth, objectWidth], ...
'EdgeColor', [0.5 0.5 0.2]);

对于我开始使用的椭圆:

   a = 1/2*sqrt((x2-x1)^2+(y2-y1)^2);
   b = a*sqrt(1-e^2);
   t = linspace(0,2*pi);
   X = a*cos(t);
   Y = b*sin(t);
   w = atan2(y2-y1,x2-x1);
   x = (x1+x2)/2 + X*cos(w) - Y*sin(w);
   y = (y1+y2)/2 + X*sin(w) + Y*cos(w):
   plot(x,y,'y-')
   axis equal

任何提示都会很棒。顺便说一句。新年快乐!

0 个答案:

没有答案