MATLAB 绘透视图

您所在的位置:网站首页 一点透视图长方体 MATLAB 绘透视图

MATLAB 绘透视图

2024-06-14 01:34| 来源: 网络整理| 查看: 265

  MATLAB画矩形的简单手工打造方法  

http://zhongcheng0519.blog.163.com/blog/static/16169068820130129515760/

在MATLAB中画矩形,当然有很简单的办法,一个rectangle函数就可以简单搞定。然而,如果想自己弄一个呢,就比较麻烦了。例如,若想在平面上画一个的矩形,其中分别为横纵坐标。最简单的办法当然就是一根线一根线的画。这样来弄毕竟比较复杂,也很容易出错。但如果利用下面的公式来画矩形,我想就比较简单了:

    

用MATLAB来实现则为

x1 = -2:0.1:2;

x2 = 2:-0.1:-2;

[X1,X2] = meshgrid(x1,x2);

Z = (max(abs(X1),abs(X2)) == 1);

figure,imshow(Z);

接下来,如果需要对矩形进行平移、拉伸等操作,就只需要在第四条语句上稍作修改即可。即,假设起始于a,结束于b;起始于c,结束于d。则第四条语句可更改为

Z = (max(abs(X1-(a+b)/2)/(b-a),abs(X2+(c+d)/2)/(b-a)) == 1);

 

这样,就可以用较为简单的方法画出矩形。

 

Matlab 三维作图 3-D Graph

http://hi.baidu.com/nature_and_man/item/93a2f5183024310ce65c36c7

.............

 

画一个可透视的椭球

figure

a = 15;b = 10;c = 5;

k = 5;n = 2^k-1;theta = pi*(-n:2:n)/n;phi = (pi/2)*(-n:2:n)'/n;X = a*cos(phi)*cos(theta);Y = b*cos(phi)*sin(theta);Z = c*sin(phi)*ones(size(theta));surf(X,Y,Z,'FaceColor','interp',...    'EdgeColor','none',...    'FaceLighting','phong')

axis tightcamlight leftalpha(.33)   % 产生透视效果

这是在7.1.上画的图:

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3