OpenGl中的ExtrudeCut

OpenGl中的ExtrudeCut,opengl,3d,Opengl,3d,你好 如何拉伸切割(如solidworks)三维模型? 有没有简单的方法,或者我必须做一些复杂的计算?引用OpenGl: 什么是OpenGL OpenGL代表开放图形 图书馆。这是一个做3D的API 图形 更具体地说,它是一个API 用来“在上面画三角形” 你的场景”。在这个GPU时代,它 是关于与GPU对话,以便 做画画的工作。事实并非如此 处理文件格式。事实并非如此 打开bmp、png和任何图像格式。信息技术 不打开三维对象格式,如 obj,max,maya。这不行 动画它不能处理 键盘、鼠

你好
如何拉伸切割(如solidworks)三维模型?
有没有简单的方法,或者我必须做一些复杂的计算?

引用OpenGl:

什么是OpenGL

OpenGL代表开放图形 图书馆。这是一个做3D的API 图形

更具体地说,它是一个API 用来“在上面画三角形” 你的场景”。在这个GPU时代,它 是关于与GPU对话,以便 做画画的工作。事实并非如此 处理文件格式。事实并非如此 打开bmp、png和任何图像格式。信息技术 不打开三维对象格式,如 obj,max,maya。这不行 动画它不能处理 键盘、鼠标和任何输入设备。 它不创建窗口,因此 开

所有这些东西都应该由一个专家来处理 外部库(GLUT)就是一个例子 用于创建和 破坏窗口和处理鼠标 和键盘)

德国劳埃德船级社已经经历了许多 版本

所以答案是否定的。像挤压切割这样的操作很复杂。您必须自己实现它,或者使用第三方库。

引用OpenGl:

什么是OpenGL

OpenGL代表开放图形 图书馆。这是一个做3D的API 图形

更具体地说,它是一个API 用来“在上面画三角形” 你的场景”。在这个GPU时代,它 是关于与GPU对话,以便 做画画的工作。事实并非如此 处理文件格式。事实并非如此 打开bmp、png和任何图像格式。信息技术 不打开三维对象格式,如 obj,max,maya。这不行 动画它不能处理 键盘、鼠标和任何输入设备。 它不创建窗口,因此 开

所有这些东西都应该由一个专家来处理 外部库(GLUT)就是一个例子 用于创建和 破坏窗口和处理鼠标 和键盘)

德国劳埃德船级社已经经历了许多 版本


所以答案是否定的。像挤压切割这样的操作很复杂。你必须自己实现它,或者使用第三方库。

你想做的是一门叫做构造性立体几何(CSG)的学科的一部分,它是关于3D图形和处理最棘手的学科之一。有几种方法可以解决这个问题:

  • 如果您只是对在光线跟踪器中渲染CSG感兴趣,那么事情实际上非常简单:在每个光线/曲面相交处,您都会增加/减少一个计数器。CSG组合也可以转换为曲面计数。通过比较光线相交计数器和CSG曲面计数,可以对跟踪的光线应用CSG操作

  • 如果您对在三角化模型上执行CSG感兴趣,最常见的方法是从几何体构建BSP树,并在BSP上应用CSG操作。然后从生成的BSP重新创建网格。这就是它在基于网格的建模器中的实现方式(看看Blender的源代码,它正是这样做的)

  • 分析表面上的CSG非常困难。曲线或曲面的交点没有闭合解。最好的方法是在交点处以数字方式找到多个采样点,并沿交点拟合曲线。这可能在数值上变得不稳定

  • 细分阶段处理(这是我为我的3D引擎实现的(甚至可能是我发明的):在3D硬件上渲染曲线或曲面面片时,通常必须先将它们细分为三角形网格。在此镶嵌阶段,可以测试新创建的三角形的边是否与曲线/曲面相交;在牛顿过零解算器中使用几次迭代,以找到两条曲线/曲面的交点,并将其存储为两个相关面片边缘的采样点(以便其他曲面的细分将与第一个曲面共享其顶点位置)。在第一个细分阶段之后,在顶点上使用松弛方法(基本上应用拉普拉斯算子),同时将它们约束到曲面上(请记住,曲面是数学精确的,很容易处理曲面的变量,但使用结果位置作为度量)。只要不考虑与普通三角剖分网格的交点(网格的每个三角形都必须转化为曲面面片,这会减慢该方法的速度),该方法就可以很好地工作


你给这个OpenGL贴上了标签,所以说得很清楚:OpenGL在这方面帮不了你,因为OpenGL只是画三角形,而不是处理复杂的几何体。

你想做的是一门叫做构造性立体几何(CSG)的学科的一部分,它是关于3D图形和处理的最棘手的学科之一。有几种方法可以解决这个问题:

  • 如果您只是对在光线跟踪器中渲染CSG感兴趣,那么事情实际上非常简单:在每个光线/曲面相交处,您都会增加/减少一个计数器。CSG组合也可以转换为曲面计数。通过比较光线相交计数器和CSG曲面计数,可以对跟踪的光线应用CSG操作

  • 如果您对在三角化模型上执行CSG感兴趣,最常见的方法是从几何体构建BSP树,并在BSP上应用CSG操作。然后从生成的BSP重新创建网格。这就是它在基于网格的建模器中的实现方式(看看Blender的源代码,它正是这样做的)

  • 分析表面上的CSG非常困难。曲线或曲面的交点没有闭合解。最好的方法是在交点处以数字方式找到多个采样点,并沿交点拟合曲线。这可能在数值上变得不稳定

  • 细分阶段处理(这是我为我的3D引擎实现的(甚至可能是我发明的):在3D硬件上渲染曲线或曲面面片时,通常必须在