تو شبیه‌سازی شبکه‌های بی‌سیم ساخت اشیای سه بعدی و توزیع سه بعدی اهمیت زیادی داره، در فضای سه بعدی امکان شبیه‌سازی عملی و واقعی‌تر سیگنال و افت مسیر و چند مسیری و.  فراهم می‌شه،  در زیر کد ایجاد یک تایر به شکل سه بعدی در متلب آورده شده ، با کپی و پیست این کد در داخل یک اسکریپت متلب می‌توانید خروجی  زیر را مشادهده کنید.

 

%% clear commands
function xx
delete(allchild(0));close all;
clear;
clc;

%% path commands
file=matlab.desktop.editor.getActive;
try 
fileDetail=dir(file.Filename);
folderName=fileDetail.folder;
catch
   index=strfind( file.Filename,'\');
   folderName=file.Filename(1:index(end)-1);
end
paths=genpath(folderName);
addpath(paths);
cd(folderName);

 
side=10;
t=linspace(0,2*pi ,side+1);
t(6)=NaN;
side1=50;
t1=linspace(0, 2*pi ,side1+1);

  
 

 
% ph=0;
% x=r' *cos(t+ph);
% z=(0:side)' * ones(1,side+1);
% y=r' *sin(t+ph) ;


ph=0;
x= cos(t+ph) /5 ;
y=  0*(0:side)';  
z= sin(t+ph) /5  ;



% plot3(x,y,z);hold on

 
% path=(t1+ph).^2;path=path/max(path)

 path.x=[0,1,1,1,2,2,2,1,1,0];
 path.y=0:length(path.x)-1;
 
 path.x=  cos (t1+ph)*5 ;  
path.y= sin(t1+ph) *5  ;

 
    [path.x,path.y]=divider(path.x,path.y,2);
    [t1,t1]=divider(t1,t1,2);

%       plot(path.x ,path.y  , 'r');hold on
% xlabel( 'X'); ylabel( 'Y'); zlabel( 'Z')
 
     matrixObj.x= cos(t )  ;
    matrixObj.y=  0*(0:side)';
    matrixObj.z= sin(t  )   ;
    
for in=1:length(path.x)-1
    
    
    
    [ x, y, z]=rotateParameter(matrixObj,[0,0,1],rad2deg(t1(in)));
    
%      path.x=  cos (t + ph(in)) ;  
%      path.y=sin (t+ ph(in) )  ;
% 
     
%        plot3(x+path.x(in),y+path.y(in),z,'b-');hold on
       surf([x+path.x(in);x+path.x(in+1) ],[y+path.y(in);y+path.y(in+1) ],[z;z],'facecolor','k');hold on; alpha(0.2)
%       plot3(x ,y ,z,'b');hold on

    
   axis('equal') 
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




 

 


مشخصات

تبلیغات

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

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

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

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

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

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

طراحی سایت، سئو، تبلیغات در گوگل گراف تور اموزش سیستم های اطلاعاتی و نرم افزارهای مالی و حسابداری بیماری های گوارش music2day وبلاگ روستای طاقچه داش سامانه پایگاه مقاومت بسیج شهید نوع دوست شهر ایده آل دریچه ای رو به تمدن و شهر نشینی inventions ، essay