Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 05. 05. 2014 10:27 — Editoval Rassend (05. 05. 2014 10:47)

Rassend
Příspěvky: 94
Reputace:   
 

Delphi otacení konvertoru ..

Ahoj, potreboval bych pomoct. V delphi jsem uplny novacek. Potreboval bych aby se mi ten konvertor otacel na strany podle uhlu a ne tak do sebe ja kse mi otaci .. nevite kde je problem ? Budu vdecny za kazdou pomoc!!
Program:

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Image1.Canvas.brush.Color := clwhite;
Form1.Image1.Canvas.Rectangle(0,0,1000,1000);
x0:=300;
y0:=200;
x1:=20;
y1:=50;
x2:=40;
y2:=40;

Form1.Image1.Canvas.Pen.Color := clblack;

L1:=sqrt(x1*x1+y1*y1);
L2:=sqrt(x2*x2+y2*y2);
L3:=L2;
L4:=L1;
L5:=L1;
L6:=L2;
L7:=L2;
L8:=L1;
// delky stran

fi1:=arctan(x1/y1);
fi2:=arctan(x2/y2);
fi3:=arctan(pi+fi2);
fi4:=arctan(pi+fi1);
fi5:=arctan(2*pi+fi4);
fi6:=arctan(2*pi+fi3);
fi7:=arctan(2*pi+fi2);
fi8:=arctan(2*pi+fi1);
//Uhly

x0:=500;
fi:=fi+0.1;


k1x:=sin(fi1+fi)*L1;
k1y:=cos(fi1+fi)*L1;
k2x:=sin(fi2+fi)*L2;
k2y:=cos(fi2+fi)*L2;

k3x:=sin(fi3+fi)*L3;
k3y:=cos(fi3+fi)*L3;
k4x:=sin(fi4+fi)*L4;
k4y:=cos(fi4+fi)*L4;

k5x:=sin(fi5+fi)*L5;
k5y:=cos(fi5+fi)*L5;
k6x:=sin(fi6+fi)*L6;
k6y:=cos(fi6+fi)*L6;

k7x:=sin(fi7+fi)*L7;
k7y:=cos(fi7+fi)*L7;
k8x:=sin(fi8+fi)*L8;
k8y:=cos(fi8+fi)*L8;

// prepocitani hodnot  a vykresleni.
Form1.Image1.Canvas.MoveTo(round(x0-k1x),round(y0-k1y));
Form1.Image1.Canvas.LineTo(round(x0-k2x),round(y0-k2y));
Form1.Image1.Canvas.LineTo(round(x0-k2x),round(y0+k2y));
Form1.Image1.Canvas.LineTo(round(x0-k1x),round(y0+k1y));

Form1.Image1.Canvas.LineTo(round(x0+k1x),round(y0+k1y));

Form1.Image1.Canvas.MoveTo(round(x0+k1x),round(y0+k1y));
Form1.Image1.Canvas.LineTo(round(x0+k2x),round(y0+k2y));
Form1.Image1.Canvas.LineTo(round(x0+k2x),round(y0-k2y));
Form1.Image1.Canvas.LineTo(round(x0+k1x),round(y0-k1y));


Mozna je to vsechno spatne .. je to tkaovy pokus omyl.. Tak snad mi pomuzete aby se to otacelo :)
Body K1 je v pravo nahore a pak jdu protismeru hodinovych rucicek.


kdyby si to nekdo chtel davat do programu .. tak pridam i var at to nemnusite vypisovat.
Var
x0,y0,x1,y1,x2,y2:integer ;
L1,L2,L3,L4,L5,L6,L7,L8,fi1,fi2,fi3,fi4,fi5,fi6,fi7,fi8,k1x,k2x,k1y,k2y,fi,k3x,k4x,k5x,k6x,k7x,k8x,k3y,k4y,k5y,k6y,k7y,k8y:real   ;

Offline

  • (téma jako vyřešené označil(a) Rassend)

#2 05. 05. 2014 20:46

Rassend
Příspěvky: 94
Reputace:   
 

Re: Delphi otacení konvertoru ..

Vyresene díky..

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson