⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 construct_bc.m

📁 hodge decomposition for 2D vector fields.
💻 M
字号:

function [B,C]=construct_BC(mv_x,mv_y,mv_u,mv_v) 
%% mv_x: horizontal coordinates of the grids 
%% mv_y: vertical coordinates of the grids 
%% mv_u: horizontal component of the input motion field 
%% mv_v: vertical component of the input motion field 
%% B: vector B 
%% C: vector C 
%% generate the Node Table 
mesh=mesh_points(mv_x,mv_y); 
%% generate the Grid Table 
triangle=triangle_definition(mv_x,mv_y);  

%% generate the Average Vector Table 
delta_x=mv_x(1,2)-mv_x(1,1); 
delta_y=mv_y(2,1)-mv_y(1,1); 
UV=triangle_uv(triangle,mesh,mv_x(1,1),mv_y(1,1),delta_x,delta_y,mv_u,mv_v); 
%% generate the Basis Gradient Table 
gradphi=phi_gradient(triangle,mesh); 
M=size(mesh,1); 
B=zeros(M,1); 
C=zeros(M,1); 
%% calculate the vectors B and C 
for i=1:M 
%% search for the neighboring triangles and neighboring nodes of a reference node i 
[neighbor_triangle neighbor_point]=get_neighbor(i,triangle); 
L=length(neighbor_triangle); 
for k=1:L 
t=neighbor_triangle(k); 
tri=triangle(t,:); 
order_in_triangle=find(tri==i); 
del_phi01=gradphi(t,order_in_triangle,1); 
del_phi02=gradphi(t,order_in_triangle,2); 
B(i)=B(i)+del_phi01*UV(t,1)+del_phi02*UV(t,2); 
C(i)=C(i)-del_phi01*UV(t,2)+del_phi02*UV(t,1); 
end; 
end; 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -