mathe: runden in Reaktor?!

Diskussionsforum für Fragen zur Struktur und Implementation in REAKTOR, auch DSP, Literatur und begleitende Software

Moderator: herw

Antworten
PrinzThomas
meister
Beiträge: 158
Registriert: 10. September 2006, 18:23

mathe: runden in Reaktor?!

Beitrag von PrinzThomas »

Hallo,

bin ich zu dumm oder wie schaffe ich es in Reaktor5 Event-Werte ab- oder aufzurunden?
Also z.B. von 5,72 auf 5 usw....
Hab den Begriff "runden" auch schon im Handbuch und im Netz gesucht, aber nichts gefunden.
Ich meine das Problem muss doch täglich irgend jemand haben, der mit Reaktor mathematische Sachen erstellt.
Wer weiß Rat?
Dank an jede Antwort! :-)
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

guggst du hier: http://reaktor.approx.de/phpBB2/viewtopic.php?t=152

das universal-tool! aber ich glaube, in deinem fall tuts auch n quantize (unter math zu finden.) - das teil quantisiert hart alle werte auf den gesetzen quantisierungwert (integer, 0.25, 500 - was du willst). (achtung: es gibt da natürlich keine "nach unten rundung" , aber 5.99 bleibt eben einfach 5, solange das quantiesierungsraster 1 ist - bei spezielleren sachen müsstest du allerdings schon obigen link nehmen, ).
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
PrinzThomas
meister
Beiträge: 158
Registriert: 10. September 2006, 18:23

Beitrag von PrinzThomas »

Hallo,

dank dir für deine Antwort.
Das mit dem Quantisierer hatte ich bereits probiert.
Leider ist eben z.B. 5.9 nicht 5 sondern bereits 6.
Das heißt am Ausgang entsteht ab 0.5 = 1, was ich nicht möchte, weil ich abrunden will.
Die Lösung mit dem Selector muss ich mir jetzt erst nochmal anschauen. :-)

NACHTRAG:
Mit dem Selector komme ich leider nicht weiter, da ich ja nur eben selektierte Bereiche blocken oder passieren kann.
Wie soll ich mit Hilfe des Selectors aus 5.9 = 5 machen oder aus 10.3 = 10?
Dabei muss es ja egal sein, was am Eingang anliegt - es soll praktisch einfach nur die Dezimalstelle weglöschen - ergo abrunden.
Kannst du mir einen Lösungsweg posten?
Benutzeravatar
herw
moderator
Beiträge: 3123
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

PrinzThomas hat geschrieben:Hallo,
...
NACHTRAG:
Mit dem Selector komme ich leider nicht weiter, da ich ja nur eben selektierte Bereiche blocken oder passieren kann.
Wie soll ich mit Hilfe des Selectors aus 5.9 = 5 machen oder aus 10.3 = 10?
Dabei muss es ja egal sein, was am Eingang anliegt - es soll praktisch einfach nur die Dezimalstelle weglöschen - ergo abrunden.
Kannst du mir einen Lösungsweg posten?
Wenn ich das richtig verstehe, willst Du lediglich die Vorkommastellen als Ausgabe haben? Das funktioniert mit dem Modulo-Modul

Bild

ciao herw
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
PrinzThomas
meister
Beiträge: 158
Registriert: 10. September 2006, 18:23

Beitrag von PrinzThomas »

Oh ja na klar - daran habe ich ja gar nicht gedacht.
Das funktioniert natürlich wunderbar! :)

OK, nun will ich mal kurz erzählen weshalb ich das benötige:
Ich wollte einen dreistelligen Wert einfach in die 3 Stellen zerteilen.
Also z.B. bei 582 sollen 5 und 8 und 2 als einzelne Werte nutzbar sein.
Ich habe mal ein Screenshot von meiner Lösung hier angeheftet.
Es wäre hübsch, wenn ihr da mal drüberschaut und evtl. Verbesserungsvorschläge habt.
Die Funktionsweise ist denkbar einfach:

Gegeben ist z.B. der Wert 582

STELLE 1:
Es wird 582 durch 100 geteilt und abgerundet = 5

STELLE 2:
Es wird 582 durch 10 geteilt und abgerundet = 58
Dann die bereits bekannte STELLE 1 mit 10 multipliziert = 50 und von 58 abgezogen = 8

STELLE 3:
Es wird die bereits bekannte Stelle 1 mit 100 und die bereits bekannte Stelle 2 mit 10 multipliziert und addiert = 580 und von 582 abgezogen und abgerundet = 2

Mir kommt der Aufbau noch zu aufwändig vor für so ein bischen "Blödsinn" finde ich. ;)
Also wer es besser weiß - immer her mit den Vorschlägen. :)
Bild
Benutzeravatar
herw
moderator
Beiträge: 3123
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

ja, der Aufwand ist zu groß, da Du nicht den zweiten Ausgang des Modulo-Moduls benutzt; er gibt dir den Rest der Ganzzahl-Division an und damit kannst Du weiterarbeiten.
Hier eine primary-level Lösung:
Bild
Die Betrags-Module sind manchmal nötig, da sonst unter Umständen statt 0 gerundet -0 angezeigt wird. Wenn Du die Stellen an ein Multidisplay weiterleiten willst (Digitalanzeige z.B.), dann kann es vermutlich zu Schwierigkeiten kommen (ausprobieren?)
Wenn Du die Stellenevents für andere Zwecke verarbeiten möchtest, musst Du beachten, dass die Reihenfolge der Anzeigen unter Umständen nicht in der Folge 1. - 2. - 3. erfolgt.
Sicherer ist bestimmt eine Lösung mit Hilfe einer Event-CoreCell und als Einstieg in CoreCell ganz gut:
Bild
(ich mache so häufig Werbung für CoreCell, da ich es viel logischer finde ;-) )

Beachten musst Du dabei, dass ich nicht das Original Modulo-Modul aus der CoreCell library benutze, sondern eine etwas abgewandelte Form, die entsprechend dem Primary-Level-Modul arbeitet.
Das Innere der Modulo-Zellen entspricht eigentlich genau Deiner Denkweise in Deinem obigen screenshot.

ciao herw

PS: Falls Dein Drehknopf nicht nur ganze Zahlen liefern sollte, kannst Du ja vorher noch die in den anderen Posts erwähnte Gauß-Klammer (Abrundungsfunktion) benutzen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

PrinzThomas hat geschrieben:

Wie soll ich mit Hilfe des Selectors aus 5.9 = 5 machen oder aus 10.3 = 10?
Dabei muss es ja egal sein, was am Eingang anliegt - es soll praktisch einfach nur die Dezimalstelle weglöschen - ergo abrunden.
der selector muss in den props auf curve = none gesetzt sein und wenn die konstanten integer sind, werden alle floats gefiltert. (aber das geht nur für 16 einträge und ist eigentlich nur sinnvoll, wenn du keine "reihen-werte" brauchst, also bspw. 1,2,5,6,9,10,13 oder so) für simple reihen is herws vorschlag natürlich viel eleganter.

(stimmt, das quantize rundet bei </> 0.5 auf/ab - sorry, hatte ich anders in erinnerung - mein fehler).

@admin:
hier haben wir leider son bild/zeilenumbruch-problem. das bild sprengt (bei gleichzeitiger bookmark sidebar) meinen pixel-rahmen, ich muss also scrollen. das wäre kein problem, das dumme ist, das sich der zeilenumbruh am bild orientiert, so das ich ständig (bei jeder zeile) scrollen muss und das ist echt nervig. ich finde der zeilenumbruch sollte sich unabhängig vom bild, bei grenzüberschreitung brechen, oder falls das nicht geht, fest auf bspw. 800 pixel begrenzt werden, dann können wir breitere bilder erlauben und man muss eben nur einmal, für die bildsichtung, scrollen.
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
PrinzThomas
meister
Beiträge: 158
Registriert: 10. September 2006, 18:23

Beitrag von PrinzThomas »

@helmsklamm & admin
Ich fände die beste Lösung einfach das Größenlimit von Bilddateien auzuheben.
Webspace-Probleme ergeben sich natürlich nicht, da es ja weiterhin das Filegrößenlimit gibt!
Und jedes Bild ab einer bestimmten Pixelbreite wird als verkleinerte Version im Posting angezeigt.
Dies kann man ja durch drauf klicken in einem neuen Fenster in Originalgröße anschauen.
Und schwubs sind alle Scrollies wech. ;-)


@herw
Ja deine Version ist tatsächlich viel effizienter und stark vereinfacht.
Vielen Dank dafür!!!
Es stellt sich noch die Frage, ob die Core-Variante mehr an der CPU-Last schraubt als primäry?!
Mit Core bin ich leider auch noch völlig am Anfang.
Benutzeravatar
herw
moderator
Beiträge: 3123
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

PrinzThomas hat geschrieben:...@herw
Ja deine Version ist tatsächlich viel effizienter und stark vereinfacht.
Vielen Dank dafür!!!
Es stellt sich noch die Frage, ob die Core-Variante mehr an der CPU-Last schraubt als primäry?!
Mit Core bin ich leider auch noch völlig am Anfang.
naja die CoreCell habe ich ja genau deswegen ergänzt; man muss sich einfach mal da hineintrauen. EventCoreCells sind der ideale Einstieg, da die Denkweise genau dem intuitivem Denken entspricht und zwar viel mehr als auf primary level. Niemand denkt z.B. bei einer simplen Multiplikation derselben Zahl mit sich selbst, dass es zwei Ergebnis-Events gibt (das erste falsch). In Core gibt es das nicht.

ciao herw
Antworten