numpy meshgrid 转换成pygimli规则网格
import numpy as npimport pygimli as pgfrom scipy.interpolate import griddataimport matplotlib.pyplot as plt# 1. 生成 NumPy meshgridx np.linspace(0, 10, 11) # X方向坐标序列y np.linspace(0, 5, 6) # Y方向坐标序列X, Y np.meshgrid(x, y) # 生成网格坐标矩阵:cite[2]# 2. 提取唯一坐标序列从meshgrid矩阵中获取x_coords np.unique(X)y_coords np.unique(Y)# 3. 创建 pyGIMLi 规则网格# 使用 pg.createGrid 并传入提取出的坐标序列gimli_grid pg.createGrid(x_coords, y_coords)# 可视化检查一下生成的网格pg.show(gimli_grid)print(PyGIMLi 网格信息)print(f节点数: {gimli_grid.nodeCount()})print(f单元数: {gimli_grid.cellCount()})# 假设我们有一个基于原始 meshgrid 计算得到的函数值Z_numpy np.sin(X) * np.cos(Y)# 获取所有单元中心的坐标cell_centers 形状应为 (N, 2)cell_centers gimli_grid.cellCenters()# 将单元中心坐标拆分成 x 和 y 分量x_centers cell_centers[:, 0] # 所有x坐标y_centers cell_centers[:, 1] # 所有y坐标points np.column_stack((X.ravel(), Y.ravel()))values Z_numpy.ravel()# 现在将 (x_centers, y_centers) 作为元组传递给 griddata# 这样 xi 就被正确识别为一系列二维点的坐标gimli_cell_data griddata(points, values, (x_centers, y_centers), methodnearest)# 将插值后的数据分配给 pyGIMLi 网格gimli_grid[MyData] gimli_cell_data# 检查分配的数据print(f分配给网格的标量场数据: {gimli_grid[MyData]})pg.show(gimli_grid,gimli_grid[MyData])#将四边形节点转换成pygimli三角网格import numpy as npimport pygimli as pgimport matplotlib.pyplot as plt# 假设你已经有四边形网格的节点坐标# 这里创建一个示例的四边形网格节点x np.linspace(0, 10, 6) # x方向节点y np.linspace(0, 5, 4) # y方向节点X, Y np.meshgrid(x, y) # 创建网格# 将节点展平并组合成坐标对points np.column_stack((X.ravel(), Y.ravel()))# 方法1: 使用PyGIMLi的createMesh函数直接创建三角网格# 这会自动对节点进行Delaunay三角剖分tri_mesh pg.Mesh(2) # 创建二维网格# 添加所有节点到网格中for pt in points:tri_mesh.createNode(pt[0], pt[1], 0.0)# PyGIMLi会自动进行Delaunay三角剖分当你调用createMeshWithPoints时# 或者使用更直接的方法tri_mesh pg.meshtools.createMesh(points, quality34, area0.1)print(f三角网格节点数: {tri_mesh.nodeCount()})print(f三角网格单元数: {tri_mesh.cellCount()})# 可视化三角网格pg.show(tri_mesh)plt.title(Delaunay三角网格)plt.show()from scipy.spatial import Delaunay# 使用SciPy进行Delaunay三角剖分tri Delaunay(points)# 创建PyGIMLi网格对象tri_mesh pg.Mesh(2) # 二维网格# 添加节点node_ids []for pt in points:node_ids.append(tri_mesh.createNode(pt[0], pt[1], 0.0))# 添加三角形单元for simplex in tri.simplices:# 获取三角形的三个节点nodes [node_ids[i] for i in simplex]# 创建三角形单元tri_mesh.createTriangle(nodes[0], nodes[1], nodes[2])print(f转换后的三角网格信息:)print(f节点数: {tri_mesh.nodeCount()})print(f三角形单元数: {tri_mesh.cellCount()})# 可视化pg.show(tri_mesh)plt.title(从SciPy Delaunay转换的三角网格)plt.show()# 创建边界多边形假设你的四边形网格有特定边界polygon pg.meshtools.createPolygon([[0, 0], # 左下角[10, 0], # 右下角[10, 5], # 右上角[0, 5] # 左上角], isClosedTrue)# 使用带约束的三角剖分constrained_mesh pg.meshtools.createMesh(points, boundarypolygon)print(f带约束的三角网格:)print(f节点数: {constrained_mesh.nodeCount()})print(f单元数: {constrained_mesh.cellCount()})pg.show(constrained_mesh)plt.title(带边界约束的三角网格)plt.show()/home/weiyiwen/miniconda3/envs/devito/bin/python -m pip install scikit-fmm

相关新闻

OpenShell实战:从脚本碎片化到自然语言任务编排

OpenShell实战:从脚本碎片化到自然语言任务编排

如果你跟我一样,本地文件夹里躺着十几个“一次性用的脚本”,每次想组合它们都得再写一层胶水脚本,那你大概也会对 OpenShell 这种工具感兴趣。OpenShell 是一个开源的命令行智能体框架,核心思路很简单:把自然语言任务解…

2026/10/13 10:52:53 阅读更多 →
题解:洛谷 P5738 【深基7.例4】歌唱比赛

题解:洛谷 P5738 【深基7.例4】歌唱比赛

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大家订阅我的专栏:算法…

2026/10/15 6:54:42 阅读更多 →
题解:洛谷 P1024 [NOIP 2001 提高组] 一元三次方程求解

题解:洛谷 P1024 [NOIP 2001 提高组] 一元三次方程求解

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大家订阅我的专栏:算法…

2026/10/14 12:38:39 阅读更多 →

最新新闻

Terminal-Bench完整指南:4步跑通你的第一个AI终端评测

Terminal-Bench完整指南:4步跑通你的第一个AI终端评测

Terminal-Bench完整指南:4步跑通你的第一个AI终端评测 【免费下载链接】terminal-bench-1 A benchmark for LLMs on complicated tasks in the terminal 项目地址: https://gitcode.com/GitHub_Trending/tb/terminal-bench-1 你的Agent演示很精彩&#xff0c…

2026/10/21 2:02:39 阅读更多 →
免 root 三步跑通 WorkTool:你的企业微信自动回复机器人

免 root 三步跑通 WorkTool:你的企业微信自动回复机器人

免 root 三步跑通 WorkTool:你的企业微信自动回复机器人 【免费下载链接】worktool 一款安全稳定的Android无障碍服务工具,支持控制企微/微信来运行的无人值守群管理企业微信机器人 项目地址: https://gitcode.com/GitHub_Trending/wo/worktool W…

2026/10/21 2:02:39 阅读更多 →
STM32驱动W25Q64 SPI Flash实战:从硬件连接到代码实现

STM32驱动W25Q64 SPI Flash实战:从硬件连接到代码实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:02:39 阅读更多 →
如何用 Jasna 自动修复 VR180 视频:从分眼处理到投影选择的完整新手教程

如何用 Jasna 自动修复 VR180 视频:从分眼处理到投影选择的完整新手教程

如何用 Jasna 自动修复 VR180 视频:从分眼处理到投影选择的完整新手教程 【免费下载链接】jasna Video restoration tool 项目地址: https://gitcode.com/GitHub_Trending/ja/jasna Jasna 是一款面向 GPU 的视频修复工具,内置 VR180 自动修复能力…

2026/10/21 2:02:39 阅读更多 →
gamdl:Apple Music 无损下载工具完全指南,一键收藏歌曲与 4K 音乐视频

gamdl:Apple Music 无损下载工具完全指南,一键收藏歌曲与 4K 音乐视频

gamdl:Apple Music 无损下载工具完全指南,一键收藏歌曲与 4K 音乐视频 【免费下载链接】gamdl A command-line app for downloading Apple Music songs, music videos and post videos. 项目地址: https://gitcode.com/GitHub_Trending/ga/gamdl …

2026/10/21 2:02:39 阅读更多 →
Django数据可视化实践:超市销售系统全流程开发与热词分析

Django数据可视化实践:超市销售系统全流程开发与热词分析

毕业设计做到一半才意识到"选对题"比“写代码”重要得多——这是我在带几个应届生做完整套毕设流程后最深的体会。今天这篇想好好拆解一个很有代表性的题目:基于PythonDjango的超市销售系统,以及其中数据可视化模块的具体实现。这个选题好在哪…

2026/10/21 2:01:38 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →