Was ist der einfachste Weg, um ein Physikdiagramm online zu zeichnen?

Was ist ein geeignetes Werkzeug, um Physikdiagramme online zu zeichnen? Ich würde gerne wissen, ob es ein Programm wie das hervorragende Schemazeichnungswerkzeug gibt , das in den Elektrotechnik-Stack-Austausch integriert ist , nur für Physik.

Dies würde helfen, Fragen grafischer und intuitiver zu beantworten, ohne sich auf Formeln verlassen zu müssen. Ich bin mir der Offline-Möglichkeiten bewusst , aber für die meisten Probleme muss ich nur einfache Formen wie Linien, Kreise, Kästchen und verschnörkelte Linien zeichnen. Ich arbeite an mehreren Maschinen, da wäre ein Online-Tool viel flexibler.

Mögliche Duplikate: physical.stackexchange.com/q/401/2451 und Links darin.
Ich habe eine Reihe von Kommentaren entfernt, die versuchten, die Frage und/oder Antworten darauf zu beantworten. Bitte beachten Sie, dass Kommentare verwendet werden sollten, um Verbesserungen vorzuschlagen und um Klärung der Frage zu bitten, nicht um zu antworten.

Antworten (3)

(Haftungsausschluss: Meine Antwort ist sehr stark auf die Programmierseite ausgerichtet, da das meine Vorliebe für das Zeichnen von Diagrammen ist. Es könnte nutzlos und übermäßig zeitaufwändig für jemanden sein, der mit den Programmiersprachen nicht vertraut ist. Die gekürzte Version dieses Beitrags lautet „Verwenden Sie Javascript oder möglicherweise Salbei")

Wenn Sie mit dem Programmieren so vertraut sind, dass es keine ernsthafte Zeitinvestition ist, würde ich Javascript/processingjs vorschlagen! Mit jsfiddle und khanacademy.com/cs können Sie im Handumdrehen eine kleine App einrichten. Dadurch wird das Zeichnen von Diagrammen, das Schreiben von Text oder das Anpassen von Parametern und das Anzeigen der Grafikaktualisierung in Echtzeit zu einem Kinderspiel. Besonders in der IDE der Khan-Akademie, wo eine nette ziehbare Leiste über Variablen erscheint. Hier sind zum Beispiel zwei Beispiele für Dinge, die ich auf der Khan Academy geschrieben habe, um anderen Dinge zu erklären:

gekoppelte Oszillatoren (vielleicht 2/3 des Codes hier waren Kopieren und Einfügen von früheren Dingen, die ich geschrieben habe)

Monte-Carlo-Schätzung

Wenn Sie eine andere Funktion benötigen, können Sie einfach einmal ein wiederverwendbares Objekt schreiben und es kopieren und einfügen, wenn Sie es das nächste Mal benötigen.

Ein Ort, an dem Sie möglicherweise leiden, ist das Einfügen von LaTeX-Gleichungen. Dies könnte überwunden werden, wahrscheinlich immer noch in jsfiddle, indem Sie MathJax importieren und ein HTML-Div-Element mit absoluter Positionierung verwenden, um es über Ihrer Grafik zu positionieren. Ein anderer Ort lädt möglicherweise eine lokale Bilddatei (zumindest hat die Khan-Akademie Blockaden, die versuchen, Sie daran zu hindern).

Ich habe auch Gutes über Sage gehört, obwohl ich es noch nie ausprobiert habe, und ich weiß, dass es eine Online-In-Browser-Anwendung gibt .

Zusammenfassend meine Optionen und Empfehlungen zum Zeichnen von Diagrammen in der Reihenfolge, in der ich sie versuche/in Betracht ziehe: Mathematica > khanacademy > jsfiddle > lokale HTML-/Javascript-Datei > Wall of Text Description > Online-Bare-Bones-Zeichentool > Papier und ein Scanner . Und vielleicht könnte Sage das Mathematica-Bit ganz oben ersetzen.

Als Fallbeispiel, da die Zeit eine ernsthafte Sorge ist, habe ich das von Ihnen erwähnte Schnörkelzeichnen gemacht. Khan Academy-Applet hier . Vom Öffnen der Registerkarte bis zum Vervollständigen des Codes (und dem Herumspielen mit den Werten) vergingen 7 Minuten (mit gnädiger Überschätzung der Zeit). Versuchen Sie, nach unten zu scrollen und mit den Farb-/Größen-/Positionsoptionen herumzuspielen, indem Sie die Farbauswahl und die integrierten ziehbaren IDE-Leisten verwenden. Und denken Sie daran, dass Sie die Funktion für zukünftige Wellenlinien kopieren und einfügen können.

+1 für das Zeigen von Tools wie Khanacademy und JSFiddle, von denen ich beide noch nie zuvor gehört hatte! Ich akzeptiere es nur ungern, weil ich immer noch nach etwas suche, das für den durchschnittlichen Benutzer intuitiver ist.

Eindeutig Python !

Python ist eine immer beliebtere Programmiersprache. Schauen Sie sich auch dieses Video an (sehr interessant und Sie lernen auch etwas über verschiedene historische Programmiersprachen). Es hat eine sehr intuitive Syntax (wie Englisch) und, wie Sie im Video sehen, wächst seine Popularität. Es ist auch eine sehr einfache Sprache und Sie müssen nicht einige Semikolons und Variablentypen schreiben und Sie müssen nicht so viel Theorie verstehen wie in C++ . (Siehe C++ Primer, Fifth Edition (ein Buch über C++). Es hat 1400 Seiten! (Ok, seien wir fair - es hat 1399 Seiten.)) Python ist auch die erste Programmiersprache der meisten Schüler und auch Kinder aus dem Kindergarten lernen es !

Zuerst müssen Sie eine Software installieren, die Ihren Code interpretiert (ausführt / anzeigt). Ich persönlich verwende Anaconda (kostenlos), das bereits viele wissenschaftliche Bibliotheken installiert hat, wie NumPy , SciPy und MatPlotLib . Die letzte Bibliothek wird verwendet, um Diagramme anzuzeigen. Wenn Ihre Installation erfolgreich war, dann können Sie im Anaconda Navigator Spyder öffnen . Sie schreiben einfach "matplotlib.pyplot als plt importieren" und können dann mit dem Programmieren beginnen. Sie können ganz einfach neue Bibliotheken installieren (einige Pakete, die Ihre Zeit sparen). Wenn Sie ein kleiner Astronom sind, können Sie zum Beispiel AstroPy installieren , indem Sie einfach "conda install astropy" in Conda schreibenTerminal. Und dann können Sie es verwenden! Aber ich rate dir, dass du zuerst Grundlagen lernst und dann kannst du auf Grafiken gehen. Ich habe es hier gelernt .

MatPlotLib (Bibliothek in Python) kann 2D-, auch 3D-Grafiken, Histogramme und mehr anzeigen.

Also kurz zusammengefasst:

  1. Installieren Sie Anaconda
  2. Spyder öffnen
  3. Schreiben Sie Ihren Code
  4. Schau dir dein Ergebnis an!

PS Die Installation von Anaconda kann viel Zeit in Anspruch nehmen. Wenn Sie (wie ich) ein langsames Internet haben, wird dies etwa 1 Stunde lang installiert. Die beste Zeit für die Installation ist nachts, wenn die Menschen schlafen.

Wenn Sie weitere Kommentare haben, teilen Sie mir dies einfach hier unten (im Kommentarbereich) mit.

Selbst als professioneller Softwareentwickler mit Erfahrung in Pytyhon und Matplotlib (und Matlab) wäre das Erstellen von Feynman-Diagrammen, Neigungsdiagrammen mit Kraftvektoren und dergleichen eine Herausforderung für mich. Es würde sicherlich die Mühe eines Tages erfordern. Auf dem Papier dauern diese Diagramme Sekunden. In einem guten Diagrammtool sollten sie nicht länger als Minuten dauern.
Die einzige Schwäche von Python ist, dass es langsam ist. Aber man kann es leicht umsetzen.

Ich mache gerne Diagramme in einer Tabellenkalkulation oder Diagramme mit einem Malprogramm. Dann stellt sich die Frage: Wie setze ich sie in eine Antwort für diese Website ein?