Hallo Leute ich hab da ein Problem.
und zwar hab ich mir ein Objekt programmiert das sich um seinen Mittelpunkt (mp) drehen soll.
Der Rahmen dreht sich auch aber das Raster bleibt hängen. Es hängt nur an einem Punkt fest und dreht sich nicht um den Mittelpunkt.
void raster::zeichne_dich()
{
int i;
TPoint mp, np1, np2, np3, np4, rp1, rp2, rp3, rp4;
mp.x=x;
mp.y=y;
np1.x=x-b/2; //Hier gebe ich die Linien des Rahmens an
np1.y=y-h/2;
np2.x=x+b/2;
np2.y=y-h/2;
np3.x=x+b/2;
np3.y=y+h/2;
np4.x=x-b/2;
np4.y=y+h/2;
rp1=Rotate(mp, np1, w); //Hier verschiebe ich die Punkte
rp2=Rotate(mp, np2, w); //um die angegebene Gradzahl.
rp3=Rotate(mp, np3, w);
rp4=Rotate(mp, np4, w);
cv->MoveTo(rp1.x,rp1.y); //Hier wird gezeichnet
cv->LineTo(rp2.x,rp2.y);
cv->LineTo(rp3.x,rp3.y);
cv->LineTo(rp4.x,rp4.y);
cv->LineTo(rp1.x,rp1.y);
for (i=0; i<dx; i++) //Und hier kommen die Rsterlinen
{ //ins Spiel, die sich aber sturr um
//Horizontale Linien //np1 dreht.
cv->MoveTo(rp1.x,rp1.y);
cv->LineTo(rp1.x,rp1.y+h/dx*i);
cv->LineTo(rp1.x+b,rp1.y+h/dx*i);
//Vertikale Linien
cv->MoveTo(rp1.x,rp1.y);
cv->LineTo(rp1.x+b/dx*i,rp1.y);
cv->LineTo(rp1.x+b/dx*i,rp1.y+h);
}
}
burn112 Gast |