我想创建一个非常简单的 2D(后来的 3D 取决于资金)交互式 CAD 应用程序,其功能非常少,例如:
- 能够创建线、点、简单的凸多边形和椭圆等简单形状
- 能够细分多边形。
出于这个原因,我将采用客户端-服务器模型,其中客户端由 GUI 和渲染组件组成。为此,我正在考虑使用 Kivy 框架,因为它在一个框架中同时具有 GUI 和 OpenGL。另一种选择,是使用 QT 框架。这是符号上的便利,一切都将在一台机器上运行。
对于包含用于操作几何的代码的服务器部分,我正在考虑直接使用 OpenCASCADE 或 gmsh。这里的基本思想是:一旦几何体被建模,它在服务器中被网格化,然后被发送回客户端进行渲染。
我的问题是,这种方法是否适用于交互式应用程序?我的理解是网格生成需要很长时间,因此为几何中的每一个微小变化创建一个网格对于交互式应用程序来说可能并不理想。但是,OpenGL 只能渲染很少的几何图元(如点、线、三角形和四边形),并且只有在对几何体进行网格化时才使用 OpenGL(据我所知,OpenCASCADE 使用边界表示来表示模型)。
请理解我对几何建模和计算机图形学一般都很陌生,因此感谢您的帮助。
编辑:添加更多说明。