想实现拾取功能,三维坐标系统内的,谢谢!

scu_biology 2006-10-25 10:16:22
在三维坐标系内,显示一些三维点(x,y,z),旋转、缩放、平移我已经实现。

下一步想实现拾取功能,也就是在屏幕上用鼠标拖拽一个矩形框,被框中的点能突出显示。另外,每选中一个点(通过鼠标点击),这个点也能突出显示,并显示这个点的相关信息等(例如,这个点的坐标,高程)。实现手段用opengl还是directX方便些?呵呵。

关于这两条,请高手给些指点。哈哈。请各位老师指点。
...全文
179 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
guccyme_ 2006-10-26
  • 打赏
  • 举报
回复
也就是在屏幕上用鼠标拖拽一个矩形框,被框中的点能突出显示。

三维物体还有深度,要显示全部 还只是最前面?

dx可以看sdk里的例子 pick 它实现的是对单三角片的拾取, 很像你要的点选了。
框选的话 再加一个对鼠标坐标位置的判断 从屏幕坐标转换到世界坐标或视图坐标 在范围内的自己做一个类似IntersectTriangle的函数


ogl也有类似D3DXIntersect的函数 一时记不起了
scu_biology 2006-10-26
  • 打赏
  • 举报
回复
三维物体是要深度的。也就是在这个矩形框内的都要突出显示(前面的和后面)。因为我很少做交互的方面,请各位赐教! 谢谢。
scu_biology 2006-10-26
  • 打赏
  • 举报
回复
楼上的你好,我看过不少相关的书了。现在不能确定用什么方法来实现。
在OpenGL里面有对象扑捉技术,
方法如下:
初始化对象名称,设置距阵等,然后用gluPickMatrix(x,y,2.2,viewpot)来实现。这是单击单个物体时的实现步骤。
可是在屏幕上框选三维点,然后实现突出显示,还是没有什么头绪。

楼上的大哥,你推荐本书,或例子吧。谢谢。

请推荐几个例子就好,交互方面我做的比较少。怕走弯路,就过来请教各位前辈了。
guohua24 2006-10-26
  • 打赏
  • 举报
回复
gluProject() gluUnProject( )

4,499

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧