diff --git a/src/pulsaranimationwidget.cpp b/src/pulsaranimationwidget.cpp index 550476859f8574b0b1ba7476c46775f1690b2489..7fe75a3937ecbf9b45a551e56eb8c7d0dafa4882 100644 --- a/src/pulsaranimationwidget.cpp +++ b/src/pulsaranimationwidget.cpp @@ -679,9 +679,16 @@ void PulsarAnimationWidget::setPulsarMagneticAxisInclination(const int degrees) void PulsarAnimationWidget::setPulsarBeamAngle(const int degrees) { - m_pulsarBeamAngle = degrees; + double beamTexturePeakCorrectionFactor = 0.83; + double correctedOuterRadius; + // compute visual radius m_pulsarBeamOuterRadius = tan(deg2rad * degrees * 0.5f) * m_pulsarBeamLength; + + // compute corrected angle for pulse profile + correctedOuterRadius = m_pulsarBeamOuterRadius * beamTexturePeakCorrectionFactor; + m_pulsarBeamAngle = 2 * atan(correctedOuterRadius / m_pulsarBeamLength) * 180.0/PI; + updatePulseProfile(); updateGL();