最近需要模拟红侠乔伊的镜头运用.这东西初看简单,实际还是很需要功夫的.关键不是程序技术如何(就一个摄像机),而是分析其轨迹和追踪点规律.其实就是一个3D空间中的缓冲系统.你如何确定都有什么参数,这么多参数又如何相互之间作用?这些天做下来,有一些心得.

  1  确立缓冲点.有3个方向位移的缓冲,有180度范围旋转的缓冲,但这些缓冲关系,只从2个点变化而来:相机的位置,以及相机追踪点的位置.后边这个一开始做的时候容易被忽略,实际上对效果的精细程度所起作用是很关键的.实际上不止对于摄像机系统,对于广泛意义的缓冲系统而言,都要找出主动关系与被动关系的缓冲点.在摄像机中,主动关系就是相机追踪位置,被动关系是相机位置.每个关系一个缓冲点.如果主动关系有2个,那就多一个缓冲点.依次类推.

  2  确立缓冲点上的正交关系.摄像机系统中,就是每个缓冲点处的x,y,z轴.旋转的缓冲其实依赖于位移,所以只关注位移就行了.

  3  想象在缓冲点处,沿你确定的每个正交方向,有一个弹簧点.弹簧由参数控制,沿其方向滑动.如果你在脑海中模拟到这个画面,缓冲系统已经完成大半了.

  4  插值函数.对于这种动态缓冲环境而言,我认为需要且只需要一个线性插值函数就足够了.丰富多彩的插值函数,适用于类似道路曲线或零件形状这种静态环境.我一开始在这里走了弯路,尝试了几个插值方式,后面才意识到错误.为什么?因为插值函数相当于一个黑盒子,对于插值函数的输入参数t来说,t本身已经由我们进行了模拟,不是线性的,那么一个非线性的参数进入一个非线性的盒子,所得结果你是非常非常难于预料的.

  5  参数调整.对于参数处理,log(x+a), e^(-x+a), (ax + b) / (cx + d)这3个函数框子是你最好的朋友.多考虑是否能用阙值函数代替条件判断.

  

实现3D摄像机缓冲系统的一些思考的更多相关文章

  1. 企业办公3D指纹考勤系统解决方案(一)

    员工准时.正常出勤是企业考勤制度的基本要求,然而目前签名式.卡钟式.IC卡考勤系统均存在代打卡.人情卡.不易统计等漏洞,而市面上的光学指纹考勤机存在识别能力差.识别速度慢.使用寿命短.不能完全杜绝指纹 ...

  2. 连锁机构3D指纹考勤系统解决方案

    信息技术的高速发展加速了商业零售业连锁经营的信息化和全球化的进程,同时也推动了商业管理的变革.尽管人们对它的认识是被动与滞后的,但这种变革依然伴随着商业业态的转变和信息技术的发展或快或慢地在悄然进行着 ...

  3. 景区3D指纹验证系统解决方案

    旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一.旅游业在城市经济发展中的产业地位.经济作用逐步增强,旅游业对城市经济的拉动性.社会就业的带动力.以及对文化与环境的促进作用日益显现.指纹门票为 ...

  4. 公共交通3D指纹验证系统解决方案

    为了响应国家关于老年人的优待政策,华本研发了退休老人乘公交车指纹认证系统.指纹认证系统不仅方便老人乘坐公交,还能为公共部门减压,杜绝伪造优待证乘坐公交的不法行为. 目前,优待证都是人工检查,缺乏有效的 ...

  5. 工厂食堂3D指纹考勤系统解决方案

    指纹考勤就餐管理系统利用3D活体指纹技术完成对正式员工就餐管理.就餐者只需办理完入职手续,并登记考勤指纹,就可通过考勤指纹在工厂食堂领餐. 大多数工厂食堂就餐是福利性的,只准员工就餐,不准员工带亲戚朋 ...

  6. 企业办公3D指纹考勤系统解决方案

    员工准时.正常出勤是企业考勤制度的基本要求,然而目前签名式.卡钟式.IC卡考勤系统均存在代打卡.人情卡.不易统计等漏洞,而市面上的光学指纹考勤机存在识别能力差.识别速度慢.使用寿命短.不能完全杜绝指纹 ...

  7. 基于HTML5的燃气3D培训仿真系统

    最近上线了的基于HTML5的燃气3D培训仿真系统,以前的老系统是采用基于C++和OpenGL的OpenSceneGraph引擎设计的,OSG引擎性能和渲染效果各方面还是不错的,但因为这次新产品需求要求 ...

  8. AE 3D摄像机工作原理

    看了AE教程的3D可视化音频和序列法导入三维模型之后对于视频解析3D是有了更深的认识.很感谢AE在CS6之后加入了3D摄像机跟踪器的功能.它是通过摄像机跟踪反求来得到影片中的平面特征点.然后由用户指定 ...

  9. 基于HTML5气3D仿真培训系统

    根据最近的上线HTML5的燃气3D培训仿真系统.曾经的老系统是採用基于C++和OpenGL的OpenSceneGraph引擎设计的,OSG引擎性能和渲染效果各方面还是不错的,但由于这次新产品需求要求能 ...

随机推荐

  1. CentOS目录树详细解释

    [sdm_download id=”292″ fancy=”1″] /boot 该目录默认下存放的是Linux的启动文件和内核. initramfs-* 系统启动时的模块供应的主要来源 启动系统所需加 ...

  2. Linux(CentOS)文件操作命令

    touch命令 — 功能说明:生成新的空文件或更改现有文件的时间戳. — 命令格式:touch [参数] <文件> … — 常用参数: -a : 只更改访问时间. -m : 只更改修改时间 ...

  3. 两则C++知识点

    返回引用遵守的两条准则: 1. 不能返回局部变量: 2. 不能返回new出的量,因为可能是临时对象. const的用法: 1. 基本数据类型的写限制: 2. 函数的传入以及返回参数: 3. 类内的数据 ...

  4. 纯js实现瀑布流布局及ajax动态新增数据

    本文用纯js代码手写一个瀑布流网页效果,初步实现一个基本的瀑布流布局,以及滚动到底部后模拟ajax数据加载新图片功能. 缺点: 1. 程序不是响应式,不能实时调整页面宽度: 2. 程序中当新增ajax ...

  5. 阿里Druid数据库连接池使用

    阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好 可以监控连接以及执行的SQL的情况. 加入项目的具体步骤: 1.导入jar <parent> ...

  6. angularjs $watch demo

    <!doctype html> <html lang="en" ng-app> <head> <meta charset="UT ...

  7. js webstorm用法

    js  webstorm用法 一.什么是webstorm?       WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为“Web前端开发神器” ...

  8. iPhone 已停用

    如果你的iPhone上出现了如下的显示,你可以参考苹果官网上的  iOS设备已停用 如果你看到了这篇文章,你比我幸运多了. 参考这一个条目,你也许就不会丢失里面的数据了. 可怜的我,出现这个问题时还没 ...

  9. Android HTTPS(1)概念和简单示例

    Security with HTTPS and SSL The Secure Sockets Layer (SSL)—now technically known as Transport Layer ...

  10. 手持机连不上信道设置为13的AP

    这个是正常的, 因为每个国家的CHANNEL 都不一样, 中国和美国都只支持 CHANNEL 1- 11  欧洲会到 12, 13 channal , 日本会到CHANNEL 14 . "O ...