processing / processing/processing4

Add toroidal wrap function

Offen
#1,205 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Java
Sterne
494
Forks
183
Ø Merge
4 Std. 39 Min.
Gemergte PRs (30 T.)
3

Beschreibung

Relevant sub-area for this feature?

Math

Feature details
Feature description

In many programs a value starts again at zero if it gets larger than a max value or appears at max value when it goes below zero. Provide a function that does the wrapping as a single function.

  /**
   * Wraps a value at 0 and max to constrain value between zero and max.
   * @param value The value to wrap
   * @param max The maximum value (excluded)
   * @return The toroidally wrapped value
  float wrap(float value, float max) {
    if (value < 0) {
      return value + max;
    } else if (value >= max) {
      return value - max;
    }
    return value;
  }
Benefits

This would reduce code sizes and make these toroidal worlds easier to understand.

Would you like to help implement this feature?

Yes, I’d like to help with this

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die vorhandenen mathematischen Einstiegspunkte der Processing-Kernbibliothek und jede zugehörige Wrap-Logik zu lokalisieren. Definiere die in der Issue beschriebene toroidale Wrap-Funktion und füge anschließend Testabdeckung für Werte unter null, Werte am oder über dem Maximum sowie Werte, die bereits im gültigen Bereich liegen, hinzu oder aktualisiere sie.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api
Issue-Typ
Feature
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.