In meiner Antwort zu Affinen Transformationen habe ich ein paar kleine Illustrationen gemacht, um die Erklärung zu erleichtern.
Wie kann man schnell ein hochladbares PNG erstellen, das eine geometrische oder mathematische Idee zum Ausdruck bringt?
Diese Frage wurde entwickelt, um meine Postscript-Antwort zu stützen, soll aber andere Lösungen erfragen, von denen das SE-Netzwerk im Allgemeinen profitieren kann. Für die Glaubwürdigkeit muss eine Antwort jedoch mit einem Beitrag verknüpft sein, in dem diese Technik tatsächlich verwendet wurde, sowie mit einem ausreichenden Teil der Anleitung, wenn dies mehr als nur etwas Offensichtliches wie "Export aus Menü auswählen" umfasst.
Hier und hier gibt es zwei Meta-Fragen, die sich darauf beziehen , wie diese Frage im Lichte der Prioritäten, die sie für unsere Site festlegen kann, berücksichtigt werden soll.
Antworten:
Ich benutze eine Vielzahl von Werkzeugen, je nach den besonderen Bedürfnissen des Augenblicks. Ich habe eine Vorliebe für kostenlose Tools, da ich keinen Zugang zu Dingen wie Illustrator oder Mathematica habe.
Für allgemeine Vektorgrafiken verwende ich das kostenlose Inkscape . Es bearbeitet .svg-Dateien und kann sie auch als hochwertige .pngs oder andere Bitmap-Formate rendern. Hier ist ein Diagramm, das ich in Inkscape erstellt habe , um die UV-Zuordnung zu erläutern :
Für 2D-Funktionsdiagramme verwende ich häufig den Online-Grafikrechner Desmos , mit dem Sie Diagramme bequem online freigeben können , damit andere sie anzeigen und ändern können. Sie können auch Schieberegler erstellen, die variiert werden können, um mit Kurvenparametern in Echtzeit zu spielen. Hier ist zum Beispiel eine konfigurierbare Schärffunktion .
Für komplexere Grafikaufgaben, die ein wenig Programmierung erfordern , verwende ich Maxima , ein kostenloses Computeralgebrasystem, das auch Grafikfunktionen bietet. Ich habe Maxima verwendet, um die Diagramme in dieser Antwort zu Gaußschen Unschärfen zu erstellen :
Dies war für Desmos etwas zu komplex, da programmatisch eine stückweise Approximation eines Gaußschen erstellt werden musste.
Für wirklich seltsame Grafikaufgaben, die von nichts anderem gut bewältigt werden, habe ich Python mit dem svgwrite- Paket verwendet, um programmgesteuert Diagramme in .svg-Dateien zu generieren. Diese können dann bei Bedarf in Inkscape nachbearbeitet und mit Inkscape oder ImageMagick in Bitmaps gerendert werden. Ich habe diesen Workflow verwendet, um die Bilder in diesem Blog-Beitrag mit Tiefengenauigkeit wie folgt zu erstellen :
In diesem Fall wollte ich nicht nur eine Funktion grafisch darstellen, sondern Markierungen programmgesteuert und ungleichmäßig entlang der Achsen und des Diagramms platzieren, um diskrete Tiefenpufferwerte zu veranschaulichen.
Und schließlich, wenn nichts anderes ausreicht, verwende ich Python mit Numpy und Pillow , um Bilder pixelweise zu rendern. Auf diese Weise habe ich die Perlin-Rauschbilder in dieser Antwort erstellt ( in diesem Fall auch mit Hilfe des Rauschpakets ).
quelle
Persönlich habe ich mich für Adobe Illustrator entschieden. Andere Apps wie Inkscape, Corel Draw und Xara Designer können ebenfalls verwendet werden. Zur Not wird sogar PowerPoint funktionieren. Obwohl ich PowerPoint aufgrund schwerwiegender Probleme mit seinem Datenmodell nicht persönlich empfehle, ist es wahrscheinlich die am häufigsten eingesetzte Zeichen-App der Welt.
Es kann auch eine gute Idee sein, eine Grafikanwendung zur Hand zu haben. Ich persönlich benutze Mathematica dafür, obwohl viele andere Apps auch funktionieren würden. Wenn Sie möchten, können Sie Wolfram alpha verwenden, eine kostenlose Online-Version von mathematica.
Haftungsausschluss: Da Beispiele von mir stammen und schamlose Selbstvermerke mit einer Prise Salz zu sich genommen werden.
Illustrator
Das erste, was Sie in einer Vektorzeichen-App tun sollten, ist, das Fangraster zu aktivieren . Dies verringert die Mühe, Linien genau zu platzieren. Einer der Hauptgründe, warum ich Inkscape nicht gerne benutze, ist die minderwertige Art und Weise, wie dieses Einrasten implementiert wird. In PowerPoint ist das Raster standardmäßig aktiviert.
Ich bin mit Illustrator nicht wirklich zufrieden, da es nicht alle meine Bedürfnisse erfüllt. Aber bisher gibt es keine Software (Maya hat diese Nische gefüllt, aber dann geschah Autodesk).
Der zweite Grund, warum ich Illustrator gewählt habe, ist, dass es Postscript von Haus aus versteht. Wenn ich also etwas programmieren muss, kann ich dies schnell tun und vorhandene Dokumente werden aktualisiert, wenn mein Code ausgereift ist. Bild 3 wird auf diese Weise erstellt.
Hier sind einige Beispiele für Zeichnungen, die ich mit Illustrator im gesamten Netzwerk erstellt habe, meistens mithilfe von Grid-Snaps:
Bild 1 : Eines von vielen Bildern, die ich als Illustrator auf dieser Seite gezeichnet habe. Hinweis: Ich bin ein ziemlich erfahrener Illustrator (manchmal kommerziell) und dies ist nach meinen Maßstäben extrem einfach.
Das Bild zum Einmarsch des Kreises ist relativ einfach zu erstellen. Zeichne einfach eine zufällige Form, indem du herumklickst. Deaktivieren Sie anschließend den Snap und lassen Sie die Smart Guides Ihre Arbeit für Sie erledigen. Zeichnen Sie Linien zum nächsten Punkt auf der Linie, machen Sie Kreise zur Linie und (ich habe die Hilfslinien gelöscht, nachdem ich fertig war). Spülen und wiederholen. Es dauerte ungefähr 3-5 Minuten, um das Bild zu zeichnen, nachdem ich meinen Arbeitsbereich gestartet hatte.
Bild 2 : GD.SE Fortsetzungswelle .
Während dieses Bild ziemlich aufwändig erscheint, ist es nicht viel mehr Arbeit als das erste Bild. Es ist technischer, zusätzlich zu Rasterfang I und jetzt mit der Umschalttaste, um Linien auf 45-Grad-Winkel zu beschränken. Schraffurfüllungen lassen sich mit dem Shape Builder-Tool des Illustrators ganz einfach Regionen zuordnen. (Beispiel für den verwendeten Shape Builder , Bildschirmaufnahme)
Bild 3 : Manchmal ist es einfacher, im Postscript von vorne zu beginnen. Bild hinzugefügt, um auf ENG.SE zu posten .
Endlich ein Bild, das wirklich einfacher ist, wenn Sie die Werte in Postscript eingeben. Es ist relativ einfach in Postscript zu tun. Ich habe immer noch die Typografie im Illustrator gemacht. Während das Zeichnen von Hand keine große Sache ist, bevorzuge ich es nicht, aber ich werde es tun, wenn ich Urteilsvermögen mit den Augen tun muss.
Mathematica
Mathematica ist wunderbar, wenn Sie etwas mehr erforschen möchten. Der einzige Nachteil von Mathematica ist, dass es NICHT billig ist. Aber es kann fast alles schnell erledigen. Ich habe Mathematica für einige meiner Bilder verwendet .
Eine der Kernkompetenzen von Mathematicas ist, dass es einfach ist, auch komplexe Bilder ohne großen Aufwand zu entwickeln. Es kann auch leicht Ihr einfaches Bild in Ihrem Editor animieren .
Ergebnisse im selben Bild wie andere. Einwickeln es in einer Tabelle wie pro Ergebnis in:
Bild 4 : Mit Mathematica können Animationen einfach im Code-Editor erstellt werden.
quelle
PostScript + ps2eps + mogrify
Für die Antwort von Affine Transformations habe ich ein sehr kleines Postscript-Programm geschrieben und dann mehrere Kopien unter verschiedenen Namen gespeichert und jede für verschiedene Aufgaben bearbeitet: Skalieren, Übersetzen, Drehen. Hier ist zum Beispiel das grundlegende Beispiel, bei dem
ident.ps
die Koordinaten zwischen der roten und der schwarzen Zeichnung nicht geändert werden. Ich habe die roten Linien etwas größer gemacht und immer zuerst gezeichnet, damit die beiden gut überlagert und sichtbar sind (IMO). Ich habe eine Vorschau mit Ghostscript mit dem Befehl vi (ex) erstellt:!gs %
. ( alle Quelldateien )Ich habe dann den
ps2eps
Befehl von verwendetpsutils
, um Begrenzungsrahmen automatisch zu berechnenUnd schließlich wurde der
convert
Befehl von imagemagick verwendet, um zugeschnittene PNG- Bilder zu erstellen. (Ich dachte nicht an eine schnelle Möglichkeit, diesen Teil zu automatisieren. Bearbeiten: wie kommentiert, kann dies mit getan werdenmogrify -format png *.eps
. Danke, joojaa!)Welche PNGs produziert, bereit zum Hochladen.
quelle
mogrify -format png *.eps
mogrify
. Für dasps2eps
Teil werden automatisch die Begrenzungsrahmeninformationen berechnet (und hinzugefügt). Wenn Sie diesen Teil weglassen,convert
werden Bilder in voller Seitengröße erstelltIch verwende nur Powerpoint, um solche Diagramme zu erstellen, und es funktioniert hervorragend, sobald Sie mit den Grundelementen vertraut sind. Es unterstützt alle einfachen Operationen wie Rotation, Translation usw. und die jüngsten Revisionen haben auch Scher- und 3D-Transformationen. Beispiele:
Hier ist ein Beispiel eines Powerpoint-Diagramms, das ich zur Beantwortung erstellt habe.
Für kompliziertere Diagramme, insbesondere in 3D, verwende ich manchmal Blender mit schattenlosen Materialien. Ich kann Beispiele erarbeiten und zeigen, wenn dies für Ihre Frage relevant ist.
Sieht so aus, als ob jsfiddle hier auch sehr beliebt ist.
quelle
Nicht die endgültige Toolbox, nach der Sie suchen, sondern nur ein zusätzliches Tool, das ich selbst benutze: Für 3D-Grafiken kann Blender nützlich sein. Besonders wenn Sie das Export_SVG-Plugin verwenden (verfügbar unter http://dl.dropbox.com/u/16486113/Blender/archivos/temp/SVG/export_svg.py und http://blenderartists.org/forum/showthread.php? 282824-SVG-Ausgabeskript )
Auf diese Weise können Sie 3D-Objekte von Blenders als Vektorgrafiken in Illustrator oder Inkscape abrufen. Ich finde, es gibt mir einen guten Einstieg in die Erstellung einfacher 3D-Illustrationen.
Lassen Sie mich ein Beispiel einfügen. (In diesem Beispiel verwende ich viele Farben, aber natürlich kann alles stattdessen schwarz-rot-auf-weiß gemacht werden.)
quelle
Ich benutze Powerpoint und verschiedene (teure) CAD-Pakete. Ich habe Powerpoint-Makros (VBA-Code) geschrieben, um einige spezielle Aufgaben zu erledigen, z. B. das Zeichnen der Steuerpolygone von Bezier-Kurven. Dann benutze ich das Standard Windows Snipping Tool, um Screenshots zu machen. Hier sind einige Beispiele:
Und einige weitere Beispiele aus Math.SE
Eins
zwei
drei
vier
fünf
quelle