我是个opengl初学者,现在想用VC+Opengl做一个切削仿真软件。最核心的功能就是如何显示切削过程和切削后毛坯的结果。
自己找到了一些Opengl布尔运算的程序,试了下其只能显示当前布尔差的结果,但是不能保留中间布尔差的过程。
对此问题,我已经钻研了很久,还是不得其解。在此希望有大牛能帮帮我,小弟感激不尽!
我的QQ:545475993,我可以把我的源程序发给你。
自己找到了一些Opengl布尔运算的程序,试了下其只能显示当前布尔差的结果,但是不能保留中间布尔差的过程。
对此问题,我已经钻研了很久,还是不得其解。在此希望有大牛能帮帮我,小弟感激不尽!
我的QQ:545475993,我可以把我的源程序发给你。
放弃算了
你可以baidu parasolid acis ,实体几何运算
或者 下载我的论文
http://download.csdn.net/source/1762614
找点感觉
首先 立方体怎么表示 ?正确的做法是 边界与空间分割混合表示
其次 实体几何运算的 减 怎么做? 这个你搜论文看看 不是一句话能说清楚的
复杂实体的显示 马虎作要容易得多,表面三角片化,做到好点 veryvery diffcult.因为面可能非常多 要快速显示
我是看到一篇韩国人写的论文“An implementation of CSG modeling technique on Machining Simulation
using C++ and Open GL”,讲了用Opengl CSG模型实现切削仿真的思想和方法,还有一段程序:glEnable(GL_DEPTH_TEST);
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE,
GL_FALSE);
glCullFace(GL_FRONT);
RenderSweptSurface();
glDepthMask(GL_FALSE);
glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_ALWAYS, 0, 0);
glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);
glCullFace(GL_BACK);
RenderStock();
glStencilOp(GL_KEEP, GL_KEEP, GL_DECR);
glCullFace(GL_FRONT);
RenderStock();
glDepthMask(GL_TRUE);
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE,
GL_TRUE);
glStencilFunc(GL_NOTEQUAL, 0, 1);
glDisable(GL_DEPTH_TEST);
glCullFace(GL_FRONT);
RenderSweptSurface();
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE,
GL_FALSE);
glEnable(GL_DEPTH_TEST);
glDisable(GL_STENCIL_TEST);
glDepthFunc(GL_ALWAYS);
RenderStock();
glDepthFunc(GL_LESS);
glCullFace(GL_BACK);
RenderStock();
glDepthMask(GL_FALSE);
glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_ALWAYS, 0, 0);
glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);
glCullFace(GL_BACK);
RenderSweptSurface();
glStencilOp(GL_KEEP, GL_KEEP, GL_DECR);
glCullFace(GL_FRONT);
RenderSweptSurface();
glDepthMask(GL_TRUE);
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE,
GL_TRUE);
glStencilFunc(GL_EQUAL, 0, 1);
glDisable(GL_DEPTH_TEST);
glCullFace(GL_BACK);
RenderStock();
glDisable(GL_STENCIL_TEST);
glEnable(GL_DEPTH_TEST);程序段的意思我也大概明白,就是通过深度缓存和模板缓存实现布尔差的运算,但是我用这段程序所做的结果和论文中的结果不一样啊。就是两个物体相对运动后,只能显示出当前位置的布尔差,而不能保留中间布尔差的痕迹,也就是说没有留下刀具走过的痕迹。还希望各位大哥们再多多指点,我现在时间紧任务重,被导师逼着了
若玩玩而已 什么建模型方法都行 csg 也行
好吧,按常理我也确实很难完成这样的任务。只能再想想别的办法了bhybhbhy2 这位大哥有没有相关的资料或者程序,可以让我参考下
不太紧张 用库做,找个acis 或者parasolid. 显示 用hoops要是刚开题 换课题 这个课题本身应该说太大。 可以做细节 如加工仿真的曲面曲线的路径规划,软件的系统架构等
客观的讲 这个东西老外都基本研究透了 应该说这个方面早都不应该做为课题了 有问题看看 外国的博士论文库 或者 工程论文库
我不是搞图形学的,不知编程时怎么建模?