Ich nehme eine Klasse, die Verarbeitung verwendet.Wie funktioniert die Funktion map() in der Verarbeitung?
Ich habe ein Problem, die map() - Funktion zu verstehen.
Nach es ist Dokumentation (http://www.processing.org/reference/map_.html):
Re-Karten eine Reihe von einem Bereich zum anderen.
Im ersten obigen Beispiel wird die Zahl 25 von einem Wert im Bereich von 0 bis 100 in einen Wert konvertiert, der von der linken Kante des Fensters (0) bis zur rechten Kante (Breite) reicht.
Wie im zweiten Beispiel gezeigt, werden Zahlen außerhalb des Bereichs nicht an die minimalen und maximalen Parameterwerte geklammert, da Werte außerhalb des Bereichs oft beabsichtigt und nützlich sind.
Ist ähnlich wie eine Zufallsfunktion, aber der Bereich wird vom Benutzer festgelegt? Außerdem kann ich die Erklärung für das erste Beispiel nicht verstehen: Es sagt, dass die Zahl in einen Wert von 0 bis 100 in einen Wert umgewandelt wird, der von Rand zu Rand des Bildschirms reicht. Ich denke, warum nicht einfach direkt die Zahl 25 in den Wertebereich für den Bildschirm konvertieren?
Stellen Sie sich einen möglichen Anwendungsfall Ihres Programms vor, der normalisierte (dh 0.0 - 1.0) Werte von etwas erhält und dann verwenden möchte, um die Farbe des Hintergrunds in Processing zu ändern. Sie könnten Hintergrund gehen (Karte (receivedValue, 0.0, 1.0, 0.0, 255.0)); –
@ jesses.coktt: Ich weiß, dass das nicht der Punkt Ihres Kommentars ist, aber in diesem Fall wäre es nicht viel einfacher, einfach 'background (receivedValue * 255.0)' zu tun? – flarn2006
@ flarn2006 ja, map() ist nur eine Komfortfunktion, und manchmal ist es viel einfacher zu tun, wie Sie sagten ... aber ich denke, dass map() ist gut, um für kompliziertere Fälle zu haben ... –