AGB  ·  Datenschutz  ·  Impressum  







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

Zufallsbild: Seltsame Konstruktionen

Ein Thema von Delphi-Narr · begonnen am 11. Jun 2010 · letzter Beitrag vom 12. Jun 2010
Antwort Antwort
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

Zufallsbild: Seltsame Konstruktionen

  Alt 11. Jun 2010, 20:07
Delphi-Version: 2005
Hallo,
ich habe in meinem Programm die Funktion eingebaut, ein Zufallsbild zu erzeugen.
Doch ich sehe häufig seltsame Konstruktionen. Z.B. eine Ellipse in einem Rechteck (Liegen genau ineinander), obwohl beide Aufrufe separat geschehen...
Weiß jemand, wodurch das hervorgerufen wird?

Hier meine Aufrufe:

Delphi-Quellcode:
          5:begin
                 randomize;
                 Bild.canvas.Rectangle(Random(Bild.width),
                                       Random(Bild.height),
                                       Random(Bild.width),
                                       Random(Bild.height));
            end;
          6:begin
                 randomize;
                 Bild.canvas.ellipse(Random(Bild.width),
                                     Random(Bild.height),
                                     Random(Bild.width),
                                     Random(Bild.height));
            end;
Liebe Grüße!
Angehängte Grafiken
Dateityp: jpg Seltsam.jpg (25,3 KB, 33x aufgerufen)

Geändert von mkinzler (11. Jun 2010 um 21:06 Uhr) Grund: Codeformatierung etwas entzerrt
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Zufallsbild: Seltsame Konstruktionen

  Alt 11. Jun 2010, 20:09
Guten Abend,

randomize nicht bei jedem Aufruf ausführen.
Einmal beim Programmstart reicht.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zufallsbild: Seltsame Konstruktionen

  Alt 11. Jun 2010, 20:10
randomize ... den (Pseudo)Zufallsgenerator initialisiert man nur einmal bei Programmstart, bzw. spätestens vor der ersten Nutzung.

Mehrfache Initialisierung kann negativ auf die statistische Gleichverteilung der Zufallszahlen wirken.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Zufallsbild: Seltsame Konstruktionen

  Alt 11. Jun 2010, 20:12
Danke, ist schon etwas besser geworden, aber wie kann so was denn passieren? Es werden exakt die gleichen Koordinaten gewählt...

Liebe Grüße!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zufallsbild: Seltsame Konstruktionen

  Alt 11. Jun 2010, 20:13
Welche Delphiversion nutzt du denn?
In älteren Versionen initialisiert Randomize über GetTickCount, welches bei Aufrufen kurz hintereinander (innerhalb von 16 Millisekunden) natürlich mit dem selben Wert initialisiert und somit auch gleiche Zufallsreihen startet ... was also gleiche Positionen bedeutet.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Zufallsbild: Seltsame Konstruktionen

  Alt 11. Jun 2010, 20:17
Ich habe noch Delphi 5...

Danke für die Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zufallsbild: Seltsame Konstruktionen

  Alt 11. Jun 2010, 20:35
PS: wowas kann man ganz gut im Profil angeben

Nja, das ist auch ein Grund, warum "neuerdings" über MSDN-Library durchsuchenQueryPerormanceCounter initialisiert wird, weil einfach zuviele diesen Fehler machen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#8

AW: Zufallsbild: Seltsame Konstruktionen

  Alt 12. Jun 2010, 12:34
Steht in meinem Profil drin... Delphi 5 Standard
Naja, also jetzt sieht es schon besser aus.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zufallsbild: Seltsame Konstruktionen

  Alt 12. Jun 2010, 12:58
Tschuldschung, war es gewohnt dieses auch gleich links unterm Ava zu sehn und dort war nix.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 09:27 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