Seite 1 von 1

mathe: runden in Reaktor?!

Verfasst: 29. September 2006, 00:39
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! :-)

Verfasst: 29. September 2006, 01:27
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, ).

Verfasst: 29. September 2006, 01:53
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?

Verfasst: 29. September 2006, 07:12
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

Verfasst: 29. September 2006, 10:31
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

Verfasst: 29. September 2006, 11:17
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.

Verfasst: 29. September 2006, 12:11
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.

Verfasst: 29. September 2006, 14:21
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.

Verfasst: 29. September 2006, 15:32
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