Area Calculations Library/de
From Lazarus wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
Eine Bibliothek zur Flächenberechnung.
unit uFlaeche;
{$mode objfpc}{$H+}
{$IMPLICITEXCEPTIONS OFF}
interface
uses
SysUtils;
function funFlaecheQuadrat(dblL: double): double;
function funEckmassQuadrat(dblL: double): double;
function funLaengeQuadrat(dblA: double): double;
function funUmfangQuadrat(dblL: double): double;
function funFlaecheRechteck(dblL, dblB: double): double;
function funEckmassRechteck(dblL, dblB: double): double;
function funUmfangRechteck(dblL, dblB: double): double;
function funFlaecheRhomboid(dblL, dblB: double): double;
function funUmfangRhomboid(dblL, dblB: double): double;
function funFlaecheTrapez(dblL1, dblL2, dblB: double): double;
function funMittlereLaengeTrapez(dblL1, dblL2: double): double;
function funUmfangTrapez(dblL1, dblL2, dblL3, dblL4: double): double;
function funFlaecheDreieck(dblL, dblB: double): double;
function funUmfangDreieck(dblL1, dblL2, dblL3: double): double;
function funHoeheGleichseitigesDreieck(dblL: double): double;
function funFlaecheKreis(dblD: double): double;
function funUmfangKreis(dblD: double): double;
function funRadiusKreis(dblA: double): double;
function funFlaecheKreisausschnitt(dblA, dblD: double): double;
function funSehnenlaengeKreisausschnitt(dblR, dblA: double): double;
function funBogenlaengeKreisabschnitt(dblR, dblA: double): double;
function funSehnenlaengeKreisabschnitt(dblR, dblB: double): double;
function funBreiteKreisabschnitt(dblR, dblL: double): double;
function funFlaecheElipse(dblD1, dblD2: double): double;
function funUmfangElipse(dblD1, dblD2: double): double;
implementation
function funFlaecheQuadrat(dblL: double): double;
begin
// dblL ist die Länge
Result := dblL * dblL;
end;
function funEckmassQuadrat(dblL: double): double;
begin
// dblL ist die Länge
Result := (sqrt(2)) * dblL;
end;
function funLaengeQuadrat(dblA: double): double;
begin
// dblA ist die Fläche
Result := sqrt(dblA);
end;
function funUmfangQuadrat(dblL: double): double;
begin
// dblL ist die Länge
Result := 4 * dblL;
end;
function funFlaecheRechteck(dblL, dblB: double): double;
begin
// dblL ist die Länge
// dblB ist die Breite
Result := dblL * dblB;
end;
function funEckmassRechteck(dblL, dblB: double): double;
begin
// dblL ist die Länge
// dblB ist die Breite
Result := sqrt(dblL + dblB);
end;
function funUmfangRechteck(dblL, dblB: double): double;
begin
// dblL ist die Länge
// dblB ist die Breite
Result := 2 * (dblL + dblB);
end;
function funFlaecheRhomboid(dblL, dblB: double): double;
begin
// Rhomboid = Parallelogramm
// dblL ist die Länge
// dblB ist die Breite
Result := dblL * dblB;
end;
function funUmfangRhomboid(dblL, dblB: double): double;
begin
// Rhomboid = Parallelogramm
// dblL ist die Länge
// dblB ist die Breite
Result := 2 * (dblL * +dblB);
end;
function funFlaecheTrapez(dblL1, dblL2, dblB: double): double;
begin
// dblL1 ist die große Länge
// dblL2 ist die kleine Länge
// dblB ist die Breite
Result := ((dblL1 * dblL2) / 2) * dblB;
end;
function funMittlereLaengeTrapez(dblL1, dblL2: double): double;
begin
// dblL1 ist die große Länge
// dblL2 ist die kleine Länge
Result := (dblL1 * dblL2) / 2;
end;
function funUmfangTrapez(dblL1, dblL2, dblL3, dblL4: double): double;
begin
// dblL1 bis dblL4 sind die Längen des Trapezes
Result := dblL1 + dblL2 + dblL3 + dblL4;
end;
function funFlaecheDreieck(dblL, dblB: double): double;
begin
// dblL ist die Länge
// dblB ist die Breite
Result := (dblL * dblB) / 2;
end;
function funUmfangDreieck(dblL1, dblL2, dblL3: double): double;
begin
// dblL1 bis dblL3 sind die Längen des Trapezes
Result := dblL1 + dblL2 + dblL3;
end;
function funHoeheGleichseitigesDreieck(dblL: double): double;
begin
// dblL ist die Länge
Result := 0.5 * sqrt(3) * dblL;
end;
function funFlaecheKreis(dblD: double): double;
begin
// dblD ist der Durchmesser
Result := (PI * (dblD * dblD)) / 4;
end;
function funUmfangKreis(dblD: double): double;
begin
// dblD ist der Durchmesser
Result := PI * dblD;
end;
function funRadiusKreis(dblA: double): double;
begin
// dblA ist die Fläche
Result := sqrt(dblA / PI);
end;
function funFlaecheKreisausschnitt(dblA, dblD: double): double;
begin
// dblD ist der Kreisdurchmesser
// dblA ist der Mittelpunktswinkel
Result := (PI * (dblD * dblD) / 4) * (dblA / 360);
end;
function funSehnenlaengeKreisausschnitt(dblR, dblA: double): double;
begin
// dblR ist der Radius
// dblA ist der Mittelpunktswinkel
Result := 2 * (dblR * (sin(dblA / 2)));
end;
function funBogenlaengeKreisausschnitt(dblR, dblA: double): double;
begin
// dblR ist der Radius
// dblA ist der Mittelpunktswinkel
Result := ((PI * dblR) * dblA) / 180;
end;
function funSehnenlaengeKreisabschnitt(dblR, dblB: double): double;
begin
// dblR ist der Radius
// dblB ist die Breite
Result := 2 * sqrt(dblB * ((2 * dblR) - dblB));
end;
function funBreiteKreisabschnitt(dblR, dblL: double): double;
begin
// dblR ist der Radius
// dblL ist die Sehnenlänge
Result := dblR - (sqrt((dblR * dblR) - ((dblL * dblL) / 4)));
end;
function funFlaecheElipse(dblD1, dblD2: double): double;
begin
// dblD1 ist der Grosse Durchmesser der Elipse
// dblD2 ist der kleine Durchmesser der Elipse
Result := (Pi * dblD1 * dblD2) / 4;
end;
function funUmfangElipse(dblD1, dblD2: double): double;
begin
// dblD1 ist der Grosse Durchmesser der Elipse
// dblD2 ist der kleine Durchmesser der Elipse
Result := (Pi / 2) * (dblD1 + dblD2);
end;
end.