WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Simulationen > Designer Forum

Designer Forum Treffpunkt für Gedankenaustausch von Simmern, die selbst

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 23.11.2003, 20:12   #31
philharmony
Master
 
Registriert seit: 11.03.2003
Alter: 41
Beiträge: 610


philharmony eine Nachricht über ICQ schicken
Standard

OK, kam ja wieder einiges an Info zusammen, danke an alle. Also erstmal zu den "H"s, hätt ich mir denken können das das für hex steht*lach* aber einige der offsets aus deinem besipiel sind dreistellig, sind das die mit "0" am anfang?

@Markus
Canvas is halt das einzige mit dem ich je grafisch programiert habe, was ist open gl und wie funktioniert es?
Und wie kann ich den ne WORD-Variable denn nu so umrechnen oder formatieren dass sie den korrekten wert anzeigt?
grüssle Phil
philharmony ist offline   Mit Zitat antworten
Alt 24.11.2003, 10:05   #32
MarkusV
Elite
 
Registriert seit: 18.01.2000
Alter: 51
Beiträge: 1.264


Standard

> Canvas is halt das einzige mit dem ich je grafisch programiert habe
> was ist open gl und wie funktioniert es?

Gut, aber Canvas ist einfach für so etwas nicht geeignet, da viel zu langsam und unflexibel. Ich bin vor zwei Jahren den gleichen Weg gegangen und habe nach kürzester Zeit alles verworfen und bin auf OpenGL umgestiegen.

OpenGL ist - wie gesagt - eine Grafikschnittstelle zur Grafikhardware. Im Prinzip also das gleiche wie DirectX. Du sagst der Hardware (bzw. dem Treiber), wo deine Kamera steht, wo die Lichtquellen und wo deine Grafikobjekte und die Grafikkarte berechnet das Bild. Bei einer reinen 2D-Szene wie einem ND ist es sogar noch einfacher - du mußt "nur" die entsprechenden Vektorlinien zeichen.
Infos? http://www.opengl.org
Tutorials gibt es ohne Ende im Netz, ein guter Einstieg ist http://www.delphi3d.net - aber nimm auch google.

> Und wie kann ich den ne WORD-Variable denn nu so umrechnen oder formatieren
> dass sie den korrekten wert anzeigt?

Hatte ich doch auch schon erklärt ...

a = vorzeichenbehafteter Wert
M = Maximaler Wert, den ein Byte / Word etc annehmen kann. (also 256, 65536 usw)
c = Wert ohne Vorzeichen

dann a = c - M bzw c = a + M, also

-10 (vorzeichen) == +65526 (ohne Vorzeichen) sind für den Computer identische Werte.

Markus
____________________________________
WinPS1 - Aerowinx PS1.3 als echte Windows-Applikation
MarkusV ist offline   Mit Zitat antworten
Alt 24.11.2003, 10:29   #33
philharmony
Master
 
Registriert seit: 11.03.2003
Alter: 41
Beiträge: 610


philharmony eine Nachricht über ICQ schicken
Standard

ok, werd mir das nachher nochma in ruhe anschauen, das problem is ja, dass zb der VS-wert sowohl positiv, als auch negativ sein kann, und eine if vs<0 then abfrage geht ja in dem fall nicht, da dieser wert ja nie kleiner 0 wird...
philharmony ist offline   Mit Zitat antworten
Alt 24.11.2003, 10:57   #34
HansHartmann
Inventar
 
Registriert seit: 12.02.2001
Alter: 57
Beiträge: 2.908


Standard

Nimm einfach integer statt dword und schon geht's (Ich hatte bei meiner Liste nicht an die vorzeichenbehafteten Werte gedacht). Hier also die aktualisierte Fassung:

1 Byte o. VZ: Byte
1 Byte m. VZ: Shortint
2 Byte o. VZ: Word
2 Byte m. VZ: Smallint
4 Byte o. VZ: DWord (oder Cardinal oder Longword)
4 Byte m. VZ: Integer
8 Byte: Double

Der FS speichert die Vertical Speed übrigens als 1/256 Meter pro Sekunde ab. Du musst den Ergebniswert also erst durch 1.30048 teilen, bevor Du Fuss pro Minute bekommst.
____________________________________
Bis dann,
Hans
Digital Aviation
HansHartmann ist offline   Mit Zitat antworten
Alt 26.11.2003, 16:11   #35
philharmony
Master
 
Registriert seit: 11.03.2003
Alter: 41
Beiträge: 610


philharmony eine Nachricht über ICQ schicken
Standard

also es funktionier alles wunderbar, ausser pitch/bank sowie Lat/long, da kommen immernoch komische werte bei raus,könnte dafür jmd ein beispiel posten? es funzt einfach nicht:

FSUIPC_READ($0560, 8, @dausgabe, dwresult);
FSUIPC_Process(dwresult);
latitude:= dausgabe * 90.0/(10001750.0 * 65536.0 * 65536.0);
edit3.text:= floattostr(latitude);

FSUIPC_READ($0578, 4, @intausgabe, dwresult);
FSUIPC_Process(dwresult);
pitch:= intausgabe * *360/(65536*65536);//hier gibt es auch immer einen "überlauf fehler" habs in mehreren schritten versucht, sowie mit *0.0256+(-0,25); immer mist//
edit6.text:= floattostr(pitch);
ach ja VAR: dausgabe : double, intausgabe : integer;

was mache ich falsch? grüssle Phil
philharmony ist offline   Mit Zitat antworten
Alt 28.11.2003, 02:34   #36
ts-abc
Jr. Member
 
Registriert seit: 11.10.2003
Beiträge: 20


Standard

Hi Phil,

Versuche es mal so dann müsste der Überlauffehler weg sein da Delphi sich beschwert bei Ergebnissen über 32bit im Integerbereich.

pitch := intausgabe * 360/(65536.0 * 65536.0);

Nach Beschreibung von FSuipc müssten die Rechenwege richtig sein.
Was bekommst du denn für werte raus?

Gruß
Thomas
ts-abc ist offline   Mit Zitat antworten
Alt 28.11.2003, 18:17   #37
philharmony
Master
 
Registriert seit: 11.03.2003
Alter: 41
Beiträge: 610


philharmony eine Nachricht über ICQ schicken
Standard

entweder kommt "0" raus oder 7 oder 8 stellige, sich dandauernd ändernde werte, also sec1:6687439 sec2: 4509832498 usw. kein zusammenhabng erkennbar, ab und zu aus mit E-8 oder sowas am ende, also *10^-9, den überlauffehler hab ich in den griff gekrieget, indem ich die rechnung step by step durchführen lies, ich weiss nicht mehr weiter, haben sich evtl die offsets für den 2k2 geändert? ich bekomme alle werte raus, heading, altitude, airspeed usw, nur bei den winkel und lat long angaben spinnt alles
philharmony ist offline   Mit Zitat antworten
Alt 28.11.2003, 18:30   #38
philharmony
Master
 
Registriert seit: 11.03.2003
Alter: 41
Beiträge: 610


philharmony eine Nachricht über ICQ schicken
Standard

ok, der überlauffehler ist weg, jetzt kommen immer 0,00xyz werte raus, allerdings auch imnmer zwischen + und - wechselnd unabhängig von der fluglage, aber nur zur richtigstellung, pitch ist die fluglage, nose up/dn und Bank die schräglage nach l/r die am künstlichen horizont angezeigt wird oder?
grüssle Phil
philharmony ist offline   Mit Zitat antworten
Alt 05.12.2003, 00:03   #39
ts-abc
Jr. Member
 
Registriert seit: 11.10.2003
Beiträge: 20


Standard

Hi Phil,

Habe mich jetzt einmal ein bisschen mit FSuipc beschäftig, das mit Pich nose up/down und Bank Schräglage nach l/r ist natürlich Richtig nur was ist hierbei die Formel zum errechnen der Werte?

Ich habe mir einmal die Rohwerte von Pitch angesehen die FSuipc ausspuckt und diese werden bei nose down Plus-Werte und bei nose up Minus-Werte habe nun mal folgendes vor der Formel von FSuipc gesetzt:

Pitch*0.0256*(-0.25)*360/(65536.0*65536.0)

aber das ist mit Sicherheit noch nicht die richtige Formel aber ein Ansatz. Da ich nicht wirklich weiß was für werte am ende Rauskommen müssen kann ich nicht viel dazu sagen.

Was Lat/Lon betrieft da werde ich mir noch einmal die Rohwerte von FSuipc ansehen dann mal sehen denn bei Lat/Lon kommt bei mir grundsätzlich null raus.

Gruß Thomas
ts-abc ist offline   Mit Zitat antworten
Alt 05.12.2003, 14:20   #40
philharmony
Master
 
Registriert seit: 11.03.2003
Alter: 41
Beiträge: 610


philharmony eine Nachricht über ICQ schicken
Standard

hi, danke für diene hilfe, das proble ist, die formel hab ich auch schon, es kommt einfach da nichts vernünftiges bei raus, viel wichtiger ist in dem fall, in welchen variablen typ muss ich die denn speichern?
also dwresult ist immer dword oder? das ist das was ausm fsuioc kommt, dann das mit dem @davor ist der wert in den die funktion process es dann umwandelt und die muss den richtigen typ aben, korrekt?
grüssle phil
philharmony ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist an.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:15 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag