Frage

Bei Mathe ist nicht mein stärkster Punkt, den ich eine Bezier-Kurve für 3D-Animation zu implementieren.

Die Formel wird gezeigt hier und wie Sie sehen können, ist es ziemlich unangenehm. In meiner Programmierung verwende ich beschreibende Namen, und wie komplexe Linien zu brechen, um kleiner überschaubar diejenigen.

Wie ist der beste Weg, um ein Szenario wie das zu handhaben?

Ist es zu ignorieren, Best Practices Programmierung und hält mit Variablennamen wie x, y und t?

War es hilfreich?

Lösung

Meiner Meinung nach, wenn Sie eine vordefinierte mathematische Gleichung haben es vollkommen akzeptabel ist kurze Variablennamen zu verwenden: x, y, t, P_0 usw., die die Gleichung entsprechen. Achten Sie auf die Formel eindeutig obwohl verweisen.

Andere Tipps

, wenn die Formeln auf seine eigene Funktion extrated i sicherlich die kanonische Mathematik Darstellung verwenden würde, und vielleicht die Wiki-Seiten-URL in einem Kommentar hinzufügen

Wenn es in Code mit einer bestimmten Verwendung der Funktion eingebettet dann aus dem Code den Domain-Namen halten könnte besser sein,

Es hängt

Sehen als nur den Mathematiker in denen Sie tatsächlich wird die Formel zu verstehen, mein Rat wäre, mit einem Stil zu gehen, dass ein Mathematiker am bequemsten wäre mit (so Buchstaben als Variablen etc ...)

Ich würde auch einen Kommentar setzt auf jeden Fall in dort irgendwo, dass eindeutig fest, was die Formel ist, und was es tut, zum Beispiel „Diese Methode gibt eine Reihe von Punkten entlang einer quadratischen Bezier-Kurve“. Auf diese Weise, wenn der Programmierer in Sie den Code erneut besucht können Sie sicher die mathematische Komplexität mit der Annahme ignorieren, dass Sie Ihren inneren Mathematiker hat bereits geprüft, um sicherzustellen es ist alles in Ordnung.

Ich würde empfehlen Sie, mathematisches Best Practices zu verwenden und Variablen mit Buchstaben bezeichnen. Geben Sie einfach Erklärung für die Variablen über der Formel. Und wenn Sie die Formel auf kleinere Teilformeln aufgeteilt, sogar noch besser.

Sie nicht stören. Nur Referenz in der Dokumentation (die Wikipedia-Seite in diesem Fall oder sogar Ihre eigene Dokumentation besser) und stellen Sie sicher, dass die Variablennamen Ihre Dokumentation entsprechen. Code Kommentare sind einfach nicht gut geeignet (noch müssen sie) mathematische Formulierung beschreiben.

Manchmal ist eine Referenz ist besser als 40 Zeilen Kommentare oder sogar suggestive Variablennamen.

Machen Sie die Formel in C # (oder einer anderen Sprache der Präferenz) die mathematische Formel so ähnlich wie möglich sein, und einen Verweis auf die Formel umfassen, einschließlich einer Beschreibung der Variablen. Die Idee bei der Codierung ist lesbar zu sein, und wenn man mit mathematischen Formeln zu tun hat die lesbare Darstellung ist derjenige, der die meisten wie Mathematik aussieht.

Sie können die Formel Schlüssel in wolfram alpha ... es wird versuchen, für Sie zu vereinfachen.

Es wird auch die Ausgabe in einem Mathematica freundlichen Stil ... komischerweise;)

Güte,

Dan

Ich neige dazu, eine Gleichung in seine Wurzelteil zu brechen.

def sum(array)
  array.inject(0) { |result, item| result + item }
end

def average(array)
  sum(array) / array.length
end

def sum_squared_error(array)
  avg = average(array)
  array.inject(0) { |result, item| result + (item - avg) ** 2 }
end

def variance(array)
  sum_squared_error(array) / (array.length - 1)
end

def standard_deviation(array)
  Math.sqrt(variance(array))
end

Sie betrachten könnten eine domänenspezifische Sprache verwendet, dies zu umgehen. Mathematica Sie erlauben würde, die Gleichung zu schreiben, so wie es in der mathematischen Begriff erscheint.

Je mehr Sie Ihre endgültige Form der ursprünglichen Gleichung ähnelt, desto mehr wartbar es auf lange Sicht sein wird (andernfalls müssen Sie den Code interpretieren jedes Mal wenn Sie es sehen).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top