在matlab中绘制了一个椭圆,如何旋转一定角度

(不是沿x轴旋转),旋转后保证它的中心不变。

z=ezplot('0.5*(x-1).^2+0.6*(y-2).^2=1');
grid on
rotate(z,[0 0 1],30,[1 2 0])
这里的[0 0 1]代表椭圆旋转轴的方向向量
你所要求的保证中心不变,只要保证[1 2 0](旋转点)为椭圆中心就行
30为旋转角度追问

我画的椭圆中都是用的plot(x,y),如果用rotate的话,z应该换成什么。。

追答

用什么都是z=plot(x,y);在三维中还可以用h=surf(x,y,z,g); h和z都是图柄

追问

能帮我看下我这个程序吗?
clear;
theta=0:pi/100:2*pi;
x0=[0 0 0.22];
y0=[0 -0.0184 0];
a=[0.92 0.874 0.31];
b=[0.69 0.6624 0.11];
rot=[90 90 0];
for i=1:1:3
x=a(i)*cos(theta)+x0(i);
y=b(i)*sin(theta)+y0(i);
z=plot(x,y);
rotate(z,[0 0 1],rot(i),[x0(i) y0(i)] 0];
hold on
end
想实现一幅图上画三个椭圆,x0,y0,a,b,rot都用的数组,rot是旋转的角度
结果是 ans=1...

追答

clear;
theta=0:pi/100:2*pi;
x0=[0 0 0.22];
y0=[0 -0.0184 0];
a=[0.92 0.874 0.31];
b=[0.69 0.6624 0.11];
rot=[90 90 0];
for i=1:1:3
x=a(i)*cos(theta)+x0(i);
y=b(i)*sin(theta)+y0(i);
z=plot(x,y);
rotate(z,[0 0 1],rot(i),[x0(i) y0(i) 0]);
hold on
end
是这样吗?

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-18
clear
theta=linspace(0,2*pi,300);
alpha=30; %旋转角度
x0=1;
y0=2;
a=4;
b=3;
x=a*cos(theta);
y=b*sin(theta);
plot(x0+x,y0+y);
hold on
axis equal;
A=[cosd(alpha),sind(alpha);-sind(alpha),cosd(alpha)];
xynew=A*[x;y];
x1=xynew(1,:);
y1=xynew(2,:);
plot(x0+x1,y0+y1,'r');
legend('原始','旋转');
plot(x0,y0,'*')追问

你好,很感谢你给的答案,我运行了一下,结果是:fx>> ans=11,后半段A=[]开始意思就是不是x1=x*cos(alpha)+y*sin(alpha);
y1=-x*sin(alpha)+y*cos(alpha);
plot(x0+x1,y0+y1,'r');
最后一行是什么意思

第2个回答  2020-12-18

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

在matlab中绘制了一个椭圆,如何旋转一定角度
你所要求的保证中心不变,只要保证[1 2 0](旋转点)为椭圆中心就行 30为旋转角度

matlab中怎样将图形旋转一定角度
利用转轴坐标变换公式,将椭圆变成斜椭圆。其变换式 实现过程如下:t=linspace(0,2*pi,1000);X=6*cos(t);Y=2*sin(t);x=X*cos(pi\/4)-Y*sin(pi\/4);y=X*sin(pi\/4)+Y*cos(pi\/4);plot(X,Y,x,y),grid on xlabel('x'),ylabel('y');legend('正椭圆','斜椭圆')运行结果 ...

使用matlab的rectangle画一个椭圆 怎么能旋转一个角度 附上代码_百 ...
hg = hgtransform;rectangle('Position',[-5,-2.5,10,5],'Curvature', [1 1],'parent',hg)axis equal;grid on;hg.Matrix = makehgtform('zrotate',pi\/4);

matlab中图怎么旋转
1]代表椭圆旋转轴的方向向量,[1 2 0](旋转点)为椭圆中心30为旋转角度这个事例应该可以帮助你~~~

如何用MATLAB实现斜椭圆长半轴,短半轴和旋转角的求解
如何用MATLAB实现斜椭圆长半轴,短半轴和旋转角的求解 : 1,用EL命令把椭圆做出来 2,用RO命令把椭圆旋转到你要的角度

用matlab 画一个椭圆,如何保存椭圆周上的点的坐标,谢谢
求椭圆步骤:1、求a,b: a=len\/2 b=sqr((x1-x2)^2+(y1-y2)^2)2、求旋转角α :求出(y1-y2)\/(x1-x2)的反正切值即为α 3、求椭圆中心坐标(x0,y0): x0=(x1+x2)\/2 y0=(y1+y2)\/2 3、计算椭圆上点的坐标(x,y):x=acosθ , y=bsinθ ( 0<=θ< 2*...

在matlab中绘制椭圆和椭球
在MATLAB中绘制椭圆和椭球,利用ezplot函数可以轻松实现这一目标。例如,要绘制一个标准的椭圆,只需要输入相应的参数,ezplot函数便能生成所需的图形。对于椭球的绘制,可以使用meshgrid函数生成对应格点,接着通过矩阵乘法实现坐标变换。选择一个特定矩阵作为变换矩阵,将球面上的格点位置旋转拉伸到椭球面上,...

利用matlab如何绘制出椭圆绕x轴旋转一周后所围成的图形?
关注 展开全部 如图所示: 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 其他类似问题2016-05-15 用Matlab编程。将椭圆绕x轴旋转,求所围成曲面的体积,... 3 2013-08-21 matlab将一条曲线的绕x轴旋转几何体图画出来 12 2011-03-21 在matlab中绘制了一个椭圆,如何旋转一定角度 15 2016-12-03...

matlab画椭圆?
1、现成的函数PlotEllipse(0,0,W,L,K),K是弧度。0,0表示中心点在原点,如果不在原点,输入相应的坐标就行了。2、另外一种是按照椭圆的极坐标方程,编程画点来画出来,就不说了。

...拍的一个圆形。。现在是椭圆了。用matlab把它旋转45度相当于正视看到...
如果考虑近大远小的话,其实图像不是椭圆,还要设计相机的焦距,拍摄距离,想当复杂 如果认为相机拍摄距离足够远,远大于焦距,那么得到的图像近似于椭圆,只要将扁的方向拉伸,或者长的方向压缩就好了 用imresize函数就好 但是这样图像还是会有是真的 ...

相似回答