zoukankan      html  css  js  c++  java
  • 全景图转水晶球视图原理详解

    前一篇博客中讲到怎么由全景图转到小行星,这次换一种投影方式说下由全景图转到水晶球模式。

    首先,还是要有一副全景图,风景秀丽是不是:

    1. 将其按照经纬展开法,贴到单位球面上。图像第一行聚集在一起成为球体的北极点;图像的最后一行像素聚集在一起成为球的南极点。

    2. 设定投影平面为与南极点相切的平面,观察者视点可以视为在无穷远处,我们要做的就是讲下半球面垂直投影到该平面上。

    3. 根据球面坐标(theta, fi),根据球面坐标theta值可以判断像素点是不是在需要投影的南半球面,而根据fi值可以解算出球面坐标系下的(x,y)坐标。

    4. 将符合南半球面的像素点(x,y)坐标转换到具体的图像坐标系,得到图像坐标(u,v)。

    当然,具体球面坐标系三个轴的朝向可以根据自己的习惯设定,符合右手坐标系准则即可。

    同理,当你转动球体的时候,球面不同位置半球的像素点将会投影到图像平面上,从而实现仿佛在转动水晶球的效果。

     下图是不同视角下观看到的水晶球效果图:

    我向右拨动水晶球,gif效果如下:

  • 相关阅读:
    E. You Are Given Some Strings...
    神奇函数
    AC自动机再加强版
    AC自动机2
    AC自动机
    three arrays
    permutation 2
    string matching
    permutation 1
    equation
  • 原文地址:https://www.cnblogs.com/riddick/p/9979085.html
Copyright © 2011-2022 走看看