本文整理汇总了Golang中github.com/soniakeys/unit.Angle.Mul方法的典型用法代码示例。如果您正苦于以下问题:Golang Angle.Mul方法的具体用法?Golang Angle.Mul怎么用?Golang Angle.Mul使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/soniakeys/unit.Angle
的用法示例。
在下文中一共展示了Angle.Mul方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Position
// Position computes apparent position angle and angular distance of
// components of a binary star.
//
// e is eccentricity of the true orbit
// a is angular apparent semimajor axis
// i is inclination relative to the line of sight
// Ω is position angle of the ascending node
// ω is longitude of periastron
// E is eccentric anomaly, computed for example with package kepler
// and the mean anomaly as returned by function M in this package.
//
// Return value θ is the apparent position angle, ρ is the angular distance.
func Position(e float64, a, i, Ω, ω, E unit.Angle) (θ, ρ unit.Angle) {
r := a.Mul(1 - e*E.Cos())
ν := unit.Angle(2 * math.Atan(math.Sqrt((1+e)/(1-e))*E.Div(2).Tan()))
sνω, cνω := (ν + ω).Sincos()
ci := i.Cos()
num := sνω * ci
θ = (unit.Angle(math.Atan2(num, cνω)) + Ω).Mod1()
ρ = r.Mul(math.Sqrt(num*num + cνω*cνω))
return
}
示例2: True
// True returns true anomaly ν for given eccentric anomaly E.
//
// Argument e is eccentricity. E must be in radians.
func True(E unit.Angle, e float64) unit.Angle {
// (30.1) p. 195
return unit.Angle(2 * math.Atan(math.Sqrt((1+e)/(1-e))*E.Mul(.5).Tan()))
}