• 大小: 1.89KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


本程序实现水平集曲线在曲率和常数速度下的演化过程

资源截图

代码片段和文件信息

%本程序实现曲线在曲率和常数速度下的演化过程
clear;clc
nx=100;ny=100;iter=1000;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初始化为圆
% ic=floor(nx/2);jc=floor(ny/2);r=ic/2;
% u = zeros([nxny]);     
% for i=1:nx
%     for j=1:ny
%         u(ij)= sqrt((i-ic).^2+(j-jc).^2)-r;
%     end
% end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初始化为矩形
k1=nx/4; k2=ny/4;
mask = zeros(nxny);mask(k1:nx-k1k2:ny-k2) = 1;
u= bwdist(mask)-bwdist(1-mask)+im2double(mask)-.5; % bwdist是元素到最近的一个非零点的欧式距离,SDF 距离函数

[ch] = contour(u[0 0]‘r‘);
title(‘初始轮廓‘);
%%
Vc=1;  % 常速度正数缩小,负数扩张
delt=.01;%迭代步长  
for k=1:iter
%计算每点的曲率
    K=curvature(u11);
%常数演化项需求解迎风差分格式
      C11 =u(:[2:nyny])-u;CC=C11>0;C11=C11.*CC;
      C22 =u-u(:[11:ny-1]);CC=C22<0;C22=C22.*CC;
      C33 =u([2:nxnx]:)-u;CC=C33>0;C33=C33.*CC;
      C44 =u-u([11:nx-1]:);CC=C44<0;C44=C44.*CC;
    Vc_p_du=sqrt(C11.^2+C22.^2+C33.^2+C44.^2);
      C11 =u(:[2:nyny])-u;CC=C11<0;C11=C11.*CC;
      C22 =u-u(:[11:ny-1]);CC=C22>0;C22=C22.*CC;
      C33

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1642  2011-01-10 17:05  常速和曲率演化演示\concur.m

     文件       1660  2010-12-30 13:33  常速和曲率演化演示\curvature.m

    ..A..H.       162  2010-12-29 14:40  常速和曲率演化演示\~$readme.doc

     目录          0  2011-01-10 17:06  常速和曲率演化演示

----------- ---------  ---------- -----  ----

                 3464                    4


评论

共有 条评论