.| Autor | Beitrag |
|---|---|
|
000 22.05.2003, 22:36 DolHalflife |
Hallo Programmierer/innen... Ich arbeite mit Visual C++, der von Microsoft hergestellt. Die Programm ist nicht alt, hat eine Version 6.0 mit Professional (legal, als Schülerversion besorgt). Ich möchte die Sinus (glaube ich) und Cosinus (glaube ich) jede Gradwinkel die Ergebnisse anzeigen lassen statt über Rechner (Taschenrechner) im PC tippen. Bis jetzt habe ich eine Problem mit Ausgabe der Sin. und Cos.. Ich gebe folgende Code...
Was habe ich falsch gemacht... PS: Unsere Schule habe geweigert, mich die Informationen über Sin und Cos zu übermitteln, naja diese Realschule, denn Sin und Cos ist auf ganzem Programm sehr wichtig, damit die Simulation ihre richtige Gradwinkel ansetzt... >:/ --I'm deaf
|
|
Profil || Suche |
|
001 22.05.2003, 22:43 Onkel Dittmeyer |
Die trigonometrischen Funktionen aus der math.h arbeiten alle mit _Bogenmaß_ (hoffe du weißt, was das ist), dein Taschenrechner arbeitet standardmäßig mit "echten" Gradwerten. Wenn du ihn auf den Modus Rad[ians] stellst, solltest du gleiche Ergebnisse erhalten. Um Grad in Rad umzurechnen machst du einfach sowas z.B.: Dieser Beitrag wurde am 22.05.2003 um 22:44 von Onkel Dittmeyer bearbeitet. |
|
Profil || Suche |
|
002 22.05.2003, 22:44 CN |
könnte es vielleicht sein dass die sin funktio nicht den winkel, sondern das bogenmass haben will crap Dieser Beitrag wurde am 22.05.2003 um 22:45 von CN bearbeitet. |
|
Profil || Suche |
|
003 22.05.2003, 22:46 ScyTheMan Moderator |
Das hatte ich doch neulich erst gefragt http://choerbaert.org
|
|
Profil || Suche |
|
004 22.05.2003, 22:49 CN |
O_o |
|
Profil || Suche |
|
005 22.05.2003, 23:00 DolHalflife |
Gut, ich werde das mal ausprobieren... *hofft auf gleiche Ergebnisse wie auf PcRechner...* Ich habe einige Links gesammelt über Sin und Cos... In diese Code steht nur Sin und Cos, kein Bogenmaß ?? O_o Bogenmaß meint ihr, dass wie auf dem Bild steht ? I'm deaf
|
|
Profil || Suche |
|
006 22.05.2003, 23:17 CN |
ja das is schon richtig
statt des winkels alpha nimmt man das bogenmass des kreissektors: b = 2 * pi * r * alpha/360 da der radius im einheitskreis 1 is kann man den weglassen b = 2pi * alpha/360 wenn alpha 180° is in der zeichnung is das grüne das bogenmass so ungefähr.. --Dieser Beitrag wurde am 22.05.2003 um 23:17 von CN bearbeitet. |
|
Profil || Suche |
|
007 23.05.2003, 00:18 DolHalflife |
Noch eine Frage, wenn ihr einverstanden wärt: Ich habe einige Engine sowie Halflife angeschaut, die tragen nur Sin und Cos ein ohne voher PI/180 einzuberechnen... hat die eine bessere Code als meins ? --I'm deaf
Dieser Beitrag wurde am 23.05.2003 um 00:18 von DolHalflife bearbeitet. |
|
Profil || Suche |
|
008 23.05.2003, 00:55 Retro |
es kann gut sein dass diese engine ausschließlich mit dem bogenmaß arbeitet... --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
009 24.05.2003, 00:15 Leviathan |
@Onkel Dittmeyer: Solche Funktionen macht man inline oder noch besser als Makro, damit es schneller wird. Und PI/180f würde ich auch noch als float-Konstante deklarieren, dann spart man sich die Division. Das ist allerdings nur interessant, wenn es in einem wirklich zeitkritischem Teil des Programms vorkommt. Es kann sein, dass Grafikengines komplett im Bogenmaß rechnen, weil sie überhaupt nicht darüber nachdenken, in welcher Einheit die Winkel nun angegeben sind. Je nachdem, wo die Winkel herkommen, sind sie automatisch schon Bogenmaß, z.B. arbeiten auch die Arcusfunktionen aus ANSI-C im Bogenmaß. --Entities: HL | HL² |
|
Profil || Suche |
|
010 24.05.2003, 01:04 DolHalflife |
Aha... und wie könnte ich vorstellen, wenn ich als Player durch 3D-Welt jage, Kamera (Perspektive), muss man in Code eintippne.. Vektor, usw... und alle verwenden nur SIN und COS (ohne PI/180)... 3D wird richtig angezeigt, aber ich könnte nicht verstehen, als wäre 3D falsch angezeigt, wenn ich es selbst codiere... --I'm deaf
|
|
Profil || Suche |
|
011 24.05.2003, 08:28 Tron |
stirb! Stirb! STIRB! @DH: 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
012 24.05.2003, 09:42 Onkel Dittmeyer |
Hrhr ich habe gewusst dass das kommt =) Du wirst lachen, aber ich habe es in meinen Projekten immer als inline deklariert und zuerst auch so eingefügt, aber ich wolltes einfach simpel halten... /edit Gibts eigentlich in OpenGL ne Rotate Funktion die mit Bogenmaß arbeitet? glRotatef(...) arbeitet ja mit Degrees :/ -- Dieser Beitrag wurde am 24.05.2003 um 09:47 von Onkel Dittmeyer bearbeitet. |
|
Profil || Suche |
|
013 24.05.2003, 10:21 Kriz |
*sich anschließt* -- K:R-I)Z++ |
|
Profil || Suche |
|
014 25.05.2003, 02:15 Leviathan |
Was habt ihr denn gegen Makros? Na gut, die sind nicht typensicher, aber dafür auch garantiert inline und superschnell. Gegen inline widersetzt sich der MS-Compiler afaik doch mal gerne, und _forceinline ist compilerabhängig. In C waren Makros noch etwas edles, aber das hat sich mit C++ ja etwas geändert. Vielleicht sollte man noch Neugrad anführen, bei dem in Gegensatz zu Altgrad ein Kreis nicht 360°, sondern 400 Neugrad hat. Ein rechter Winkel hat damit 100 Neugrad. Das hat sich aber nie so recht durchgesetzt, die meisten Taschenrechner können es aber noch (GRAD in der Anzeige). --Entities: HL | HL² |
|
Profil || Suche |
|
015 25.05.2003, 03:53 Retro |
makros... damit der precompiler brav bei jeder gelegenheit die komplette rechnung einsetzt? superschnell? haben wir die selbe definition von makros? ich für meinen teil meine jedenfalls dieses schöne wort define mit der # davor... --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |



