Parabel zeichnen und verschieben
-
Hallo!
Wie würdet ihr am geschicktesten eine Parabel zeichnen?! Ich habe es bisher so realisiert:CZeichnen::ZeichneParabel()
{
CClientDC dc(this);
double x,x_alt=0;
double y,y_alt=0;
for(double i=0;i<0.5;i+=0.001)
{
x=i*m_x_faktor;
y=m_Parabel*pow(i,2)*m_y_faktor;dc.MoveTo(x_alt+60,-y_alt+600);
dc.LineTo(x+60,-y+600);
x_alt=x;
y_alt=y;
if(y>=500)
break;
}
}Allerdings ist das über die Schleife ja nicht gerade toll und die Parabel soll jetzt auch noch mit der Maus verschiebbar sein. Wie könnte man dies realisieren?
Danke im Vorraus!
-
Ich würde einen CRectTracker nehmen und mir die Punkte der Parabel in ein Array schreiben das ich vorher mit einer Schleife fülle. Dann mit PolyBezier oder MoveTo/LineTo die Kurve malen. Kannst auch in ne Bitmap malen und die immer blitten wenn du kein Array willst. CRectTracker eignet sich zum verschieben sehr gut.