电子信息智能控制方向的研究生。论文这块本来用实物的,结果老板突然改了方向,要求用仿真做,建模搭建一个消防水炮3D模型,能够控制俯仰角,并且能模拟发射得到水炮落点。但我寻思这一要建模,二这个水还和流体有关。根本没接触过。有没有朋友能够讲一下我们老板这个要求能不能达到,如果能,大概是用什么方法,如果无法达到要求我还是直接坚持用实物吧
2条回答 默认 最新
关注 3D模型15块钱这个工作量是劝退了,2D模型还是有很多例子的,比如这个导弹模型的,可以调整仰角,自定义修改一下计算射程,改下背景就可以:
%导弹拦截 clear %清除变量 % rand('state',0) %随机状态初始化 v2=1.1; %拦截导弹速率与来袭导弹初速度之比 %v2=1; %拦截导弹速率与来袭导弹初速度之比 %v2=0.9; %拦截导弹速率与来袭导弹初速度之比 T=linspace(0,1); %飞行时间 while 1 %做无限循环 figure %创建图形窗口 axis([0,1,-0.2,0.6]) %坐标范围 axis equal off %隐藏坐标 title('导弹拦截','FontSize',20) %标题 text(0,0.5,'导弹来袭时,按空格键发射拦截导弹.','FontSize',16)%显示操作方法 hold on %保持图像 plot([0,1],[0,0]) %画地平线 for th=[0:10:90] % th=90*rand; %0到90度之间的随机角度 th=th*pi/180; %化为弧度 xx1=0;yy1=0; %来袭导弹的初坐标 xx2=1;yy2=0; %拦截导弹的初坐标 x2=1;y2=0; %拦截导弹的终坐标的初值 c=''; %字符变量置空 dt=0; %时间间隔取0 for t=T %按来袭导弹的时间循环 x1=t*sin(2*th); %计算来袭导弹的横坐标 y1=2*sin(th)^2*(t-t^2); %计算来袭导弹纵坐标 plot([xx1,x1],[yy1,y1],'k','LineWidth',2)%画来袭导弹轨迹 s=sqrt((x2-x1)^2+(y2-y1)^2); %计算两弹之间的距离 if s<=0.02 %如果两导弹距离很小或对方导弹落地 plot(x1,y1,'*','MarkerSize',20)%画爆炸射线 disp(['发射角度为',num2str(th*180/pi),'开始拦截成功']) break %退出循环 end %结束循环 xx1=x1;yy1=y1; %保存来袭导弹的坐标 c=get(gcf,'CurrentCharacter'); %从键盘取图形窗口的当前字符 if length(c)~=0&&c==' ' %如果c中有字符且为空格 dt=T(2); %取时间间隔 end %结束条件 x2=x2-(x2-x1)/s*2*v2*sin(th)*dt;%拦截导弹的横坐标 y2=y2-(y2-y1)/s*2*v2*sin(th)*dt;%拦截导弹的纵坐标 plot([xx2,x2],[yy2,y2],'r','LineWidth',2)%画拦截导弹的轨迹 xx2=x2;yy2=y2; %保存拦截导弹的坐标 pause(0.05) %延时 end %结束循环 end c=input('继续玩?(y/n)','s'); %提示键盘输入选择 if c~='y' break,end %不是y则退出游戏 end disp('请按空格关闭全部窗口') pause() close all;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 eclipse连接sap后代码跑出来空白
- ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
- ¥15 win10权限管理,限制普通用户使用删除功能
- ¥15 minnio内存占用过大,内存没被回收(Windows环境)
- ¥65 抖音咸鱼付款链接转码支付宝
- ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
- ¥15 blast算法(相关搜索:数据库)
- ¥15 请问有人会紧聚焦相关的matlab知识嘛?
- ¥15 网络通信安全解决方案
- ¥50 yalmip+Gurobi