现在通过gluProject()函数得到了已知点云在经过矩阵变换后的winx,winy,winz,在屏幕上做已封闭曲线圈出了一系列点,目前我采用平面的判别方法将曲线包围的点找出,但是由于三维点云中有可能有不同的点会投影到屏幕上同一个 winx,winy。如果我只想取到最上层的那一系列点,即被遮挡部分的点略去,应通过什么方法呢?
解决方案 »
- UpdateDriverForPlugAndPlayDevices 安装驱动弹出多个对话框
- 期待vs2010不是一个传说
- mciSendString
- 请问如何用vc制作类似MediaPlayer的进度条?
- vc6下实现鼠标拖拽操作
- 请教,关于CDC的,给出详细说明和具体用法,msdn上的也算,SaveDC(), RestoreDC(-1), SetOutputDC(), SetAttribDC
- activeX在服务器端注册,下载到本地后,怎样打开(http://www.test.com/image/123.tif)的图像文件?散分!!!
- 为什么会停止输入?for(n=0; cin>>num[n]; n++);
- passthru问题
- 寻找<<VC++实践与提高COM和COM+篇>>的随书光盘
- 就求帮忙!!!! GetProcAddress 获取不到函数地址
- 点阵字体如何放大缩小?
做法
1 在世界坐标中作射线,射线端点为opengl实景体对应于鼠标的那个点,方向为垂直于视线的方向(方向多数这样的,特殊情况例外)
2 求射线与云点的距离,若距离小于指定值,算是选中。
3 对选中的点在求到射线端点的距离
4 若有多选 距离小的就是
把上百万个点 gluProject一下 从三维空间到显示器现实???要改变效率 也不是这个地方改进算法。指定值就是经验值 考虑点直径的大小等。