Matlab 版 (精华区)

发信人: zjliu (秋天的萝卜), 信区: Matlab
标  题: 绘制旋转的矩形
发信站: BBS 哈工大紫丁香站 (Sun May 30 10:33:00 2004)

根据你的要求我写了下面这个函数,欢迎测试

function rectangle_zjliu(x0,y0,w,h,alpha0,color)
% 用rectangle()函数可以画长方形,若要画一个与x轴有一
% 定夹角的长方形该怎么画
%      _________________________________  _____
%     |                                |   / \
%     |                                |    |
%     |                                |    |
%     |                                |    h
%     |                                |    |
%     |                                |    |
%     |________________________________| __\ /__
%   (x0,y0)
%     |<-------- w ------------------->|    
% Units of alpha0 is the radian
% copyright: zjliu
if nargin==5;
    color='b';
end
if nargin==4;
    alpha0=0;
end
if nargin<4;
    error('??? x0,y0,w,h have Undefined');
end
X=[x0 x0+w x0+w x0 x0];
Y=[y0 y0 y0+h y0+h y0];
Dataxy=[X;Y];
R=[cos(alpha0),-sin(alpha0);sin(alpha0),cos(alpha0)];
R_d=R*Dataxy;
figure;
hc=line(R_d(1,:),R_d(2,:));
set(hc,'color',color)
set(gca,'xlim',[min(R_d(1,:))-w max(R_d(1,:))+w],...
        'ylim',[min(R_d(2,:))-h max(R_d(2,:))]);
axis equal

【 在 szkonline (google888) 的大作中提到: 】
: 用rectangle()函数可以画长方形,若要画一个与x轴有一定夹角的长方形该怎么画..
: 教了



--
╔═══════════════════╗
║★★★★★友谊第一  比赛第二★★★★★║
╚═══════════════════╝


※ 修改:·zjliu 于 May 30 15:46:46 修改本文·[FROM: 202.118.229.*]
※ 来源:·哈工大紫丁香 http://bbs.hit.edu.cn·[FROM: 202.118.229.*]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.893毫秒