AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

zwei Kurse vergleichen

Ein Thema von SimStar001 · begonnen am 29. Mär 2009
Antwort Antwort
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#1

zwei Kurse vergleichen

  Alt 29. Mär 2009, 15:09
Hallo, ich brauche ne funktion die zwei Kurse miteinander vergleicht.


ich habe mir auch schon was überlegt. aber das funktioniert irgendwei nicht so recht...

Und zwar habe Ich kurs1 --> True_heading und Kurs2 --> calc_heading

es soll nun verglichen werden, ob calc_heading innerhalb von True_heading +- 90° liegt.

Problem hierbei ist der 360 / = ° Sprung.

Wie kann ich die beiden Kurse vergleichen=?
hier mal mein code:

Delphi-Quellcode:
function Vergleiche_heading(True_heading, calc_heading : integer): boolean;
var heading1 , heading2 : integer;
begin
  dec(true_heading,90);
  inc(true_heading,90);

  if (heading1 > 180) and (heading2 > 0) then
    dec(heading1,360);

  if (heading1 > -180) and (heading2 >= 0) and (calc_heading >= 180) then
    dec(calc_heading,360);

  result := false;

  if (calc_heading >= heading1) and (heading2 >= calc_heading) then
    result := true;

end;


EDIT:

So ich glaube ich habs geschafft:
hier der neue Code:

Delphi-Quellcode:
// Diese Funktion prüft die Kurse auf einen Wert +- 90°
function Vergleiche_heading(True_heading, calc_heading : integer): boolean;
var heading1 , heading2 : integer;
begin
  result := false;

  heading1 := True_Heading - 90;
  heading2 := true_heading + 90;

  //Kurse korrigieren
  if heading1 < 0 then
    heading1 := 360 + heading1;

  if heading2 > 359 then
    heading2 := 360 - heading2;

  if heading1 > heading2 then
    if (calc_heading >= Heading1) and (calc_heading <= heading2 + 360) then
      result := true;

  if (calc_heading >= Heading1) and (calc_heading <= heading2) then
      result := true;

end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz