zoukankan      html  css  js  c++  java
  • 几个经典的数学库之一学习---VCGlib(3)

    Camera and shot abstraction for managing views

    视图的定义,以及mesh的操作说明。 

    Shot(镜头) and camera(相机)

      shot摄像结构以及camera库。对于相机模块预览之后,shot (镜头)类的所有组件将会被介绍。然后给出重要操作的例子,如投影Projection 与 Un-Projection。以及在镜头之间与镜头与轨迹制件的部分。最后,单镜头的例子展示。

    The camera model

      一般情况下,摄像机参数可以分为以下两组:

      (1)Extrinsic (or external) parameters:外部参数, 即相机的位置等参数。

      (2)Intrinsic (or internal) parameters:内部参数,即与特别的相机特征,如焦距的长短等.

      透视相机模式:perspective camera model

      实际上,一个简单的透视相机模式,外部的参数用来将世界坐标系(world-coordinates )中的点(Xw,Yw,Xw)转化为相机3D坐标系中的点(X,Y,Z):

      

       外部参数是3X3的旋转矩阵R, 以及一个转移向量 T。即定义相机的朝向(正方向)与位置。为了将相机3D坐标系中的点专为2D图像平面坐标系Plane Coordinates(Xu,Yu), 需要知道View Point(视点)与图像平面(投影平面)的距离,即图中的OO1所示的距离。这个值,标记为f,作为 focul length(焦距长度),则在相机坐标与图像坐标中的点之间的关系是下面的关系:

       即:透视的效果,Z越远,则显示在XY面的投影越小;焦距f越大, 在投影片面的坐标Xu,Yu越大。

      透镜引入的失真(the distortion introduced by the lenses):

      总结:一个十分精确的相机模型可以进行以下描述:

    1. 一个3X3的旋转矩阵,一个转移向量T 作为外部参数;
    2. 焦炉的长度, 透镜误差的中心,以及一个或者多个的误差系数 ,作为内部参数。

      这些条件只是一个基本的保证,如果需要更精确的表征,则还需要其他内容(www.cnblogs.com/icmzn)

     The VCG Shot

      VCGlib中的镜头模型定义,可以在文件: vcg/math/shot.h中。

       shot(镜头)可以由两个元素组成:

      1. Extrinsics 参数组: 在类Shot中(ReferenceFrame框架引用)且包含ViewPoint, 与View Direction。作为 旋转矩阵 rot,以及转移向量 tra。 注意,tra对应 View Point , 且 rot 对应 引用框架的坐标轴,如下:

    rot[0][0 1 2] == X axis
    rot[1][0 1 2] == Y axis
    rot[2][0 1 2] == Z axis

      矩阵由坐上的3X3矩阵rot  并且第4列与(0.0.0.1)在底部行变换世界坐标到镜头应用框架坐标一致。

      

      2.Instrinsica 参数, 以Camera type 类型保存, vcg/math/camera.h文件。决定了在 camera中的 point的投影在2D的投影平面中。这些参数与外部extrinsic 参数无关,因为存在许多的shot(镜头)能够分享 intrinsic parameters 集合。

      Camera 属性如下:

      

     Code Examples

       http://vcg.isti.cnr.it/vcglib/group__code__sample.html#details

      给出了一些小栗子,来展示VCGlib的特性。

      在vcglib/apps/sample. , 可以使用qmake *。pro project 文件来编译每个文件。

    endl;

  • 相关阅读:
    20190922 模拟
    poj3417 Network/闇の連鎖[树上差分]
    poj3280 Cheapest Palindrome[区间DP]
    poj3691 DNA repair[DP+AC自动机]
    BZOJ1030 [JSOI2007]文本生成器[DP+AC自动机]
    loj2424 「NOIP2015」子串[字符串DP]
    poj1038 Bugs Integrated, Inc.[状压DP]
    第05组 Beta冲刺 (2/5)(组长)
    第05组 Beta冲刺 (1/5)(组长)
    第05组 Alpha冲刺 总结(组长)
  • 原文地址:https://www.cnblogs.com/icmzn/p/6669375.html
Copyright © 2011-2022 走看看