🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::CylindricalEclipseCalculator类 参考final

#include <CylindricalEclipseCalculator.hpp>

+ 类 ast::CylindricalEclipseCalculator 继承关系图:

Public 成员函数

double getLightingRatio (const TimePoint &time, const Vector3d &position, Frame *frame) override
 
- Public 成员函数 继承自 ast::EclipseCalculator
 EclipseCalculator (CelestialBody *lightSource)
 
CelestialBodylightSource () const
 
void setLightSource (CelestialBody *lightSource)
 
void setOccultingBodies (const std::vector< HCelestialBody > &occultingBodies)
 
void addOccultingBody (HCelestialBody occultingBody)
 

额外继承的成员函数

- Protected 属性 继承自 ast::EclipseCalculator
HCelestialBody lightSource_ {nullptr}
 
std::vector< HCelestialBodyoccultingBodies_
 

详细描述

圆柱阴影模型光照计算器

使用圆柱阴影模型计算光照强度。该模型假定光源为平行光(光源无穷远), 遮挡体在光源反方向投射出一个圆柱形阴影。 当观测者位于阴影圆柱内时,返回全阴影(0); 否则返回全光照(1)。 该模型没有半影区,结果为二值(0或1)。

成员函数说明

◆ getLightingRatio()

double ast::CylindricalEclipseCalculator::getLightingRatio ( const TimePoint & time,
const Vector3d & position,
Frame * frame )
overridevirtual

计算光照强度

参数
time时间点
position观测者位置(相对于 frame 坐标系)
frame观测者所在参考系
返回
光照强度, 0: 全阴影, 1: 全光照(圆柱模型无半影)
待办事项
计算遮挡时总是假设遮挡体是个完美球形,如果是其他形状,需要改进计算方法

实现了 ast::EclipseCalculator.


该类的文档由以下文件生成: