【pyVista】在三维模型中的网格属性

一,什么是属性?

        属性是存在于 一个网格。在 PyVista 中,我们同时使用点数据和单元数据,并且 允许轻松访问数据字典以保存属性数组 它们位于网格的所有点或所有单元上。

点数据

点数据是指值数组(标量、向量等),这些值 Live 在网格的每个点上。属性数组中的每个元素 对应于网格中的一个点。让我们创建一些点 数据。绘制时,点之间的值为 跨单元格进行插值。

import numpy as np  # 导入 NumPy 库,用于处理数组和生成随机数  
import pyvista as pv  # 导入 PyVista 库,用于三维可视化  

# 从 STL 文件读取网格数据  
mesh = pv.read('hexbeam.stl')  

# 设置相机位置,用于绘制时视角的选择  
cpos = [(6.20, 3.00, 7.50),   # 相机位置的坐标  
        (0.16, 0.13, 2.65),   # 注意点的坐标 (即视角朝向的中心点)  
        (-0.28, 0.94, -0.21)]  # 上向量坐标,控制相机的上方向  

# 为每一个点的数据设置一个名为 'my point values' 的标量值  
mesh.point_data['my point values'] = np.arange(mesh.n_points)  

# 绘制网格,使用 ivalue 'my point values' 表示的标量值,并显示边缘线  
mesh.plot(scalars='my point values', cpos=cpos, show_edges=True)

 

代码解释:
  1. 导入库

    • numpy 用于数值运算和数组操作,这里主要用来生成值数组。
    • pyvista 是一个用于三维可视化的库,可以方便地操作和展示三维数据。
  2. 读取网格文件

    • 使用 pv.read('hexbeam.stl') 从一个 STL 文件中读取三维网格数据。这种文件格式通常用于存储三维模型。
  3. 设置相机位置

    • cpos 是一个列表,包含三个点的三维坐标,定义了绘制图像时的相机位置、查看的目标和相机的上方向。具体包括:
      • 第一个点是相机的位置。
      • 第二个点是相机关注的目标(视野中心点)。
      • 第三个点定义了相机的“上方”方向,有助于用户更好地理解空间的方向。
  4. 设置点数据

    • mesh.point_data['my point values'] 给网格的每一个点分配一个标量数据,这里使用 np.arange(mesh.n_points) 创建一个从 0 到网格点总数的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yasen.M

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值