Ich hab schon lang nicht mehr mit Delphi gearbeitet, aber könnte es sein, dass eine float->integer Konvertierung ein floor ist?
Ich kenn die einzelnen Typen nicht, aber das klingt stark nach einem Rundungseffekt.
BTW: (
IMHO)
- Umlaute im Quellcode könnten Probleme machen
- Parameter "Punkt: Integer": Ich fänds besser, wenn das "punkt_ndx" heissen würde, schließlich ist es kein Punkt.
- Reine Geschwindigkeit: Ich geh davon aus, dass du die Funktion dann 8Mal für die einzelnen Eckpunkte aufrufst. Da sin/cos recht teure Funktionen sind, könntest du statt dem Winkel (der eigentlich auch ein float sein sollte) direkt die sin/cos-Werte als Parameter übergeben, und sie dann pro Drehung nur ein Mal ausrechnen.
- "x:=GetPunktKoordinate(Punkt,'x');" ist aber nicht das gleiche wie "x :=PunkteArray[Punkt,1];" oder?
Erwarte das Beste und bereite dich auf das Schlimmste vor.