diff --git a/renderarea.cpp b/renderarea.cpp index 9f7a2a7..6c242b8 100644 --- a/renderarea.cpp +++ b/renderarea.cpp @@ -11,23 +11,34 @@ RenderArea::RenderArea(QWidget *parent) : } QPointF RenderArea::ComputeAstroid(double t){ - double cos_t{cos(t)},sin_t{sin(t)},x{2*cos_t*cos_t*cos_t},y{2*sin_t*sin_t*sin_t}; - return QPointF{x,y}; + return QPointF{ + 2*pow(cos(t),3), + 2*pow(sin(t),3) + }; } QPointF RenderArea::ComputeCycloid(double t) { - + return QPointF{ + 1.5 * (1 - cos(t)), + 1.5 * (t - sin(t)) + }; } QPointF RenderArea::ComputeHuygens(double t) { - + return QPointF{ + 4 * (3 * cos(t) - cos(3 * t)), + 4 * (3 * sin(t) - sin(3 * t)) + }; } QPointF RenderArea::ComputeHypo(double t) { - + return QPointF{ + 1.5 * (2 * cos(t) + cos(2 * t)), + 1.5 * (2 * sin(t) - sin(2 * t)) + }; } QSize RenderArea::minimumSizeHint() const @@ -70,16 +81,22 @@ void RenderArea::OnShapeChanged() case Astroid: mScale=50; mIntervalLenght=2*M_PI; - mStepCount=256; + mStepCount=512; break; case Cycloid: - + mScale=10; + mIntervalLenght=6*M_PI; + mStepCount=128; break; case HuygensCycloid: - + mScale=10; + mIntervalLenght=4*M_PI; + mStepCount=512; break; case HypoCycloid: - + mScale=50; + mIntervalLenght=2*M_PI; + mStepCount=256; break; default: break;