AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit atan/atan2

Ein Thema von Pflaumi · begonnen am 22. Mai 2019 · letzter Beitrag vom 3. Jun 2019
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Pflaumi
Pflaumi

Registriert seit: 21. Mai 2019
Ort: Reichenschwand
36 Beiträge
 
Delphi 7 Professional
 
#1

Probleme mit atan/atan2

  Alt 22. Mai 2019, 15:03
Hallo,
ich programmiere ein Spiel, wofür ich die Funktion "atan" oder "atan2" brauche.
Wenn ich jetzt schreibe: a := atan(50/50);
oder: a := atan2(50, 50);
dann kommt immer die Fehlermeldung "Spiel.pas(96): Undefinierter Bezeichner: 'atan'".
Muss man am Anfang irgenteine Klasse installieren/deklahieren?
Ich freue mich über Hilfe.

Falls du mehr anfangen kannst wenn du den Qelltext hast, dann schreib mir!
Felix
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Probleme mit atan/atan2

  Alt 22. Mai 2019, 15:42
Die Funktion müsste ArcTan() heißen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.117 Beiträge
 
Delphi 12 Athens
 
#3

AW: Probleme mit atan/atan2

  Alt 22. Mai 2019, 16:15
Richtig, und diese Unit bräuchte man dafür.

Delphi-Quellcode:
interface

uses
    System.Math
   ...
   ...
   ;

...
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Probleme mit atan/atan2

  Alt 22. Mai 2019, 18:26
Und nicht vergessen, daß die trigonometrischen Funktionen stets in Bogenmaß (= Radiant) "denken"...

Gruß
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Pflaumi
Pflaumi

Registriert seit: 21. Mai 2019
Ort: Reichenschwand
36 Beiträge
 
Delphi 7 Professional
 
#5

AW: Probleme mit atan/atan2

  Alt 23. Mai 2019, 15:56
Vielen Dank,
Jetzt habe ich noch ein Problem, ich möchte wissen, wie man dass, was arctan ausgibt,
in Grad umrechnet.
Kann mir jemand helfen?
Felix
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Probleme mit atan/atan2

  Alt 23. Mai 2019, 15:59
siehe hier -> https://www.frustfrei-lernen.de/math...-gradmass.html

.. oder RadToDeg aus der Math Library nutzen.

Grüße
Klaus
Klaus

Geändert von Klaus01 (23. Mai 2019 um 16:17 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#7

AW: Probleme mit atan/atan2

  Alt 23. Mai 2019, 16:21
Delphi-Quellcode:
Function DegToRad(x: Extended): Extended;
Begin
  Result:= x*Pi/180; // Pi/180 = 0,0174532925199432
End;


Function RadToDeg(x: Extended): Extended;
Begin
  Result:= x/(Pi/180); // Pi/180 = 0,0174532925199432
End;
Gruß
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Pflaumi
Pflaumi

Registriert seit: 21. Mai 2019
Ort: Reichenschwand
36 Beiträge
 
Delphi 7 Professional
 
#8

AW: Probleme mit atan/atan2

  Alt 26. Mai 2019, 14:59
Danke
kann mir noch jemand eine Funktion (oder etwass anderes) nennen,
wie man die Zahl auf ganze Grad runden kann.
Oder einfach allgemein eine Funktion zum Runden!
Das wäre cool
Felix
  Mit Zitat antworten Zitat
Heuman
(Gast)

n/a Beiträge
 
#9

AW: Probleme mit atan/atan2

  Alt 26. Mai 2019, 15:12
Hallo,

z.B. so

function cnc_round(fzahl: Extended): Extended;

begin

result := round(fzahl * 10000) / 10000;

end;


Gruß
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#10

AW: Probleme mit atan/atan2

  Alt 26. Mai 2019, 17:43
Hallo Felix,
etwas professioneller geht es so:
Delphi-Quellcode:
Function ArithRound(x: Extended): Int64;
Begin
  IF Frac(x) < 0.5 Then
    Result:= Floor(x)
  Else
    Result:= Ceil(x);
End;{ArithRound}
{--------------}
oder
Delphi-Quellcode:
Function ArithRound(x: Extended): Int64;
Begin
  Result:= Trunc(x + 0.5);
End;{ArithRound}
{--------------}
Gruß
Andreas

Geändert von Andreas13 (26. Mai 2019 um 17:45 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz