Autor Beitrag
Palmetshofer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mo 23.09.02 17:25 
Hi erstmal!

Es handelt sich hier um ein Programm mit dem man karthesiche Koordinaten in Polarkoordinaten umwandeln kann. Wie man das alles rechnet weis ich, aber ich brauch noch die Befehle dazu.

Also ich brauch nur ein paar befehle:

1. Ich brauche den befehl für sin, cos und tan und deren umkehrbefehle.
2. Ich muss wissen wie man zwischen DEG, RAD und GRAD umstellen kann.
3. Ob man mit den ² Tasten arbeiten kann oder im compiler etwas anderes eingeben muss wie z.B.: ^2 oda sowas!!


Danke für eure Hilfe im voraus!!

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
Fabian
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 42



BeitragVerfasst: Mo 23.09.02 17:40 
Hallo erstmal

1. Um die Befehle für sin, cos tan usw. zur Verfügung zu haben musst du erst die Unit math in deine uses Klausel aufnehmen. Leider wurde diese Unit nicht in allen Delphi Versionen mitgeliefert. Sollte diese Unit bei dir nicht vorhanden sein musst du dich nach einer Alternative umsehen.
Wenn diese Unit bei dir vorhanden ist lauten die Befehle sin(x), cos(x), tan(x), arcsin(x), arccos(x), arctan(x) um die Entsprechenden Werte für x zu errechnen. Beachte das x als Bogenmaß (Radiant) angegeben werden muss.

2. Um zwischen Deg, Rad und Grad umzurechnen stellt Delphi ebenfalls einige Funktionen zu verfügung. Wie z.B. DegToRad(x) um von Deg in Rad umzurechnen. Dementsprechend DegToGrad, RadToDeg, GradToRad usw.

3. Um das Quadrat einer Zahl zu erhalten musst du soweit ich weiß entweder die Power Funktion (Auch in der Unit math enthalten) benutzen

x:=Power(a, 2) um die Quadratzahl von a zu errechnen

x:=Power(a, n) um a hoch n zu berechnen.

oder du schreibst selbst eine Funktion die das Quadrat einer Zahl berechnet.

ausblenden Quelltext
1:
2:
3:
4:
function quadrat(a : Extended): Extended;
begin
  result:=a*a;
end;
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: Mo 23.09.02 17:49 
such mal nach dem Befehl arctan2, der ist dafür die allround-Lösung, aber pass auf: y vor x!!!

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mo 23.09.02 17:49 
Danke vielmals für die schnelle antwort !! da hab ich noch eine frage !! was ist die grundeinstellung in delphi bei sin() usw ?

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: Mo 23.09.02 17:53 
Fabian hat folgendes geschrieben:

oder du schreibst selbst eine Funktion die das Quadrat einer Zahl berechnet.

schon mal was von qrt gehört, warum immer gleich so kompliziert???
und X^Y versteht der Compiler glaub ich, ² oder ³ nicht

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mo 23.09.02 18:08 
hmm ok

aber ich wollt noch wissen was stadtart für sin() ist (Deg, rad o. Grad)?
und wie zieht man wurzeln??

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 24.09.02 07:25 
Hi
standardmässig arbeitet Delphi immer mit RAD. Wenn du die Wurzeln nicht von deinem Zahnarzt ziehen lassen willst (made in Kalau :lol: ) nimm SQRT.
Kleiner Tip: Wenn du in der Onlinehilfe eine Funktion anzeigen lässt, gibts da immer einen Verweis auf die Kategorie. Da stehen dann alle weiteren Funktionen dieser Art 8)
Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Di 24.09.02 15:46 
Hmm bei mir kommt wenn ich das hier mache:

ausblenden Quelltext
1:
Edit1.Text := FloatToStr(RadToDeg(10 * Cos(30)));					


88, irgendwas heraus aber es sollte 5 herauskommen!!
Was mach ich falsch??

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Di 24.09.02 16:15 
Hallo Palmetshofer,

es ist alles richtig, was Delphi berechnet.
Du musst genau aufpassen, wo du Bogenmaß und wo du Grad brauchst.

Bei dir:

cos(30) Das ist Bogenmaß! Ergebnis: 0.1543
Das ganze nimmst du mal Zehn. Ergebnis: 1.543

Aber erst dann rechnest du von Bogenmaß in Grad um.
--> Also: (1.543*180)/PI --> Ergebnis: 88.38.

Ist also alles richtig.

Und wie willst du auf 5 kommen?
cos(30) ist bei mir (in Gradmaß) 0.866

___________

Ex0rzist
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Di 24.09.02 16:17 
Achso ich sehe gerade. Du kommst nur auf 5, wenn du statt Cosinus den Sinus verwendest. Dann kommt es hin.
Aber auch nur, wenn du peinlichst genau auf Bogenmaß und Gradmaß achtest. :wink:

btw: DEG == Grad :wink:

________

Ex0rzist
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Di 24.09.02 17:23 
Um es gleich vorweg zu nehmen!!

DEG is NICHT Grad!!!

Deg = 360°
GRAD = 400° Wird in der vermessung gebraucht!!

Hmm ich werd mich da noch ein bissal spielen!!´

Hmm könnte mich mit Cos und sin täuschen aber meines erachtens kann sin nicht größer sein als 1 !! ! ists auch nur bei 90° !!!!!!!

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Di 24.09.02 18:00 
Du meinstest mit Grad bestimmt Neugrad. Das geht bis 400.
Dann habe ich dich eben missverstanden. Ich meinte Grad als deutsches Wort für degree (bis 360).

Wie auch immer.

Mit dem Ergebnis 5 nahm ich Bezug auf deine Beispielfunktion.
Mir ist schon klar, dass Sinus und Cosinus nicht größer als eins sein können. Aber du hattest ja noch mit 10 multipliziert. Daher 5.

_____________

Ex0rzist
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Di 24.09.02 18:46 
Hmm Habe mit zehn multipliziert weil wenn der Punkt P die koordinaten

P[10;30°] Hat muss man das so machen!!
Formel:

r * cos x°

oder eben sin!

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Di 24.09.02 19:00 
Woher soll ich denn bitte wissen, was du für Punkte hast?

Gehe bitte etwas sparsamer mit Ausrufezeichen um. Man hat immer den Eindruck, dass man angebrüllt wird.
Oder ist das wirklich so?


_____________

Ex0rzist
Tante
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41



BeitragVerfasst: Mi 25.09.02 10:30 
So, jetzt mische ich mich hier auch mal ein. :)
Zitat:


Edit1.Text := FloatToStr(RadToDeg(10 * Cos(30)));



Ich denke, der grundsätzliche Fehler ist, dass Du RadToDeg falsch anwendest.

Weil nicht das Ergebnis von cos(x) ist in Radiant, oder Degree angegeben, sondern x ist entweder Radiant oder Degree. Das Ergebnis ist in jedem Fall einfach nur eine Zahl, ohne Einheit. Deswegen macht es auch keinen Sinn, diese Zahl dann später mit RadToDeg umzurechnen
Sondern Du willst doch die 30° in Radiant umrechnen, damit die Cosinus-Funktion (oder von mir aus auch die Sinus-Funktion) dann richtig rechnen.

Es muß also heißen:
ausblenden Quelltext
1:
Edit1.Text := FloatToStr(10 * Cos(DegToRad(30)));					


Und wenn Du dann noch statt Cosinus den Sinus nimmst (wie Ex0rzist schon sagte), dann kommst Du auch auf Deine 5.
Also, um Mißverständnisse zu vermeiden:
ausblenden Quelltext
1:
Edit1.Text := FloatToStr(10 * Sin(DegToRad(30)));					


Okay? :D
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mi 25.09.02 17:54 
Danke für deine antwort!

Hab das programm schon fast fertig.
Hab trotzdem noch ne Frage:

Was ist die umkehrfunktion für Cos, Sin und Tan in delphi?

Danke

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Mi 25.09.02 18:14 
Palmetshofer hat folgendes geschrieben:
Was ist die umkehrfunktion für Cos, Sin und Tan in delphi?


ArcCos, ArcSin und ArcTan.

Das Ergebnis liegt im Bogenmaß vor.


___________

Ex0rzist
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mi 25.09.02 19:02 
So jetzt funktioniert alles!!

Als letzten feinschliff möchte ich automatisch erkennen lassen ob sich in einem textfeld ein '-' als "Vorzeichen" der zahl die derin enthalten is befindet. Einfach: Ist ein Minus im Textfeld oder nicht?
Könnte mir da jemand was posten?

Danke

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Mi 25.09.02 19:28 
Such mal in der Onlinehelp nach Pos.
Das wird dir weiterhelfen.
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mi 25.09.02 20:32 
In welcher online hilfe? irgenwo gibts die delphi 6 hilfe auf deutsch kann sie aber nit mehr finden! Weist du wo man sie her bekommt und kannst du code posten von dem was ich gefragt hab ?


danke

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius