AGB  ·  Datenschutz  ·  Impressum  







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

Bubblesort Problem

Ein Thema von GreyFox23 · begonnen am 4. Okt 2015 · letzter Beitrag vom 9. Mär 2018
Antwort Antwort
Seite 2 von 7     12 34     Letzte »    
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#11

AW: Bubblesort Problem

  Alt 6. Mär 2018, 23:49
Dann mußt du eben nach mehreren Kriterien sortieren.

wenn Delphi-Referenz durchsuchenMath.Sign ungleich ist, dann direkt vergleichen
und wenn Delphi-Referenz durchsuchenMath.Sign gleich ist, mit Abs vergleichen.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#12

AW: Bubblesort Problem

  Alt 6. Mär 2018, 23:51
... wenn I (= - 18) kleiner als K (= -90) wäre ...
Vermute, dass es genau so sein soll.
Mhh, weiß jetzt nicht, um welche Z-Order es genau geht, aber meiner Erfahrung nach handelt es sich doch hier eigentlich immer um ganz normale 3-dimensionale Räume. Hier sollte auch die bekannte Ordnung der Elemente gelten, also (je nach Richtung) entweder kleinere Z-Werte = weiter hinten bzw. kleinere Z-Werte = weiter vorne. Dass es da einen Umbruch bei der Null gibt, wäre mir neu.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#13

AW: Bubblesort Problem

  Alt 6. Mär 2018, 23:54
Das mag durchaus so sein, ich hab' halt die Anforderung so verstanden, das es quasi von -1 nach -unendlich, 0, 1 nach unendlich gehen soll.

Aber wie oben schon geschrieben: Bin mir nicht sicher, ob ich die Anforderung richtig verstanden habe.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#14

AW: Bubblesort Problem

  Alt 7. Mär 2018, 00:58
... wenn I (= - 18) kleiner als K (= -90) wäre ...
Vermute, dass es genau so sein soll.
Mhh, weiß jetzt nicht, um welche Z-Order es genau geht, aber meiner Erfahrung nach handelt es sich doch hier eigentlich immer um ganz normale 3-dimensionale Räume. Hier sollte auch die bekannte Ordnung der Elemente gelten, also (je nach Richtung) entweder kleinere Z-Werte = weiter hinten bzw. kleinere Z-Werte = weiter vorne. Dass es da einen Umbruch bei der Null gibt, wäre mir neu.
-18 ist aber größer laut der Berechnung von Bubblesort.
Das ist mein Problem weis nicht wie ich das verrechnen soll.

Ich habe 10 Objekte die sich im Kreis drehen.
Wenn sich diese im Vordergrund befinden dann soll das nächstfolgende das davor liegende überlagern.
Wenn das letzte Objekt hinten liegt in dem fall das 10 dann soll das folgende dieses überlagern.
Ist etwas kompliziert zu beschreiben.

wie man am Bild erkennen kann ist das alles etwas durcheinander.

Das grüne ist das höchste Element wenn sich dieses vorne befindet dann sollen alle nachfolgenden dieses überlagern
Wenn es sich hinten befindet sollen sich die folgenden dahinter setzen.

@Delphi.Narium
Kann dir den Source gern mal schicken damit du nachverfolgen kannst um was es mir geht.
Oder jemanden anderen der es mal testen möchte.
Schick ne PN wenn du willst mit deiner MAIL..
Dein versuch funktioniert leider nicht.
Komme mit den minus werten nicht klar.

Im Bild das Blaue auf der linken Seite müsste vor dem grünen liegen
und das blaue vor dem orangen müsste das orange überlagern. usw.. LOL

gruss

Geändert von EWeiss (11. Jul 2019 um 16:49 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Bubblesort Problem

  Alt 7. Mär 2018, 05:45
Hallo,
ich würde das ganz pragmatisch angehen.
Schreibe Dir eine Compare-Methode.
Parameter sind 2 Integer-Werte, Ergebnis -1, 0, +1.

Dort definierst Du Deine Sortierkriterien:
Beide negativ oder beide positiv: vergleiche Abs-Werte
andernfalls: es reicht der direkte Vergleich

Das Rausziehen in eine eigene Compare-Methode macht es übersichtlicher.
Heiko
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#16

AW: Bubblesort Problem

  Alt 7. Mär 2018, 09:16
Zitat:
ich würde das ganz pragmatisch angehen.
Das hört sich bei euch alles so einfach an.
Ist es aber nicht..

Denn was ich versuche ist ein Object in einem emulierten 3D Raum zu bewegen.
Die Z Order (Tiefe) wie bei 3D gibt es aber bekanntlich in 2D nicht.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#17

AW: Bubblesort Problem

  Alt 7. Mär 2018, 09:27
Denn was ich versuche ist ein Object in einem emulierten 3D Raum zu bewegen.
Die Z Order (Tiefe) wie bei 3D gibt es aber bekanntlich in 2D nicht.
Ob jetzt 2D/3D, Tiefe, was-auch-immer ist egal.
Unterm Strich willst du nur eine Liste von Zahlen auf eine bestimmte Weise sortiert haben.
Wenn du weißt wie die Reihenfolge sein soll musst du dir dann überlegen wie die Kriterien zum Sortieren aussehen müssen - fertig.

Stimmt denn folgende Sortierung?

-7 -15 -30 -45 -90 0 7 15 30 45 90

Wäre gut wenn du da mal Beispielzahlen nennen würdest und in welcher Reihenfolge du sie genau haben willst.
Falls oben die Reihenfolge korrekt wäre musst du beim Vergleichen von 2 Zahlen schauen ob beide Zahlen negativ sind.
In dem Fall sortierst du absteigend, ansonsten aufsteigend.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#18

AW: Bubblesort Problem

  Alt 7. Mär 2018, 09:35
Zitat:
Ob jetzt 2D/3D, Tiefe, was-auch-immer ist egal.
Es ist nicht egal ob ich 3 werte oder nur 2 zur Berechnung habe.

x,y,z ist wenn es um die tiefe eines Object geht angenehmer zu berechnen (3D Raum)
als wenn man nur über x,y verfügt.
Unter OpenGL ist das ein Klacks.

Man muss das plastisch sehen nur unfertige Projekte lade ich nicht gerne hoch.
Zitat:
-7 -15 -30 -45 -90 0 7 15 30 45 90
Nein.. Die Berechnung von @Delphi.Narium: funktioniert nicht.
Welche Reihenfolge kann ich nicht sagen da ich es nach Sichtbarkeit versuche zu korrigieren.
Vermute bald es es sich mit Bubblesort nicht machen lässt.

gruss
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#19

AW: Bubblesort Problem

  Alt 7. Mär 2018, 09:38
Dein Problem ist nicht das Sortieren, egal welche Sortiermethode angewendet wird.
Auch wenn die Darstellung 2D ist, für die Simulation eines 3D Raums müssen die Objekte 3 Koordinaten haben.

Weist du nicht wie die Tiefe der einzelne Objekte ermittelst?
Oder weist du nicht wie die Tiefe miteinander zu vergleichen ist?
Oder liegt ein ganz anderes Problem vor, auf das du noch nicht eingegangen bist?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#20

AW: Bubblesort Problem

  Alt 7. Mär 2018, 09:46
Zitat:
Weist du nicht wie die Tiefe der einzelne Objekte ermittelst?
Doch!
Delphi-Quellcode:
GetClientRect(HSprCtrl, rc);
xcenter := (rc.Right - 128) div 2;
ycenter := (rc.Bottom - 128) div 2;
zcenter := ycenter div 2;
radius := round(rc.Right / 3.675);
Zitat:
Oder weist du nicht wie die Tiefe miteinander zu vergleichen ist?
Richtig!
Habe es mit Bubblesort versucht was aber anscheinend nicht geht.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 7     12 34     Letzte »    


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 23:52 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