AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Achtung sinnfrei! Vogelsimulation
Thema durchsuchen
Ansicht
Themen-Optionen

Achtung sinnfrei! Vogelsimulation

Ein Thema von guidok · begonnen am 28. Jun 2007 · letzter Beitrag vom 1. Jan 2009
Antwort Antwort
Seite 1 von 3  1 23      
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#1

Achtung sinnfrei! Vogelsimulation

  Alt 28. Jun 2007, 18:00
Hallo,

um mir die Zeit etwas zu vertreiben habe ich mich daran gemacht einen Schwarm Vögel zu programmieren.

Anbei mein Ergebnis.

Jeder Vogel ist ein Object, das einfache Regeln befolgt:

1. Er versucht immer dahin zu fliegen, wo am meisten Vögel sind.
2. Er versucht einen gewissen Mindestabstand einzuhalten (das klappt nicht so gut).

Dazu kommen noch ein paar zufallsbasierte Richtungswechsel und eine begrenzte "Sichtweite" eines Vogels.

Bin erst mal ganz zufrieden damit, auch wenn die Geschwindigkeit nicht ganz berauschend ist, so dass ich die Anzahl nicht weiter erhöhen kann. Wäre interessant nach einem schnellen Weg zu suchen, um die o.g. Kriterien zu erfüllen. Vielleicht hat ja jemand Lust dazu?
Angehängte Dateien
Dateityp: exe birds_136.exe (611,5 KB, 294x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Achtung sinnfrei! Vogelsimulation

  Alt 28. Jun 2007, 20:17
Hi,
  • ist ja nett
  • lade das Bild der Wolken als JPG in dein Programm
  • arbeite mit einem Offscreenbitmap auf den du deine Bitmaps zeichnest und gib sie zB im FormPaint
    wiesder aus (Antiflacker & Performce)
  • du verwendest keinen Timer ? lässt du im ApplicationEventsIdle zeichnen ?
    das Programm verursacht eine nahezu 100%tige Auslastung der CPU.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#3

Re: Achtung sinnfrei! Vogelsimulation

  Alt 29. Jun 2007, 06:06
Ich verwende einen Timer, allerdings auf ein sehr kurzes Intervall gesetzt. Die Berechnung der Abstände und Richtungen für die Tierchen verschlingt schon recht viel Zeit. Dafür muss ich mir mal einen anderen Ansatz überlegen.

Das Bild ist nur ein kleines optisches Schmankerl am Ende, obwohl du natürlich recht hast: es kostet jede Menge Rechenzeit (ist da JPEG besser?) und es flackert.
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Achtung sinnfrei! Vogelsimulation

  Alt 29. Jun 2007, 07:23
Wie wäre es die Vögel auch mal in Formationen fliegen zu lassen?
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Achtung sinnfrei! Vogelsimulation

  Alt 29. Jun 2007, 07:30
Oder dem Mauszeiger folgen zu lassen?


Zitat von guidok:
Wäre interessant nach einem schnellen Weg zu suchen, um die o.g. Kriterien zu erfüllen. Vielleicht hat ja jemand Lust dazu?
Dann solltest du eventuell die Sourcen mitveröffentlichen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
guidobrose
(Gast)

n/a Beiträge
 
#6

Re: Achtung sinnfrei! Vogelsimulation

  Alt 29. Jun 2007, 07:31
Formationen?

Ich will die Vögel ja nicht konkret in eine bestimmte Richtung lenken, also so eine Art Film ablaufen lassen, sondern die Bewegungen ergeben sich aus einfachen Grundregeln, die für jeden einzelenen Vogel gültig sind.

Ich hab mir allerdings auch schon überlegt, dass es wohl noch eine Art "gerichtete" Komponente geben müsste, z.B. eine dritte Regel, die besagt, dass alle Vögel versuchen sollen, sich der Flugrichtung der anderen anzupassen. Natürlich ohne die Regeln 1 und 2 zu verletzen.

Gut wäre es auch unterschiedliche Geschwindigkeiten für die Vögel einzuführen, kann ich aber nicht, weil dann alles zu langsam geht.

Zunächst müsste ich mal die Regeln 1 und 2 auf eine simple und schnelle Art und Weise implementieren.
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#7

Re: Achtung sinnfrei! Vogelsimulation

  Alt 29. Jun 2007, 07:33
Hast du 2 Accounts?
Richard Mahr
  Mit Zitat antworten Zitat
guidobrose
(Gast)

n/a Beiträge
 
#8

Re: Achtung sinnfrei! Vogelsimulation

  Alt 29. Jun 2007, 07:53
Ups, ja. Das eine ist mein Account auf der Arbeit und ich wollte die erstens nicht vermischen, was nun doch passiert ist und zweitens wusste ich daheim das Passwort nicht mehr (Fluch der automatischen Anmeldung).
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Achtung sinnfrei! Vogelsimulation

  Alt 29. Jun 2007, 08:33
Hi!

Nette Idee! Postest du hier auch die Sourcen?

Gruß
Marc
Marc
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Achtung sinnfrei! Vogelsimulation

  Alt 29. Jun 2007, 09:20
Vor 150 Jahren (geschätzt ) habe ich das hier irgendwo gefunden. Ein sehr schönes, beinahe wissenschaftliches Tool.
Angehängte Dateien
Dateityp: zip flocking_380.zip (343,8 KB, 184x aufgerufen)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 10:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz