Gamestudio Links
Zorro Links
Newest Posts
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
Why Zorro supports up to 72 cores?
by jcl. 04/26/24 11:09
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (Quad, VoroneTZ, 1 invisible), 862 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Flugzeug mit konstruktionsproblem #246312
01/14/09 16:08
01/14/09 16:08
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
hopfel Offline OP
User
hopfel  Offline OP
User

Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
Ich habe einen Flugsimulator gebaut. Mit Flugzeug, umgebung etc. nun hat sich aber ein problem aufgetan. Wenn ich während dem Spiel den roll-Winkel ändere, und dann den tilt-Winkel (für eine Kurve), fliegt mein Flugzeug nach oben, statt dass es sich dem roll-winkel anpasst und eine Steilkurve fliegt.
Mein Code:

flieger = me;
var kmh=3;
var mh=0;
while(1)
{
vec_set(camera.x,vector(-100,0,10));
vec_rotate(camera.x,my.pan);
vec_add(camera.x,my.x);
vec_set(camera.pan,nullvector);
ang_add(camera.pan,my.pan);


if(key_q&&kmh<35)
kmh+=0.5*time_step;
if(key_a&&kmh>3)
kmh-=0.5*time_step;
if(key_cuu)
my.tilt-=1*time_step;
if(key_cud)
my.tilt+=1*time_step;
if(key_cur)
mh=6;
if(key_cul)
mh=-6;
if(!key_cul&&!key_cur)
mh=0;

c_move(my,vector(kmh*time_step,0,0),nullvector,IGNORE_MODELS+GLIDE);
c_rotate(my,vector(0,0,mh*time_step),nullvector,IGNORE_MODELS+GLIDE);

wait(1);
}


Hilf mir, dir zu helfen!
Re: Flugzeug mit konstruktionsproblem [Re: hopfel] #246441
01/15/09 08:56
01/15/09 08:56
Joined: Aug 2005
Posts: 512
Bayern
Schmerzmittel Offline
User
Schmerzmittel  Offline
User

Joined: Aug 2005
Posts: 512
Bayern
Hm...das selbe Problem hatte ich auch.

Wenn mein Fliegerle sich auf eine Seite rollte, dann waren die Achsen vertauscht.

Stell dir das mal Bildlich vor. Wenn du ein Kreuz (in diesem Fall die Achsen) in die Mitte deines Fliegers setzen würdest und den Flieger dann drehst, drehen sich die Achsen auch mit. Dann fliegt er aber auch nach oben oder unten, weil die Achsen immer noch in diese Richtung schauen(also schräg in die Richtung schauen).

Anders kann ich es leider grad nicht erklären.
Probier mal einzeln, welche Achsen stimmen; also rauf, runter, links, rechts und in kombination miteinander.

Ich gucke heute mal nach meinem alten Script, vielleicht hilft dir das.

Grüße
Schmerzmittel

Last edited by Schmerzmittel; 01/15/09 08:58.

A7 Com V7.80
Re: Flugzeug mit konstruktionsproblem [Re: Schmerzmittel] #246461
01/15/09 11:07
01/15/09 11:07
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
hopfel Offline OP
User
hopfel  Offline OP
User

Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
also stimmen tut der Tilt und pan winkel. nur roll nicht.


Hilf mir, dir zu helfen!
Re: Flugzeug mit konstruktionsproblem [Re: hopfel] #246467
01/15/09 11:37
01/15/09 11:37
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline
Serious User
Widi  Offline
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
Das währe mit vec_rotateaxis lösbar, dreht eine Entity um eine achse, die schräg im Raum steht. Allerdings experimentiere ich zurzeit auch mit dem Befehl, bringe es aber nicht zum laufen. Siehe mein Topic:

Mein Topic

Vielleicht kannst du auch mit ang_add oder ang_rotate was anfangen...

Re: Flugzeug mit konstruktionsproblem [Re: Widi] #246602
01/15/09 20:43
01/15/09 20:43
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
hopfel Offline OP
User
hopfel  Offline OP
User

Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
Meine Engine kennt vec_rotateaxis nicht einmal, auch in der Hilfe kennt es den Ausdruck nicht.


Hilf mir, dir zu helfen!
Re: Flugzeug mit konstruktionsproblem [Re: hopfel] #246696
01/16/09 16:00
01/16/09 16:00
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
hopfel Offline OP
User
hopfel  Offline OP
User

Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
Habe das Problem jetzt auf die primitive Art und weise gelöst:

var kmh=3;
var mh=0;
var parti=0;
var tiltroll=0;
var panroll=0;
var rollhi=180;
var rollhi2=-90;
var rollhi3=90;

if(my.roll>180)
my.roll=-180;
if(my.roll<-180)
my.roll=180;
if(rollhi>180)
rollhi=-180;
if(rollhi<-180)
rollhi=180;
if(rollhi2>180)
rollhi2=-180;
if(rollhi2<-180)
rollhi2=180;
if(rollhi3>180)
rollhi3=-180;
if(rollhi3<-180)
rollhi3=180;

if(key_q&&kmh<35)
kmh+=0.3*time_step;
if(key_a&&kmh>3)
kmh-=0.3*time_step;
if(key_cuu)
{
my.tilt+=tiltroll/2;
my.pan+=panroll/2;
}
if(key_cud)
{
my.tilt-=tiltroll/2;
my.pan-=panroll/2;
}
if(key_cur)
mh=5;
if(key_cul)
mh=-5;
if(!key_cul&&!key_cur)
mh=0;

my.roll+=mh*time_step;
rollhi-=mh*time_step;
rollhi2-=mh*time_step;
rollhi3-=mh*time_step;
c_move(my,vector(kmh*time_step,0,0),nullvector,IGNORE_MODELS+GLIDE);

if(my.roll>-90&&my.roll<90)
panroll=(my.roll)/30;
if(my.roll<-89&&my.roll>-180||my.roll>89&&my.roll<180)
panroll=(rollhi)/30;

if(rollhi2>-90&&rollhi2<90)
tiltroll=(rollhi2)/30;
if(rollhi2<-89&&rollhi2>-180||rollhi2>89&&rollhi2<180)
tiltroll=(-rollhi3)/30;


naja aber eben.... nich gerade seriös


Hilf mir, dir zu helfen!
Re: Flugzeug mit konstruktionsproblem [Re: hopfel] #246702
01/16/09 17:30
01/16/09 17:30
Joined: Mar 2007
Posts: 75
Hamburg, Ger
Altimeter Offline
Junior Member
Altimeter  Offline
Junior Member

Joined: Mar 2007
Posts: 75
Hamburg, Ger
Das Problem liegt in der Flugphysik. Wenn dein Flugzeug Schräglage hat, dann zeigt der Auftriebsvector nicht mehr senkrecht nach oben, sondern steht schräg. Damit enthält er eine Komponente, die das Flugzeug zur Seite zieht.

Dein Programm müsste also zusätzlich auch eine c_move berechnung zur Seite machen. Müsste mit dem Sinus des Auftriebes gehen. Da ich bei dir keinen Auftrieb sehe, kannst du als Notbehelf auch sin(my.roll) * kmh nehmen. Deine pan-winkel änderung ergibt sich dann automatisch aus dem arc-Tangens des Seiten-kmh/Vorwärts-kmh verhältnisses, da das Flugzeug praktisch natürlich nicht quer fliegt (schiebt), sondern sich in die Strömung ausrichtet. Dafür ist das Seitenleitwerk da.
Flugmechanik ist ein komplexes Feld und schon wer halbwegs realistisches Verhalten will, kommt ohne Winkelfunktionen nicht hin. Denn du hast 6 Freiheitsgrade und für die bräuchte man mindestens 6 Funktionen pro loop.

Re: Flugzeug mit konstruktionsproblem [Re: Altimeter] #246707
01/16/09 18:23
01/16/09 18:23
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
hopfel Offline OP
User
hopfel  Offline OP
User

Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
Das heisst also wieder tüfteln smile wer sagt das Programierer faul sind! Dnake für die Antworten.


Hilf mir, dir zu helfen!

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1