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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    洛谷 P1363 幻想迷宫
    洛谷 P2872 [USACO07DEC]道路建设Building Roads
    字符编码
    python 基础数据类型
    python基础数据类型
    Python中的流程控制
    Python的入门基础
    计算机基础
    Java Random 随机数
    Java Array二维数组使用
  • 原文地址:https://www.cnblogs.com/riddick/p/9979085.html
Copyright © 2011-2022 走看看