案例需求:
在三维超声显示中,需要一个光源指示功能来示意光源是从什么方向照向胎儿的,从而帮助用户去理解当前胎儿三维显示的效果。如下图
基于以上需求需要实现以下几点功能:
1. 构造球体模型和光源模型;
2. 绕球体旋转光源;
3. 渲染光源和球体任意位置关系。
案例实现
胎儿用一个球体示意,光源用一个立方体示意。因为立方体的构造原理很简单,所以这里只对球体的构造原理进行说明。
构造球体模型
球是由一组经线和纬线上的点组成,如下图所示:
图1
计算球上点的坐标
下面以球的模型坐标系来计算球上任意一点P的坐标(xpos, ypos, zpos),如下图: