书接上文,继续探索加约束条件的可见性分析问题。上代码,还是想让大家能自己写一下:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘access’);
sc = root.CurrentScenario;
sat = sc.Children.New(18,‘mysat’);
sat.Propagator.Propagate;
fac = sc.Children.New(‘eFacility’,‘myfac’);
ac = sat.GetAccessToObject(fac);
ac.ComputeAccess();
accessConstraints = sat.AccessConstraints;
%查看可支持的约束类别
accessConstraints.AvailableConstraints()
MATLAB与STK互联20:卫星对象操作(11)—加约束条件的可见性问题分析(光照约束)
约束类别还是很多的,大家可以查看一下。
(2)光照条件约束:
light = accessConstraints.AddConstraint(‘eCstrLighting’);
light.Condition = ‘eDirectSun’;
执行以上语句,效果如下:
MATLAB与STK互联20:卫星对象操作(11)—加约束条件的可见性问题分析(光照约束)将约束改为地影
light.Condition = ‘eUmbra’;
效果如下图:
MATLAB与STK互联20:卫星对象操作(11)—加约束条件的可见性问题分析(光照约束)
再改为光照约束,可见弧段恢复。
light.Condition = ‘eDirectSun’;
移除光照约束
accessConstraints.RemoveConstraint(‘eCstrLighting’)

这里尝试一下将约束加在不同对象的效果:
获取地面站约束控制句柄
facConstraints = fac.AccessConstraints;
faclight = facConstraints.AddConstraint(‘eCstrLighting’);
faclight.Condition = ‘eDirectSun’;
执行上述语句,则有以下效果:
MATLAB与STK互联20:卫星对象操作(11)—加约束条件的可见性问题分析(光照约束)
facConstraints.RemoveConstraint(‘eCstrLighting’)
执行上述语句,可见弧段恢复。
因此,在分析可见性问题时,要明确控制那个对象。

相关文章:

  • 2021-05-21
  • 2021-12-03
  • 2022-12-23
  • 2021-08-10
  • 2021-07-22
  • 2021-10-24
猜你喜欢
  • 2021-10-03
  • 2021-10-18
  • 2021-12-17
  • 2021-11-04
  • 2021-08-17
  • 2021-07-13
  • 2022-12-23
相关资源
相似解决方案