python 三角面片模型处理 pyigl

24.4.23 

鉴于最近在学102,作以下记录以供自己以后查阅。(希望可以快点开始做作业

浅浅领悟其目的,万物全是numpy,简化数据结构。

以下v均指vertex,f均指face

注:点序号,面序号指点你提供的点数组(v)和面数组(f)的顺序。比方说,第1个点/点序号为1的点,就是v[1]。

# ⭐⭐⭐⭐⭐
igl.edge_topology(v,f):
    return ev,fe,ef
ev: 每一行代表一条边,元素分别代表组成这条边的两个顶点的
fe: 每一行代表一个面,元素分别为组成这个面的三条边的边序号
ef:每行代表一个边,元素为包含这条边的两个面的面序号

#⭐⭐⭐⭐⭐ 
1邻域点 
igl.adjacency_list(f):
    return list
list:每行代表一个点的邻接点集,元素表示邻接点的点序号
例如list[n] 代表了第n个点的邻接点的序号集合


# ⭐⭐⭐⭐⭐ 
每个点法向量
igl.per_face_normals(v, f, z):
    return list
z:退化向量,就是处理异常情况时固定返回的值,一般取np.array([1.0,1,1])这种
list:每一行代表一个面的法向量
eg:list[n]代表第n个面的法向量,以长度为3的浮点数组表示。


# ⭐⭐⭐⭐⭐
开边界点(还没试过对于bunny底下的那种小洞能不能检测到)
igl.is_border_vertex(v,f):
    return list
list[n] 代表第n个顶点是否为开边界点


# ⭐⭐⭐⭐⭐
连通分量
igl.facet_components(f)


# ⭐⭐⭐⭐⭐
计算顶点的数量
n = np.max(f) + 1

 维诺图链接:

【Aegisub】不规则三角网(TIN)、德劳内(delaunay)三角网的生成算法 - 哔哩哔哩

QEM链接:

https://mikialex.github.io/2020/04/04/mesh-simplification/

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值