%%%%%%%%%%%%%%%%%%%%%%%%%%-----------simulation area-----------%%%%%%%%%%%%%%%%%%%%%%
% devloped in Iran(ardebil)                                 %
% Copyright (C) 2017(1396) by moussa hasanzadeh.           %
%All rights reserved.                                      %
%programed in mathlab 2016                                %
%gmail:mo30no@gmail.com
%phone: 09147082079


function vlia1
        clc
        clear;
        delete(allchild(0));
        sideN=4;
        t1=linspace(0,1,sideN+1);%vector between 0 and 1
        X=-sin(2*pi*t1+(pi/sideN));%node X coordinates with phaze shift
        Y=-cos(2*pi*t1+(pi/sideN));%node Y coordinates with phaze shift
        X=((((X-min(X))/(max(X)- min(X)))*2)-1)./5;%normalize  and schale X
        Y=((((Y-min(Y))/(max(Y)- min(Y)))*2)-1)./5;%normalize and schale Y
        Z= (1:length(Y))*0 ;

        for x=0:20:40
            for y=0:20:40
                for z=1:15
                    plot3(X+x,Y+y,Z+z,'k');hold on
                    plot3([X+x;X+x],[Y+y;Y+y],[Z+z*0;Z+z],'k');hold on
                end
            end
        end



        xVec=[0,20,40,40,20,0,0];
        yVec=[0,0,0,40,40,40,0];
        zVec1=yVec*0;
        zVec1([2,5])=zVec1([2,5])+3;
        [xVec,yVec]=dividerE(xVec,yVec,10);

        zVec=yVec*0;
        [~,zVec1]=dividerE(xVec,zVec1,10);



        hj1=fill3([xVec],[yVec],[zVec+5],'w');alpha(hj1 ,1)
        hj1=fill3([xVec],[yVec],[zVec+5+0.2],'k');alpha(hj1 ,0.2)

        hj3=fill3([xVec;xVec],[yVec;yVec],[zVec+5;zVec+5+0.2],'k');alpha(hj3 ,0.7)

        hj2=fill3([xVec],[yVec],[zVec+10],'w');alpha(hj2 ,1)
        hj2=fill3([xVec],[yVec],[zVec+10+0.2],'k');alpha(hj2 ,0.2)

        hj3=fill3([xVec;xVec],[yVec;yVec],[zVec+10;zVec+10+0.2],'k');alpha(hj3 ,0.7)

        hj3=fill3([xVec],[yVec],[zVec+15],'k');alpha(hj3 ,0.2)
        hj3=fill3([xVec;xVec],[yVec;yVec],[zVec+15;zVec+15+0.2],'k');alpha(hj3 ,0.7)

        xVecPentHous=[0,20,40,20,0];
        yVecPentHous=[0,0,0,0,0] ;
        zVecPentHous=[15,15,15,18,15];
        for mm=1:39
            % fill3(xVecPentHous,yVecPentHous+mm,zVecPentHous,'k--')
            km=fill3(xVecPentHous,yVecPentHous+mm,zVecPentHous,'g-');hold on
            alpha(km,0.2)
        end

        fill3([xVec],[yVec],[zVec+15],'r')



        zVec1=zVec1+15;

        fill3([xVec],[yVec],[zVec1],'r-','edgecolor','k')
        fill3([xVec],[yVec],[zVec1-0.2],'r-','edgecolor','k')

        hj1=fill3([xVec*2]-20,[yVec*2]-20,[zVec],'g');alpha(hj1 ,1)
        yardVect=[13:length(xVec),1:10]

        hj1=fill3([[xVec(yardVect)*2]-20;[xVec(yardVect)*2]-20],[[yVec(yardVect)*2]-20;[yVec(yardVect)*2]-20],[zVec(yardVect);zVec(yardVect)+2],'r');




        for difIndex=1:10
            zVec=zVec+0.2;
            hj1=plot3([xVec(yardVect)*2]-20,[yVec(yardVect)*2]-20,[zVec(yardVect)],'ks-','lineWidth',1);alpha(hj1 ,1);hold on

        end
        zVec(11:12)=zVec(11:12)+1;
        xVec(11)= xVec(10);
        xVec(12)= xVec(13);
       
        hj1=plot3([xVec*2]-20,[yVec*2]-20,[zVec],'k-','lineWidth',2);alpha(hj1 ,1);hold on
         zVec([10,13])=0;
        
         door=[10,11,12,13,10]
         matrixObj.x=[xVec(door)*2]-20;
         matrixObj.y=[yVec(door)*2]-20;
         matrixObj.z=[zVec(door)];
         [ newx, newy, newz]=rotateParameter(matrixObj,[0,0,1],90);
         
         hj1=fill3(newx-sqrt((xVec(10)-xVec(13)).^2)*1.3, newy-32, newz ,'w','lineWidth',2);alpha(hj1 ,1);hold on

        

        end


        function   [X,Y]=dividerE(X,Y,n)

        T1=0;
        T2=0;

        for i=1:length(X)-1
            temp1=0;
            temp1=linspace(X(i),X(i+1),n+2)  ;

            T1=[T1,temp1(1:end-1)];
        end
        T1=[T1,temp1(end)];
        X=T1(2:end);


        for i=1:length(Y)-1
            temp2=0;
            temp2=linspace(Y(i),Y(i+1),n+2)  ;

            T2=[T2,temp2(1:end-1)];
        end
        T2=[T2,temp2(end)];
        Y=T2(2:end);

        end






            function [ newx, newy, newz]=rotateParameter(matrixObj,azel,alpha)

            u = azel(:)/norm(azel);
            alph = alpha*pi/180;
            cosa = cos(alph);
            sina = sin(alph);
            vera = 1 - cosa;
            x = u(1);
            y = u(2);
            z = u(3);
            rot = [cosa+x^2*vera x*y*vera-z*sina x*z*vera+y*sina; .
                x*y*vera+z*sina cosa+y^2*vera y*z*vera-x*sina; .
                x*z*vera-y*sina y*z*vera+x*sina cosa+z^2*vera]';

            x = matrixObj.x;
            y = matrixObj.y;
            z = matrixObj.z;

            [m,n] = size(z);
            if numel(x) < m*n
                [x,y] = meshgrid(x,y);
            end

            [m,n] = size(x);
            newxyz = [x(:) , y(:) , z(:) ];
            newxyz = newxyz*rot;
            newx =   reshape(newxyz(:,1),m,n);
            newy =  reshape(newxyz(:,2),m,n);
            newz =  reshape(newxyz(:,3),m,n);

            end



این هم یک تصویر از نتیجه کار:

 

 

 


مشخصات

تبلیغات

محل تبلیغات شما

آخرین مطالب این وبلاگ

محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

برترین جستجو ها

آخرین جستجو ها

هیئت متوسلین دستگاه تصفیه آب خانگی سی سی کا پلاس در شیراز Susan پروژه های انجام گرفته توسط M.Babaie اطلاعات جامع و تخصصی موبایل های هوشمند ضرورت هوشمند سازی و معرفی تجهیزات خانه هوشمند Amanda آموزش مدیران اختشاش گران98 پایگاه اطلاع رسانی شهرداری هشت بندی