求MATLAB高手!!!

如题所述

这是一道数学问题啊,这类旋转问题无非就是把相应定点到原点(旋转中心)的距离确定出来,按照圆,根据题意的角度去旋转。你的这个三角形是正三角形也就是等边三角形,很显然每个定点到原点的距离是1(Ao可确定),由此可将三角形问题转化为圆问题,圆的半径为1,可设定以角度为参数的圆的参数式x=cost,y=sint.则,相应的A0、B0、C0对应的角度为t=90°、210°、-30°。旋转n次,即相应的加减即可,之后再将每次旋转后的三个点连线即可。代码如下:
t=[pi/2,7*pi/6,-pi/6];
n=4;%旋转次数。
t0=pi/6;%旋转角度。
ABCnew=[];%每个运行之后的角度参数。
for i=1:1:n
ABCnew=[ABCnew;t-i*t0];
end
ABCnx=cos(ABCnew);ABCny=sin(ABCnew);
ABCnx=[ABCnx,ABCnx(:,1)];ABCny=[ABCny,ABCny(:,1)];%保证三角形闭合。
plot(ABCnx',ABCny');
温馨提示:答案为网友推荐,仅供参考
相似回答