亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? refine.m

?? 一個功能強大的非結構網格劃分程序,可實現網格的自動剖分,及局部加密與質量控制
?? M
字號:
function [p,t,f] = refine(p,t,ti,f)

%  REFINE: Refine triangular meshes.
%
% Quadtree triangle refinement is performed, with each triangle split into
% four sub-triangles. The new triangles are created by joining nodes
% introduced at the edge midpoints. The refinement is "quality" preserving,
% with the aspect ratio of the sub-triangles being equal to that of the
% parent.
%
%  UNIFORM REFINEMENT:
%
%  [p,t] = refine(p,t);
%
%  p : Nx2 array of nodal XY coordinates, [x1,y1; x2,y2; etc]
%  t : Mx3 array of triangles as indices, [n11,n12,n13; n21,n22,n23; etc]
%
%  NON-UNIFORM REFINEMENT:
%
% Non-uniform refinement can also be performed by specifying which
% triangles are to be refined. Quadtree refinement is performed on
% specified triangles. Neighbouring triangles are also refined in order to
% preserve mesh compatibility. These triangles are refined using
% bi-section.
%
%  [p,t] = refine(p,t,ti);
%
%  ti : Mx1 logical array, with Ti(k) = TRUE if kth triangle is to be
%       refined
%
% Functions defined on the nodes in P can also be refined using linear
% interpolation through an extra input:
%
%  [p,t,f] = refine(p,t,ti,f);
%
%  f : NxK array of nodal function values. Each column in F corresponds to
%      a dependent function, F(:,1) = F1(P), F(:,2) = F2(P), etc.
%
% It is often useful to smooth the refined mesh using SMOOTHMESH. Generally
% this will improve element quality.
%
% Example:
%
%   [p,t] = refine(p,t,ti);
%
% See also SMOOTHMESH, MESH2D

%   Darren Engwirda : 2007
%   Email           : d_engwirda@hotmail.com
%   Last updated    : 08/07/2007 with MATLAB 7.0

if nargin<=4
   gotF = false;
   if (nargin<=2) || isempty(ti)                                           % Uniform refinement
      ti = true(size(t,1),1);
      if nargin<2
         error('Wrong number of inputs');
      end
   end
else
   gotF = true;
   if nargin>4
      error('Wrong number of inputs');
   end
end
if (gotF&&(nargout>3)) || (~gotF&&(nargout>2))
   error('Wrong number of outputs');
end
if numel(ti)~=size(t,1)
   error('Ti must be an Mx1 array');
end
if gotF && ((size(f,1)~=size(p,1)) || (ndims(f)>2))
   error('F must be an NxK array');
end

% Ensure we start with a consistent mesh
if gotF
   [p,t,f] = fixmesh(p,t,f);
else
   [p,t] = fixmesh(p,t);
end

% Edge connectivity
numt = size(t,1);
vect = 1:numt;
e = [t(:,[1,2]); t(:,[2,3]); t(:,[3,1])];                                  % Edges - not unique
[e,j,j] = unique(sort(e,2),'rows');                                        % Unique edges
te = [j(vect), j(vect+numt), j(vect+2*numt)];                              % Unique edges in each triangle

split = false(size(e,1),1);
split(te(ti,:)) = true;                                                    % True for edges to be split

% Flag tri's to be split
nsplit = length(find(split));
while true
   split3 = sum(double(split(te)),2)>=2;                                   % True for tri's where we will split 3 edges
   split(te(split3,:)) = true;                                             % Update split - the split2 case was turned into
   new = length(find(split))-nsplit;                                       % a split3 case, setting new edges to be split
   if new==0
      break
   end
   nsplit = nsplit+new;
end
split1 = sum(double(split(te)),2)==1;                                      % True for tri's where we will split 1 edge

% New nodes
np = size(p,1);
pm = 0.5*(p(e(split,1),:)+p(e(split,2),:));                                % Split edge midpoints
p = [p; pm];

% Map E(SPLIT) to index PM
i = zeros(size(e,1),1);
i(split) = (1:nsplit)'+np;

% New tri's in the split3 case
tnew = t(~(split1|split3),:);
if any(split3)
   n1 = t(split3,1);
   n2 = t(split3,2);
   n3 = t(split3,3);
   n4 = i(te(split3,1));
   n5 = i(te(split3,2));
   n6 = i(te(split3,3));
   tnew = [tnew; n1,n4,n6; n4,n2,n5; n5,n3,n6; n4,n5,n6];
end

% New tri's in the split1 case
if any(split1)
   [row,col] = find(split(te(split1,:)));                                  % Find split edges in tri's

   N1 = col;                                                               % Transform so that the split is always between n1 & n2
   N2 = col+1;
   N3 = col+2;
   N2(N2>3) = N2(N2>3)-3;
   N3(N3>3) = N3(N3>3)-3;

   n1 = 0*N1;
   n2 = n1;
   n3 = n1;
   n4 = n1;

   split1 = find(split1);
   split1 = split1(row);
   for k = 1:length(col)
      n1(k) = t(split1(k),N1(k));
      n2(k) = t(split1(k),N2(k));
      n3(k) = t(split1(k),N3(k));
      n4(k) = i(te(split1(k),col(k)));
   end
   tnew = [tnew; n1,n4,n3; n4,n2,n3];
end
t = tnew;

% Linear interpolation to new nodes
if gotF
   f = [f; 0.5*(f(e(split,1),:)+f(e(split,2),:))];
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99热精品一区二区| 国产亚洲精品资源在线26u| 精品国产乱码久久久久久1区2区| 国产欧美综合在线观看第十页| 亚洲6080在线| www.欧美色图| 久久男人中文字幕资源站| 亚洲v日本v欧美v久久精品| 成人在线视频一区| 精品少妇一区二区三区视频免付费| 亚洲视频电影在线| 成人sese在线| 国产欧美精品日韩区二区麻豆天美| 奇米一区二区三区| 欧美日韩国产一二三| 亚洲男同性视频| 91麻豆免费观看| 亚洲桃色在线一区| www.欧美日韩| 国产精品拍天天在线| 成人毛片视频在线观看| 亚洲国产成人在线| 成人在线一区二区三区| 国产欧美精品一区二区三区四区| 国产精品一区二区不卡| 久久综合给合久久狠狠狠97色69| 日韩电影在线一区二区| 欧美日韩国产在线播放网站| 亚洲一区二区高清| 欧美伊人久久大香线蕉综合69 | 日韩欧美成人一区二区| 丝瓜av网站精品一区二区| 欧美亚洲国产怡红院影院| 一区二区三区在线免费| 色综合久久久久| 一区二区三区在线观看动漫| 色天使色偷偷av一区二区| 亚洲免费毛片网站| 欧美三电影在线| 亚洲成人精品影院| 欧美日韩和欧美的一区二区| 日本不卡一区二区三区高清视频| 8v天堂国产在线一区二区| 日本女人一区二区三区| 2022国产精品视频| 成人一区二区在线观看| 亚洲天堂福利av| 欧美午夜影院一区| 男人的天堂亚洲一区| 国产午夜三级一区二区三| 91视频xxxx| 婷婷中文字幕一区三区| 精品国产一区二区国模嫣然| 成人黄色av电影| 亚洲欧美日韩中文播放| 欧美日韩国产不卡| 国产精品乡下勾搭老头1| 亚洲欧美偷拍三级| 欧美一区二区三区电影| 国产大陆a不卡| 亚洲综合免费观看高清完整版 | 91福利国产成人精品照片| 石原莉奈在线亚洲三区| 国产三级精品视频| 欧美日韩国产片| 国产一区二区三区精品视频| 亚洲视频一二三区| 日韩一区和二区| av高清久久久| 美日韩一区二区| 亚洲人成精品久久久久| 日韩午夜激情免费电影| 91污在线观看| 精品无人区卡一卡二卡三乱码免费卡| 国产精品乱码久久久久久| 欧美日韩国产天堂| av网站一区二区三区| 久久精品国产一区二区| 亚洲欧美视频在线观看视频| 精品国产成人系列| 欧美婷婷六月丁香综合色| 国产精品一区二区久激情瑜伽| 午夜在线成人av| 亚洲乱码国产乱码精品精小说 | 久久久久久影视| 91精品国产一区二区三区香蕉| 成人91在线观看| 国产综合色在线| 日韩av网站免费在线| 怡红院av一区二区三区| 国产亚洲综合在线| 日韩欧美电影一区| 欧美三级韩国三级日本一级| 91性感美女视频| 成人免费视频免费观看| 国产精品一级片在线观看| 日本va欧美va瓶| 日韩黄色在线观看| 午夜电影一区二区| 亚洲黄色小视频| 亚洲人成7777| 亚洲欧洲综合另类在线| 国产精品视频在线看| 久久在线免费观看| 欧美成人性福生活免费看| 在线播放/欧美激情| 欧美精品色一区二区三区| 欧美性大战久久久久久久 | 国产sm精品调教视频网站| 经典三级一区二区| 麻豆成人在线观看| 久久99精品久久只有精品| 免费在线看成人av| 激情综合亚洲精品| 激情另类小说区图片区视频区| 极品少妇一区二区三区精品视频| 免费在线一区观看| 激情综合色播激情啊| 精品一区二区免费在线观看| 麻豆国产精品视频| 国产经典欧美精品| 国产91露脸合集magnet| 91在线观看免费视频| 欧美性猛片xxxx免费看久爱| 欧美私模裸体表演在线观看| 欧美三级电影网| 日韩精品一区在线观看| 久久久久久久久久久久久夜| 久久九九影视网| 国产精品蜜臀av| 亚洲一线二线三线视频| 日韩精品午夜视频| 国产做a爰片久久毛片| av日韩在线网站| 欧美日本在线看| 国产午夜亚洲精品理论片色戒| 国产精品久久久久9999吃药| 一区二区三区免费看视频| 亚洲18影院在线观看| 国内精品久久久久影院一蜜桃| 成人午夜av在线| 欧美性色aⅴ视频一区日韩精品| 欧美一级片在线观看| 中文字幕av一区二区三区免费看| 亚洲另类在线一区| 日韩成人免费电影| 成人精品免费网站| 在线播放视频一区| 欧美激情一区在线观看| 亚洲国产毛片aaaaa无费看| 久久av老司机精品网站导航| av电影天堂一区二区在线| 欧美久久一二区| 一区二区三区免费在线观看| 强制捆绑调教一区二区| 成人污视频在线观看| 欧美高清激情brazzers| 国产精品久久久久久久久免费樱桃| 亚洲一区二区av电影| 国产99久久久国产精品潘金| 欧美日韩激情在线| 国产精品高潮呻吟| 麻豆久久久久久久| 色屁屁一区二区| 国产三级精品三级| 免费成人av在线| 在线免费视频一区二区| 久久精品一区二区三区四区| 亚洲成人激情综合网| 99久久婷婷国产综合精品电影| 日韩一区二区影院| 亚洲一区精品在线| 91视频观看视频| 国产欧美精品一区二区三区四区| 日本成人在线电影网| 欧美亚一区二区| 中文字幕一区二区三区四区不卡 | 亚洲成人一区在线| caoporm超碰国产精品| 精品国产精品网麻豆系列| 亚洲国产美国国产综合一区二区| 成人性视频网站| 久久久国产一区二区三区四区小说| 婷婷丁香久久五月婷婷| 91久久久免费一区二区| 国产精品国产馆在线真实露脸| 精品一区二区三区香蕉蜜桃| 欧美精选一区二区| 亚洲福利一区二区三区| 91国偷自产一区二区三区观看| 国产精品久久久久久久久久免费看| 九色综合狠狠综合久久| 3d成人h动漫网站入口| 午夜av一区二区| 欧美精品第1页| 日日摸夜夜添夜夜添精品视频 | 99在线精品一区二区三区| 国产免费成人在线视频| 成人一级视频在线观看| 欧美高清在线视频|