SRL Archive - Other Scripts

The value Ratios Of Sin/Cos


SKy Scripter

2007-04-12 17:12:59

Play it :)


program Value_Of_Ratios;

// by : Sky Scripter


Const
Sin_Height = 100;
Sin_Curve = 180; // must be 1 - 360

Cos_Height = 100;
Cos_Curve = 180; // must be 1 - 360

var
Canvas: TCanvas;

Procedure DrawSineEquation;
Var x, y, i, d:Integer;
begin
for i:= 0 to 720 do
begin
x:= i;
y:= Trunc(Sin_Height * Sin((pi / Sin_Curve) * x) + 200);
Canvas.Pixels[x, y]:= 46591;
for d:= 0 to 7 do
If (( d * 90 ) = i) then
Canvas.TextOut(x, y+1, inttostr(i - 360));
if (i = 720) then
Canvas.TextOut(x-15, y+1, inttostr(i - 360));
end;
end;

Procedure DrawCosSineEquation;
Var x, y, i:Integer;
begin
for i:= 1 to 720 do
begin
x:= i;
y:= Trunc(-Cos_Height * Cos((pi / Cos_Curve) * x) + 200);
Canvas.Pixels[x, y]:= 16711935;
end;
end;


procedure DrawRatios;
begin
Canvas:= GetDebugCanvas;
Canvas.Brush.Color:= clBlack;
Canvas.Brush.Style:= bsSolid;
Canvas.Pen.Color:= clBlack;
Canvas.Rectangle(0, 0, 720, 400);
Canvas.Pen.Color:= clWhite;
Canvas.MoveTo(0, 200);
Canvas.LineTo(720, 200);
Canvas.MoveTo(360, 0);
Canvas.LineTo(360, 400);
Canvas.Brush.Style:= bsClear;
Canvas.Font.Color:= Clwhite;
DrawSineEquation;
DrawCosSineEquation;
Canvas.Font.Color:= 46591;
Canvas.TextOut(10, 150-Sin_Height, 'y = Sine(x)');
Canvas.Font.Color:= 16711935;
Canvas.TextOut(70, 150-Cos_Height, 'y = Cos(x)');

end;

procedure SafeDrawRatios;
var
V: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('DrawRatios', V);
end;

begin
DisplayDebugImgWindow(725, 400);
SafeDrawRatios;
end.

GoF

2007-04-15 08:07:30

Sky is teh genious :D

Ur making this kinda sweet scripts like crazy.. Good job.. Again :)

SKy Scripter

2007-04-15 19:47:21

Thanks, :D