Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Mai 14, 2024 06:05

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Perlin Noise
BeitragVerfasst: Mi Apr 08, 2009 14:45 
Offline
DGL Member

Registriert: Fr Okt 03, 2008 13:32
Beiträge: 367
Ich habe gerade versucht den Perlin-Noise-Algorithmus anhand des Wiki-Artikels selbst zu implementieren.
Dabei ist mir aufgefallen das die Funktion für die Cosinus-Interpolation wohl einen Fehler enthält.
Im Wiki lautet sie wie folgt:
Code:
  1.  
  2. function InterpoliereCos(Wert1,Wert2,FaktorWert1:Real);
  3. // Cosinus/Sinus artige Interpolation von zwei werten;
  4. // FaktorWert muss zwischen 0 und 1 liegen
  5. begin
  6.   result := Wert1*((cos(pi/2*FaktorWert1)+1)/2) + Wert2*(1-(cos(pi/2*FaktorWert1)+1)/2)
  7. end;
  8.  

Allerdings ist die cosinus-Funktion 2-Pi-periodisch und mit "pi/2" hätte man folglich nur ein Viertel statt eine Hälfte.
Also wenn ich nicht irgendwas vollkommen falsch verstanden habe, ist das ein Fehler, was in einem Artikel der als "Excellent" markiert ist, einigermaßen bedenklich ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Apr 08, 2009 15:13 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Nein dies ist korrekt, da nur eine halbe Periode zum interpolieren zwischen zwei samples benötigt wird.

_________________
Lumina plattform unabhängige GLSL IDE


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Apr 08, 2009 15:17 
Offline
DGL Member

Registriert: Fr Okt 03, 2008 13:32
Beiträge: 367
Genau das meine ich ja. Eine halbe Periode ist Pi "lang", weil eine ganze 2 Pi ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 09, 2009 17:03 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 15:18
Beiträge: 62
Mal davon abgesehen, dass ich von der Funktion kein Wort verstehe - die ist tatsächlich fehlerhaft: Da fehlt ein Rückgabewert :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 09, 2009 17:40 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Wenn man die vorher deklariert hat, ist die Angabe im Implementationteil nicht mehr notwendig, ob das jetzt ein guter Stil ist weiß ich nicht :twisted:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 10, 2009 19:19 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Fehler dürfen/sollen direkt im Wiki behoben werden. Dazu ist das Wiki ja da.

Und das auch in Excellenten Artikeln Fehler vorkommen können liegt daran, dass es nicht wenige gibt die der Meinung sind, dass da sich sicher noch jemand anderes drum kümmern wird. Is aber nicht so. Bei DGL sollte jeder versuchen sicherzustellen, dass überall das richtige steht. Nicht nur die Anderen. ;)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » DGL » Feedback


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]