OpenGL, 如何用Mouse移动一个3维坐标的物体? HitTest, MouseMove

jyc_nj 2004-09-27 04:25:18
OpenGL, 如何用Mouse移动一个3维坐标的物体? HitTest到物体作好了.
MouseMove时,如何改成新的坐标值?
谢谢.
...全文
178 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gwcui 2004-09-29
  • 打赏
  • 举报
回复
OPenGL中有选择、拾取。
用起来比较方面
比坐标的暴力计算简单一些
可以用拾取。
jyc_nj 2004-09-28
  • 打赏
  • 举报
回复
谢谢楼上的,我也基本是这样作的,
不过对第2条,我是用gluUnProject(用glReadPixels得到深度), 发现返回的3D坐标是在观察平面上,而观察点离物体远, 我就用前后两次坐标的差,来作为物体新坐标的变化值,绝大部分情况效果很好,但有时候gluUnproject获得的3D坐标值会突然"飞掉",变成很大的值.不知道这是怎么回事.
syy64 2004-09-28
  • 打赏
  • 举报
回复
或者加一个整个场景的底面。
syy64 2004-09-28
  • 打赏
  • 举报
回复
“但有时候gluUnproject获得的3D坐标值会突然"飞掉",变成很大的值”:
原因有下:
1、你点在空的地方(无模型处);
2、场景缩得太小(应尽量放大场景);
解决办法:
程序加判断,x,y,z方向都控制在场景之内。
syy64 2004-09-27
  • 打赏
  • 举报
回复
1、通过选择模式,选上该物体;
2、将鼠标移动的平面坐标计算成场景的三位坐标;
3、根据鼠标景的三位坐标重新计算物体坐标;
4、重画该物体。
比较好的入门actionscript3.0的书籍 第1章基本动画概念 1.1 什么是动画 1.2帧和运动 1.2.1帧就是记录 1.2.2程序帧 1.3动态与静态 1.4小结 第2章AtionSript3.0动画基础 2.1动画基础 2.2关于AtionSript版本 2.3类和OOP 2.3.1基类 2.3.2包 2.3.3导入 2.3.4构造函数 2.3.5继承 2.3.6Movielip/Sprite子类 2.3.7创建文档类 2.4设置AtionSript3.0应用程序 2.4.1使用FlashS3IDE 2.4.2使用FlexBuilder 2.4.3使用免费的命令行编译器 2.4.4关于跟踪 2.4.5缩放影片 2.5使用代码动画 2.5.1循环 2.5.2帧循环 2.5.3剪辑事件 2.5.4事件和事件处理器 2.5.5侦听器和处理器 2.5.6动画事件 2.6显示列表 2.7用户交互 2.7.1鼠标事件 2.7.2鼠标位置 2.7.3键盘事件 2.7.4键盘代码 2.8小结 第3章动画中的三角学 3.1什么是三角学 3.2角 3.2.1弧度和度 3.2.2Flash坐标系统 3.2.3三角形的边 3.3三角函数 3.3.1正弦 3.3.2余弦 3 3.3.3正切 3.3.4反正弦和反余弦 3.3.5反正切 3.4旋转 3.5波 3.5.1光滑的上下运动 3.5.2线性垂直运动 3.5.3脉冲动画 3.5.4两个角的波 3.5.5用drawingAPI绘制波 3.6圆和椭圆 3.6.1圆形运动 3.6.2椭圆形运动 3.7毕达哥拉斯定理 3.8两点之间的距离 3.9本章重点公式 3.10小结 第4章渲染技术 4.1Flash中的颜色 4.1.1使用16进制颜色值 4.1.2透明度和32位色 4.1.3新的数值类型:int和uint 4.1.4组合颜色 4.1.5提取组成色 4.2drawingAPI 4.2.1图形对象 4.2.2使用lear移除绘画 4.2.3使用lineStyle设定线条样式 4.2.4使用lineTo和moveTo绘制线条 4.2.5使用urveTo绘制曲线 4.2.6使用beginFill和endFill创建图形 4.2.7使用beginGradientFill创建渐变填充 4.3颜色变换 4.4滤镜 4.4.1创建滤镜 4.4.2动画滤镜4 4.5位图 4.6载入或嵌入内容 4.6.1载入内容 4.6.2嵌入内容 4.7本章重点公式 4.8小结 第二部分 基本运动 第5章速度和加速度 5.1速度 5.1.1向量和速度 5.1.2一个轴上的速度 5.1.3两个轴上的速度 5.1.4角速度 4 5.1.5速度扩展 5.2加速度 5.2.1一个轴上的加速度 5.2.2两个轴上的加速度 5.2.3重力加速度 5.2.4角加速度 5.2.5太空船 5.3本章重点公式 5.4小结 第6章边界和摩擦力 6.1环境边界 6.1.1设置边界 6.1.2移除物体 6.1.3重新生成物体 6.1.4屏幕折回 6.1.5回弹 6.2摩擦力 6.2.1摩擦力,115正确方法 6.2.2摩擦力,116容易方法 6.2.3摩擦力的应用 6.3本章重点公式 6.4小结 第7章用户交互:移动物体 7.1按下和放开精灵 7.2拖动精灵 7.2.1使用mouseMove拖动 7.2.2使用startDrag/stopDrag拖动 7.2.3拖动与运动代码结合 7.3抛 7.4小结 第三部分 高级运动 第8章缓动和弹性 8.1比例运动 8.2缓动 8.2.1简单的缓动 8.2.2何时停止缓动 8.2.3移动的目标 8.2.4缓动不只是应用于运动 8.2.5高级缓动 8.3弹性 8.3.1一弹性 8.3.2二弹性 8.3.3移动目标点的弹性 8.3.4弹性在哪儿 8.3.5弹性链 8.3.6多目标点弹性 8.3.7目标偏移 8.3.8使用弹性贴加多个物体 8.4本章重点公式 5 8.5小结 第9章碰撞检测 9.1碰撞检测方法 9.2hitTestObjet和hitTestPoint1 529.2.1碰撞测试两个精灵 9.2.2碰撞测试一个精灵和一个点 9.2.3使用shapeFlag的碰撞测试 9.2.4hitTest总结 9.3基于距离的碰撞检测 9.3.1简单的基于距离的碰撞检测 9.3.2基于碰撞的弹性 9.4多物体碰撞检测策略 9.4.1基本的多物体碰撞检测 9.4.2多物体弹性 9.5其他的碰撞检测方法 9.6本章重点公式 9.7小结 第10章坐标旋转和角度回弹 10.1简单的坐标旋转 10.2高级坐标旋转 10.2.1旋转一个物体 10.2.2旋转多个物体 10.3沿角度回弹 10.3.1执行旋转 10.3.2优化代码 10.3.3动态化 10.3.4修复“脱离边界”问题 10.3.5多角度回弹 10.4本章重点公式 10.5小结 第11章台球物理 11.1质量 11.2动量 11.3动量守恒 11.3.1一个轴上的动量守恒 11.3.2两个轴上的动量守恒 11.4本章重点公式 11.5小结 第12章粒子引力和重力 12.1粒子 12.2重力 12.2.1引力 12.2.2碰撞检测和反应 12.2.3沿轨道运行 12.3弹性 12.3.1引力与弹性 12.3.2弹性结点域 12.3.3结点的连接 12.3.4有质量的结点 6 12.4本章重点公式 12.5小结 第13章正向运动:行走 13.1介绍正向和反向运动 13.2开始正向运动编程 13.2.1移动一个关节 13.2.2移动两个关节 13.3自动运行 13.3.1创建自然的行走循环 13.3.2动态化 13.4 使它真正地行走 13.4.1给它一些空间 13.4.2加入重力 13.4.3控制碰撞 13.4.4控制反应 13.4.5屏幕折回 13.5小结 第14章反向运动:拖动和伸展 14.1伸展和拖动一个关节 14.1.1伸展一个关节 14.1.2拖动一个关节 14.2拖动多个关节 14.2.1拖动两个关节 14.2.2拖动更多的关节 14.3伸展多个关节 14.3.1向鼠标伸展 14.3.2向一个物体伸展 14.3.3加入一些交互 14.4使用标准的反向运动方法 14.4.1余弦定律介绍 14.4.2AtionSript余弦定律 14.5本章重点公式 14.6小结 第四部分 3D动画 第15章3D基础 15.1第3和透视 15.1.1z轴 15.1.2透视 15.2速度和加速度 15.3回弹 15.3.1单个物体回弹 15.3.2多物体回弹 15.3.3z轴排序 15.4重力.. 15.5折回 15.6缓动和弹性 15.6.1缓动 15.6.2弹性 15.7坐标旋转 7 15.8碰撞检测 15.9本章重点公式 15.10小结 第16章3D线条和填充 16.1创建点和线 16.2生成面 16.3创建3D填充 16.43D实体建模 16.4.1旋转立方体建模 16.4.2建模其他形体 16.5移动3D实体模型 16.6小结 第17章背面剔除和3D灯光 17.1背面剔除 17.2深度排序 17.33D灯光 17.4小结 第五部分 其他技术 第18章矩阵数学 18.1矩阵基础 18.2矩阵运算 18.2.1矩阵加法 18.2.2矩阵乘法 18.3Matrix类 18.4小结 第19章 实用技巧汇集 19.1 布朗(随机)运动 19.2 随机分布 19.2.1 方形分布 19.2.2 圆形分布 19.2.3 偏移分布 19.3 基于定时器和时间的动画 19.3.1 基于定时器的动画 19.3.2 基于时间的动画 19.4 相同质量物体之间的碰撞 19.5 声音集成 19.6 有用的公式
[Flash.ActionScript.3.0动画教程],这是一本由Keith Peters编写的一本动画设计教材,此书要求读者对as2.0要有比较深的了解,主要讲解的是动画相关的原理。绝对有价值的一本书。 目录如下: 第一部分ActionScript动画基础 第1章 基本动画概念 1.1 什么是动画 1.2 帧和运动 1.2.1 帧就是记录 1.2.2 程序帧 1.3 动态动画 VS 静态动画小结 第2章ActionSript 3.0动画基础 2.1 动画基础 2.2 关于ActionSript版本 2.3 类和面向对象编程 2.3.1 基类 2.3.2 包(Package) 2.3.3 导入(Import) 2.3.4 构造函数(Constructor) 2.3.5 继承(Inheritance) 2.3.6 Movielip/Sprite子类 2.3.7 创建文档类(Document class) 2.4 设置AtionSript3.0应用程序 2.4.1 使用 Flash CS3 IDE(集成开发环境) 2.4.2 使用Flex Builder 2.4.3 使用免费的命令行编译器 2.4.4 关于跟踪 2.4.5 缩放影片 2.5 程序动画 2.5.1 动画的执行过程 2.5.2 帧循环 2.5.3 影片事件 2.5.4 事件和事件处理 2.5.5 事件侦听器与处理函数 2.5.6 动画事件 2.6 显示列表 2.7 用户交互 2.7.1 鼠标事件 2.7.2 鼠标位置 2.7.3 键盘事件 2.7.4 键码 2.8 小结 第3章 三角学应用 3.1 什么是三角学(Trigonometry) 3.2 角 3.2.1 弧度制(radian)与角度制(degrees) 3.2.2 Flash 坐标系 3.2.3 三角形的边 3.3 三角函数 3.3.1 正弦(Sine) 3.3.2 余弦(Cosine) 3.3.3 正切 (Tangent) 3.3.4 反正弦(Arcsine)和反余弦(Arccosine) 3.3.5 反正切(Arctangent) 3.4 旋转(Rotation) 3.5 波形 3.5.1 平滑的上下运动 3.5.2 线性垂直运动 3.5.3 心跳运动 3.5.4 双角波形 3.5.5 绘制波形 3.6 圆和椭圆 3.6.1 圆形运动 3.6.2 椭圆运动 3.7 勾股定理 3.8 两点间距离 3.9 本章重要公式 3.10 小结 第4章 渲染技术 4.1 Flash中的颜色 4.1.1 使用十六进制表示颜色值 4.1.2 透明度和32位色 4.1.3 新的数值类型:int和uint 4.1.4 色彩合成 4.1.5 获取颜色值 4.2 绘图 API 4.2.1 绘图对象 4.2.2 使用 clear 删除绘制 4.2.3 使用lineStyle设定线条样式 4.2.4 使用 lineTo 和 moveTo 绘制直线 4.2.5 过控制点的曲线 4.2.6 使用 beginFill 和 endFill 创建图形 4.2.7 使用beginGradientFill创建渐变填充 4.3 颜色变换 4.4 滤镜(Filter) 4.4.1 创建滤镜 4.4.2 动态滤镜 4.5 位图 4.6 读取和嵌入资源 4.6.1 读取资源 4.6.2 嵌入资源 4.7 本章重点公式 4.8 小结 第二部分 基本运动 第5章 速度与加速度 5.1 速度向量(Velocity) 5.1.1 向量与速度向量 5.1.2 单轴速度 5.1.3 两个轴上的速度 5.1.5 速度向量扩展 5.1.5 速度扩展 5.2 加速度 5.2.1 单轴加速度 5.2.2 双轴加速度 5.2.3 重力加速度 5.2.4 角加速度 5.2.5 制作飞船 5.3 本章重要公式 5.4 小结 第6章 边界与摩擦力 6.1 环境边界 6.1.1 设置边界 6.1.2 移除物体 6.1.3 重置对象 6.1.4 屏幕环绕 6.1.5 回弹 6.2 摩擦力 6.2.1 摩擦力,正确方法 6.2.2 摩擦力,简便的方法 6.2.3 摩擦力的应用 6.3 本章重要公式 6.4 小结 第7章 用户交互:移动物体 7.1 按下和放开精灵 7.2 拖拽影片 7.2.1 使用 mouseMove 执行拖拽 7.2.2 使用 startDrag/stopDrag 执行拖拽 7.2.3 结合运动代码的拖拽 7.3 投掷 7.4 小结 第三部分 高级运动 第8章 缓动和弹性 8.1 成比例运动 8.2 缓动 8.2.1 简单的缓动 8.2.2 缓动何时停止 8.2.3 移动的目标 8.2.4 缓动不仅限于运动 8.2.5 高级缓动 8.3 弹性 8.3.1 一坐标上的

4,445

社区成员

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

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