Wiki-KopieMirror

Dies ist ein Mirror des Wikis von pascal.chat. Bearbeiten, Verlauf und Anmeldung finden dort statt.

Area Calculations Library/de

Deutsch · English

Eine Bibliothek zur Flächenberechnung.

pascal
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.

From the Free Pascal wiki, page "Area Calculations Library/de", as it stood on 2020-08-09 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Version 1, zuletzt geändert von WikiArchive .