如何搭建一个消防水炮运行的平台呢?

电子信息智能控制方向的研究生。论文这块本来用实物的,结果老板突然改了方向,要求用仿真做,建模搭建一个消防水炮3D模型,能够控制俯仰角,并且能模拟发射得到水炮落点。但我寻思这一要建模,二这个水还和流体有关。根本没接触过。有没有朋友能够讲一下我们老板这个要求能不能达到,如果能,大概是用什么方法,如果无法达到要求我还是直接坚持用实物吧

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;

img