0

我想创建一个非常简单的 2D(后来的 3D 取决于资金)交互式 CAD 应用程序,其功能非常少,例如:

  1. 能够创建线、点、简单的凸多边形和椭圆等简单形状
  2. 能够细分多边形。

出于这个原因,我将采用客户端-服务器模型,其中客户端由 GUI 和渲染组件组成。为此,我正在考虑使用 Kivy 框架,因为它在一个框架中同时具有 GUI 和 OpenGL。另一种选择,是使用 QT 框架。这是符号上的便利,一切都将在一台机器上运行。

对于包含用于操作几何的代码的服务器部分,我正在考虑直接使用 OpenCASCADE 或 gmsh。这里的基本思想是:一旦几何体被建模,它在服务器中被网格化,然后被发送回客户端进行渲染。

我的问题是,这种方法是否适用于交互式应用程序?我的理解是网格生成需要很长时间,因此为几何中的每一个微小变化创建一个网格对于交互式应用程序来说可能并不理想。但是,OpenGL 只能渲染很少的几何图元(如点、线、三角形和四边形),并且只有在对几何体进行网格化时才使用 OpenGL(据我所知,OpenCASCADE 使用边界表示来表示模型)。

请理解我对几何建模和计算机图形学一般都很陌生,因此感谢您的帮助。

编辑:添加更多说明。

4

1 回答 1

1

“这种方法在交互式应用程序中有效吗?”。不是真的,除非您的客户非常耐心。即使您有几乎即时的传输,渲染也会很不稳定。这就是发明硬件加速的原因。这意味着它必须在机器上是本地的。

如果您不是很有经验,我建议您稍后再使用客户端-服务器架构。首先开始工作一个独立的应用程序。

如果您只需要 2D,我认为不需要网格化。先从渲染曲线开始。如果您需要填充形状,颜色填充算法可能会更简单。

Open Cascade 需要数年时间来学习

我们每月 20 美元的替代方案(在您开发时):https ://dynoinsight.com/ProDown.htm

最好的

于 2022-01-28T00:13:27.990 回答