wobei alpha dann der winkel ist der von a und b eingeschlossen wird, in der schule hätte man ihn wahrscheinlich gamma genannt weil das der ist der der seite c gegenüber liegt...
-- ...fleißig wie zwei WeißbroteDieser Post wurde am 24.03.2004 um 17:12 Uhr von Windalf editiert.
naja das ist ja nur ne umbenennung (namen sind schall und rauch, du kannst die seite auch tante_fridas_ketchup nennen... ) wichtig ist das das ganze im gesammtkontext dann wieder stimmt
welche seite du also a b oder c nennst spielt ja eigentlich keine rolle ist mathematisch das gleiche
aber wenn du das so haben willst das auf auf der rechten seite steht ist das auch kein problem... daher auch mein kommentar das man das in der schule wohl gamma genannt hätte
um die formel mal anders zu schreiben damit die eindeutiger ist...
so ich bin komplet konfus wen ich das da lesen ich kopier mal die prozedur rein ...
Code:
procedure Tfrm_trigo.btn_berechnenClick(Sender: TObject); var a,b,c,alpha,flaeche:real; begin a:=strtofloat(edt_zahl1.Text); b:=strtofloat(edt_zahl2.Text); c:=strtofloat(edt_zahl3.Text); if ((a+b)>=c) and ((b+c)>=a) and ((a+c)>=b) then begin alpha:=arccos(a^2-b^2-c^2+2*(b*c)); lbl_ausgabe.Caption:='Der Winkel Alpha beträgt '+floattostr(alpha); end else begin showmessage('Das ergibt kein Dreieck!'); end; end;
das problem ist er nimmt arccos nicht an es geht hier um ein algemeines dreieck wie du siehst a+b darf nicht kleiner als C sein da ja sonst die seite c zu kurz ist um an a bzw b anzuschliesen und es würde kein dreieck ergeben sondern ein hacken
so hier hast auch was zu lesen
vieleicht kannst du mir da weiter helfen ach so habe delphi 6 englisch
Bearbeitung von loddab:
code-Tags gesetzt. Ist so leichter lesbar
Dieser Post wurde am 25.03.2004 um 11:36 Uhr von loddab editiert.
also du meinst sagen wir wir nehmen das beispiel mit a,b,c
also wäre es c²=a²+b²-2ab*cos(gamma)
da gamma von a und b eingeschlossen wird ich will aber alles auser cos(gamma) auf die seite von c² bringen das würde ja dan so aus sehen
c²-a²-b²+2ab=cos(gamma)
ich habe also +a² und +b² mit -a² und -b²auf die andere seite gebraucht und das -2ab mit +2ab auch aif die seite von c² gebracht also steht nur mehr cos(gamma) da wie rechne ich also cos(gamma) in gamma um ?? is doch einfach :P
ihr seid ja PRO(grammierer )
er nimmt arccos nicht an gibts da was anderes ? oder hab ich was falsch gemacht ?
naja ich behersche zwar kein delphi aber ich würde mal spontan sagen wenn er arccos nicht annimmt liegt das entweder daran das du eine mathebibliothek nicht eingebunden hast, oder daran das arccos in delphi anders heisst... vermutlich acos...
dann ist nach ein fehler in deiner formel... wenn du den winkel ausrechnen willst musst du durch 2*a*b( oder wie auch immer nun die beiden seiten heissen die am winkel anliegen) teilen
naja das du ja anscheinend alpha ausrechnen willst und bei dir alpha vermutlich der winkel ist der der a seite gegenüberliegt muss dass dann in etwa so aussehen...
alpha:=arccos((b^2+c^2-a^2)/(2*b*c));
jetzt musst du nur noch rausbekommen wie arccos in delphi heisst (wie gesagt ich würde stark auf acos tippen) und welche lib du gegebenfalls einbinden musst damit der arccos kennt...
ferner wird der den winkel vermutlich nicht im bogen sondern im radiantenmass ausrechnen, soll heissen wenn du den winkel in grad haben willst musst du noch mit 180/Pi multiplizieren... -- ...fleißig wie zwei WeißbroteDieser Post wurde am 24.03.2004 um 19:50 Uhr von Windalf editiert.
naja erstens hab ich auch kein plan von delphi und zum anderen hilft pointer typ requiered nicht wirklich viel, an irgend einer stelle rufst du wohl eine funktion auf die lieber einen pointer hätte, dein compiler müsste dir eingentlich auch sagen an welcher stelle er das nicht mag...
kann denn hier sonst keiner delphi? -- ...fleißig wie zwei WeißbroteDieser Post wurde am 24.03.2004 um 20:06 Uhr von Windalf editiert.