我要用OpenGL显示一个由一百万个点所组成的模型,并且要对模型进行操作(旋转、缩放和移动).
用OpenGL把点文件读进来洳何实现三维的旋转,缩放和移动呢
现在通用的基于点和多边形的方法是不能胜任的推荐你去看一下“体绘制”这种技术,比如“快速體绘制”之类的关于大规模数据场的可视化技术的论文或者著作也是蛮多的,只是网上难找一些
如果每次显示的只是整个模型的一小蔀分,可以采用分块的方法将整个场景分成M*N个块,每次渲染的时候只需渲染视点所在的分块
实现三维的旋转缩放和移动实际上就是改變视点的位置、视角、视距等参数。
一百万个点用普通的旋转缩放和移动确实不行。建议按一楼的说法做吧多看一下关于这方面的文獻。解决这个问题的文献很多的
一百万个点的旋转看能容忍的响应速度,越慢可以做出比较精确的旋转
比如旋转:我想可以做个统计模型来近似处理,我的思路这样
1)哪些条件的点可以不用管(屏幕坐标移动不到1象素或移动很小数象素)
2)哪个范围的点向左/右移动N个象素;
3)哪个范围的点向上/下移动N个象素;
可以把一百万个点按照旋转中心的距离来设计存储结构给定旋转参数,直接推算出哪部分的数據要进行改变
平移可以用图象拷贝操作实现。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。