matlab-画个拱桥和倒影?

matlab可用于各行各业的应用中,现在我们就简单画一个拱桥试一试。

                                                  

r=input('请输入半径: ');
z=input('请输入弧度: ');
figure()
%r=4;
%画拱洞,用李萨如图形法
x=15;
y=0;
nseg=1000;
theta = 0 : (2 * pi / nseg) : (2 * pi);
pline_x = r * cos(theta) + x;
pline_y = r * sin(theta) + y;
plot(pline_x, pline_y);
axis([0 30 -8 8]);  %限定坐标范围
hold on;
%画水面
x1=0:0.1:30;
y1=zeros(size(x1));
plot(x1,y1)
hold on;
%画测量数据
xg=0:2:30;
yg=[4,4.2,4.6,4.8,5,5.3,6.4,6.9,6.7,6.1,5.6,5.1,4.7,4.4,4,3.6];
plot(xg,yg,'o')
hold on
%画拱桥
xxg=-100:0.1:100;
p=polyfit(xg,yg,2); % 拟合出的二次函数的系数
yyg=polyval(p,xxg); % 拟合曲线的纵坐标
xxg=xxg(yyg>=0);
yyg=yyg(yyg>=0);
%画倒影
plot(xxg,yyg)
hold on
plot(xxg,-yyg)
hold on
fill(xxg,-yyg,'b')
fill(pline_x, pline_y,'w')
%计算面积
xxg2=0:0.1:30;
yyg2=yyg(find(xxg==0):find(xxg==30));
%polyarea(xxg2,yyg) 
Aera=trapz(xxg2,yyg2)-pi/2*r^2;

disp(['面试是: ',num2str(Aera)])
%进行安全度分析
if(z>0.1)
    disp('经过安全性分析,该拱桥在应用中可能存在安全隐患。')
else
    disp('经过安全性分析,该拱桥的安全性良好,可以使用。')
end

  那么最后的结果是

将建筑物与水波图进行处理,合成建筑的水中倒影图片 

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值