diff --git a/src/core/geometry/qgsellipse.cpp b/src/core/geometry/qgsellipse.cpp index 4dafc0ef9b1..799efd07115 100644 --- a/src/core/geometry/qgsellipse.cpp +++ b/src/core/geometry/qgsellipse.cpp @@ -244,12 +244,12 @@ void QgsEllipse::pointsInternal( unsigned int segments, QVector &x, QVec const double sinAzimuth = std::sin( azimuth ); for ( double it : t ) { - *xOut++ = centerX + - mSemiMajorAxis * std::cos( it ) * cosAzimuth - - mSemiMinorAxis * std::sin( it ) * sinAzimuth; - *yOut++ = centerY + - mSemiMajorAxis * std::cos( it ) * sinAzimuth + - mSemiMinorAxis * std::sin( it ) * cosAzimuth; + const double cosT{ std::cos( it ) }; + const double sinT{ std::sin( it ) }; + *xOut++ = centerX + mSemiMajorAxis * cosT * cosAzimuth - + mSemiMinorAxis * sinT * sinAzimuth; + *yOut++ = centerY + mSemiMajorAxis * cosT * sinAzimuth + + mSemiMinorAxis * sinT * cosAzimuth; if ( zOut ) *zOut++ = centerZ; if ( mOut )