开源Python几何约束求解器GeoSolver

GeoSolver 是一个用于几何约束求解的 Python 包。

几何约束问题(GCP)是几何变量上/之间的一组几何约束。问题是找到几何变量的配置以满足所有约束。几何变量是位置、方向、形状、大小等未知的对象。GCP 中的变量可以是点、线、平面、球体、圆柱体和更复杂的形状。几何约束是诸如对象之间的距离(例如一对点之间或点与平面之间)、对象之间的角度(例如两个平面之间的角度)、曲线和曲面的相切、正交性和平行性等关系。。 

几何约束问题存在于 CAD 应用、机器人、模拟和许多其他科学领域中。通用约束求解/满足方法通常不适用于几何约束问题,因此需要专门的几何约束求解(GCS)算法。 

图片

求解算法

GeoSolver Python 包提供了用于指定、分析和解决几何约束问题的类和函数。它可以用在需要解决几何约束问题的Python应用程序中。

特征:

  • 3D 几何约束问题,包括:

    • 点变量

    • 两点距离约束

    • 三点角度约束

  • 其他几何变量(直线、平面、球体等)和约束的问题可以映射到点变量的这些基本约束

  • 解决方案选择:

    • 手性约束(时钟和旋手性约束)

    • 基于原型(基于草图)的选择

  • 找到一个通用解决方案,从中可以轻松导出不同参数值(例如距离和角度)的所有特定解决方案

  • 增量算法,它可以有效地处理GCP的变化(即添加和删除约束和变量以及更改参数值)

  • 可扩展的求解框架,允许新类型的几何变量和约束

GCS工作台

几何约束求解工作台提供了一个漂亮的 GUI,用于交互式编辑、分析和求解几何约束问题。它使用 GeoSolver 包进行分析和求解,使用 pyQt 和 pyOpenGL 进行交互式 3D 图形。

该工作台当前用于调试/测试 GeoSolver 包。它也可以用作教学工具,也许有一天可能会演变成一个完整的几何设计工具包。

特征:

  • 轻松交互式编辑约束问题

  • 问题和解决方案的 3D 视图

  • 分解视图:显示问题如何分解为刚性簇树

关于 GeoSolver 中使用的几何约束求解算法的研究论文:Hilderick A. van der Meiden 和 Willem F. Bronsvoort,2009,  一种解决 3D 几何约束系统的非刚性簇重写方法,计算机辅助设计 42(1) ,第 36-49 页[doi:10.1016/j.cad.2009.03.003] 

GCS 工作台在本文中介绍:Rogier de Regt、Hilderick A. van der Meiden 和 Willem F. Bronsvoort,2008,几何约束求解工作台,计算机辅助设计和应用,第 5 卷,第 1-4 期(CAD'08 会议论文集,2008 年 6 月 23-27 日,佛罗里达州奥兰多)[ doi: 10.3722/cadaps.2008.471-482] 

卡核-致力于提供工业软件卡脖子内核的综合解决方案

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
马斯京根汇流(MassKinetics)是一个开源Python库,用于计算流体力学和热传导问题。它提供了一套强大的工具和算法,用于模拟和分析各种流体流动和热传导现象。 马斯京根汇流的主要特点包括: 1. 灵活的建模能力:马斯京根汇流提供了丰富的建模选项,可以模拟各种复杂的流体流动和热传导问题,包括稳态和非稳态、可压缩和不可压缩流体、多相流等。 2. 高效的求解算法:马斯京根汇流使用了高效的数值方法和求解算法,能够在较短的时间内得到准确的结果。 3. 可视化和后处理功能:马斯京根汇流提供了丰富的可视化和后处理功能,可以直观地展示模拟结果,并进行数据分析和统计。 使用马斯京根汇流进行Python编程时,你可以按照以下步骤进行: 1. 安装马斯京根汇流库:你可以通过pip命令来安装马斯京根汇流库,例如:pip install masskinetics。 2. 导入马斯京根汇流库:在Python代码中,你需要导入马斯京根汇流库,例如:import masskinetics。 3. 定义模型和边界条件:使用马斯京根汇流提供的函数和类,你可以定义模型的几何形状、物理属性和边界条件。 4. 设置求解求解参数:选择适合你问题的求解,并设置求解参数,例如时间步长、收敛准则等。 5. 运行模拟:调用马斯京根汇流提供的求解函数,运行模拟并得到结果。 6. 可视化和后处理:使用马斯京根汇流提供的可视化和后处理函数,对模拟结果进行可视化展示和数据分析。 希望以上介绍对你有帮助!如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值