删取网格中的一部分

Posted 博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删取网格中的一部分相关的知识,希望对你有一定的参考价值。

 1 function [node,elem] = delmesh(node,elem,expr)
 2 %% DELMESH delete part of the mesh 
 3 
 4 dim = size(node,2); elemdim = size(elem,2);
 5 %% delete element
 6 switch elemdim
 7     case 3
 8         center = (node(elem(:,1),:)+node(elem(:,2),:)+node(elem(:,3),:))/3;
 9     case 4    
10         center = (node(elem(:,1),:) + node(elem(:,2),:) ...
11                 + node(elem(:,3),:) + node(elem(:,4),:))/4;
12 end
13 x = center(:,1);  y = center(:,2); %#ok<*NASGU>
14 if dim == 3
15     z = center(:,3); %#ok<*NASGU>
16 end
17 idx = eval(expr);
18 elem(idx,:) = [];
19 
20 %% delete vertices
21 isValidNode = false(size(node,1),1);
22 isValidNode(elem(:)) = true;
23 node = node(isValidNode,:);
24 
25 %% shift index of element
26 Nnew = sum(isValidNode);
27 indexMap(isValidNode) = (1:Nnew)\';
28 elem = indexMap(elem);
delmesh

 

以上是关于删取网格中的一部分的主要内容,如果未能解决你的问题,请参考以下文章

GLSL-片段着色器不同部分的精度不同

为啥此代码片段返回意外结果?

回收网格中的错误。无需随机点击即可更改UI

jquery 文本域光标操作(选添删取)

如何在kotlin的片段内显示网格视图?

Forge Viewer - 如何在场景中访问(或获取渲染/片段代理)克隆的网格?