Forum: Digitale Signalverarbeitung / DSP / Machine Learning Etwas aus der Mathe-Ecke für Computergrafiker


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jürgen S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Restklassen-Rechnung reloaded:

Die aus der Akustik bekannten QRD (quadratic residue diffusers) basieren 
auf Resten, die nach einer Modulo-Funktion auf das Quadrad einer 
Koordinate entstehen. Mit diesen und den logischen Nachfolgern CRD 
(cubic) habe ich seinerzeit herumprobiert. Jetzt kommen die Restklassen 
der "X hoch 4":

Diese bilden sehr schöne Muster heraus, die sich wiederholen und die 
sich auch als Wandmuster machen würden. Der Wert für akustische Zwecke 
ist noch ungeklärt - zumindest taugen sie aber für Video- und 
Bildberechnung - falls jemand an Weihnachten nach einem Projekt sucht 
:-)

Das Interessante ist, dass es neben den Primzahlen, die normalerweise 
benutzt werden, auch gerade Zahlen gibt, die sehr hübsche Muster 
generieren: Die 82 ist z.B. eine solche und auch die 84, wobei diese 
eine sehr vielversprechende Rundstruktur liefert, die sich als Diffusor 
eigenen müsste. Weitere wären 94, 122, 126.  Vielversprechend scheinen 
mir auch 99 und 107. Die 80 und die 86 taugen hingegen gar nicht. Kann 
man sich mal überlegen, warum das so ist.

von Jürgen S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Wer ein bisschen optische Dynamik in seinen Raspberry (oder womit er 
auch immer experimentiert) bringen möchte, kann z.B. die drei Farben mit 
unterschiedlichen Modulo-Werten berechnen:

Die angehängte Grafik arbeitet mit 63, 2*63 und 3*63 für R,G,B. Die 
Basis 63 stellt dabei sicher, das die Muster passen. Das muss aber nicht 
sein:

Ebenfalls ausprobieren kann man eine Modulozahl, die aus 3 Primzahlen 
besteht und bei der jeweils eine andere weggelassen wird,  z.B.  k*3*5, 
k*5*7, k*3*7. Auch dann wiederholt sich das Muster - allerdings später.

von Horst V. (hoschti)


Lesenswert?

Interessant wären jetzt noch Formeln zur Berechnung. Klar kann man da 
Tante G fragen. Aber wenn du schon damit gearbeitet hast, hilf doch 
solchen Leuten wie mir Unwissendem ein wenig mehr auf die Sprünge.

von Jürgen S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Generell:
x von 0 ... M-1
y von 0 ... M-1
r = x4 + y4  = x*x*x*x + y*y*y*y
Y = Modulo (r , M)

Das Dreifarbenbild:

x von 0 ... 3*(M-1)
y von 0 ... 3*(M-1)
r = x4 + y4
RD = y1 = MOD (r ; M)
GR = y2 = MOD (r ; 2M)
RD = y3 = MOD (r ; 3M)

Wobei r hier nicht der "Radius" im Quadrat ist, wie bei dem 
quadratischen Residuum.

Das wäre dann wohl (x*x + y*y) hoch 2 (= Wurzel() hoch 4)
Anbei ein Bild für ein Radius hoch 4 Modulo 50.

: Bearbeitet durch User
von Jürgen S. (engineer) Benutzerseite



Lesenswert?

Hier noch zwei Beispiele mit nicht ganzahliger Potenz 1,1 und 1,111 
statt x-Quadrad.

R = Wurzel (x*x + y*y)
Y = (R hoch 1,1111) Modulo M; mit M = 7 und 8

Das zweite fängt weiter in der Mitte des Bildes an, bei etwa x,y=100.

von Joe F. (easylife)


Angehängte Dateien:

Lesenswert?

Ich habe gerade keine passende Hardware am Start, aber an anderer Stelle 
habe ich bereits Werbung für ein neues Lieblingsspielzeug gemacht. Dein 
Algorithmus hat mich inspiriert:
https://www.shadertoy.com/view/ds2Xzw

Man sieht sehr schön, wie x^4 abseits vom Nullpunk sehr schnell ins 
scheinbar chaotische abdriftet.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Joe F. schrieb:
> wie x^4 abseits vom Nullpunk sehr schnell ins
> scheinbar chaotische abdriftet.
nur scheinbar: Bei höheren Werten wiederholen sich dann die Muster.

Lässt sich da auch die Zeit mit ins Spiel bringen um einen Film zu 
machen?
Dann könnte man mal einen schleichenden Offset einsetzen, bevor Modulo 
angewendet wird.

von Joe F. (easylife)


Angehängte Dateien:

Lesenswert?

Der Film sähe recht unspektakulär aus (wildes Rauschen).
Die (Unter-)Abtastung der Funktion mod(x^4, ...) wird schnell sehr 
pseudorandom.
Du kannst bei dem Shader einfach mit der Maus in die obere Bildhälfte 
klicken, und nach rechts/links bewegen. Das verändert die Abtastung ganz 
leicht (Zoom). In der Bildmitte kann man das noch einigermaßen erkennen, 
je steiler x^4 wird, desto chaotischer wird es eben.

: Bearbeitet durch User
von Joe F. (easylife)


Angehängte Dateien:

Lesenswert?

Okay, animieren und volle Bildschirm-Auflösung lohnt sich dann doch:
https://www.shadertoy.com/view/csBSDz

von Jürgen S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

2 interferierende Modulo-Muster:

von Kai D. (robokai)


Lesenswert?

Jürgen S. schrieb:
> Diese bilden sehr schöne Muster heraus, die sich wiederholen und die
> sich auch als Wandmuster machen würden.

Sieht sich an, wie Orientteppiche!

von Jürgen S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

... x5 macht sofort viel Chaos. Keinen guten Modulowert gefunden. Aber 
x6 geht wieder.

Kai D. schrieb:
> Sieht sich an, wie Orientteppiche!
Irgendwie ja. Mir fällt gerade ein, dass diese Teppiche von früher her 
aus Persien stammen- und dort schon vor Jahrhunderten gute Mathematiker 
gewesen sein sollen. Eventuell gibt es da ja einen Zusammenhang.

: Bearbeitet durch User
von Gregor (Gast)


Lesenswert?

Zu dem Thema Grafik aus Computern passen diese 8-Bit-Gemälde:
Beitrag "Re: 8bit-Computing mit FPGA"

Die besondere Zählweise des Autors ist mir allerdings nicht ersichtlich 
und müsste noch geklärt werden.

von Studistauner (Gast)


Angehängte Dateien:

Lesenswert?

Huichol Art

von Dombrowski (Gast)


Lesenswert?

Studistauner schrieb:
> Huichol Art
Mit welcher Formel wird das denn erzeugt? (:-))

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.