How to plot rectangular footprint around existing random data?
    1 visualización (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Larissa Perez
 el 4 de Dic. de 2018
  
    
    
    
    
    Comentada: KSSV
      
      
 el 7 de Dic. de 2018
            This is the code which will generate random storm track length. Now, I have to plot just  rectangtular footprint area around each storm track length. Here, storm track length will be the central width of the rectangle. The image below illustrates what I'd like to do. 
Many thanks!! 
N = 50; % Number of events
X = 50; Y = 50;
P1x = rand(N,1) * X; P1y = rand(N,1) * Y ; % initial point
L = lognrnd(2,0.7,[N,1]); % Sample track length 
Theta = mod(normrnd(90,15,[N,1]),360); % Storm track bearing direction
dx = L.*cos(deg2rad(Theta - 90)); dy = L.*sin(deg2rad(Theta - 270));
P2x = P1x + dx; P2y = P1y + dy; % Final point
plot([0 X X 0 0],[0 0 Y Y 0]); hold on
plot(P1x,P1y,'ro'); plot([P1x P2x]',[P1y P2y]','-')
xlabel('X [km]'); ylabel('Y [km]');
xlim([-X/4 1.25*X]); ylim([-Y/4 1.25*Y])

0 comentarios
Respuesta aceptada
  KSSV
      
      
 el 4 de Dic. de 2018
        N = 50; % Number of events
X = 50; Y = 50;
P1x = rand(N,1) * X; P1y = rand(N,1) * Y ; % initial point
L = lognrnd(2,0.7,[N,1]); % Sample track length
Theta = mod(normrnd(90,15,[N,1]),360); % Storm track bearing direction
dx = L.*cos(deg2rad(Theta - 90)); dy = L.*sin(deg2rad(Theta - 270));
P2x = P1x + dx; P2y = P1y + dy; % Final point
plot([0 X X 0 0],[0 0 Y Y 0]); hold on
plot(P1x,P1y,'ro');
plot([P1x P2x]',[P1y P2y]','-')
xlabel('X [km]'); ylabel('Y [km]');
xlim([-X/4 1.25*X]); ylim([-Y/4 1.25*Y])
%% Draw rectangles
Vx = [P1x P2x]' ;
Vy = [P1y P2y]' ;
t = 1./2 ;
% Loop to get normals
for i = 1:size(Vx,2)
    N=LineNormals2D([Vx(:,i) Vy(:,i)]') ;
    C = [[Vx(:,i) Vy(:,i)]+t*N ;
        [Vx(:,i) Vy(:,i)]-t*N] ;
    idx = boundary(C(:,1),C(:,2)) ;
    plot(C(idx,1),C(idx,2),'b')
end
2 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Multirate Signal Processing en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

