Woche 2. Computerunterstütztes Design
Zurück zum Fab Academy 2024. Fran Sanchez
Aufgabe: |
Modelliere (Raster, Vektor, 2D, 3D, Rendering, Animation, Simulation, …) ein mögliches Endprojekt, komprimiere deine Bilder und Videos, und veröffentliche eine Beschreibung mit deinen Design-Dateien auf deiner Seite. |
Ziele für die Woche
Letzte Woche habe ich schon schlecht angefangen. Ich hatte kaum Zeit, irgendetwas zu machen.Ich hatte vergessen, dass ich nie den Ratschlägen folge, die ich gebe.
Diese Woche werde ich disziplinierter sein. Das Erste, was ich tun werde, ist, zu definieren, was ich tun möchte und ein Fälligkeitsdatum dafür festzulegen. Dies ist eine meiner Lieblingswochen, weil ich neue Software auszuprobieren liebe. Nach Priorität geordnet, werde ich:
- OpenFOAM. 1 Tag Zeitaufwand
- Ich möchte lernen, Geometrien in Blender zu erstellen.
- Ich möchte eine Simulation eines Flügelprofils durchführen.
- Ich möchte eine Simulation von inkompressiblem Fluid machen.
- Ich möchte lernen, Ergebnisse in Paraview zu visualisieren.
- FreeCAD. 1 Tag Zeitaufwand. Ich habe eine Hassliebe zu FreeCAD. Ich nutze es, ich hasse es, dann vermisse ich es, ich benutze es wieder, und dann hasse ich es wieder. Mal sehen, ob ich mich in Ondsel verlieben kann. Insbesondere sind dies die Dinge, die ich diese Woche machen möchte:
- Nochmal alle Werkzeuge ausprobieren, um zu sehen, ob sie verbessert wurden.
- Das Assembly Workbench ausprobieren.
- Das TechDraw Workbench ausprobieren.
- Eine Simulation in Calculix versuchen.
- Ich hoffe, einige Hardware-Geräte zu integrieren, um Parameter zu steuern.
- Ich hoffe, das Add-on von Pieter Hijma
OSH Automated Documentation
installieren und testen zu können.
- Blender. 2 Tage Zeitaufwand. Hier habe ich viel zu tun.
- So viel wie möglich über Geometry Nodes lernen.
- Realzeit-Rendering mit EEVEE.
- Eine virtuelle Kamera mit dem Telefon steuern.
- Eine physikalische Simulation erstellen.
- Eine Animation mit Grease Pencil erstellen.
- Die Schnittstelle des seriellen Ports in Blender erkunden.
- JavaScript. 1 Tag Zeitaufwand
- Ich möchte ThreeJS verwenden, um 3D-Modelle auf der Webseite visualisieren zu können.
- Ich möchte mehr über D3JS lernen, um Datenvisualisierungen und Kartografie zu machen.
- Künstliche Intelligenz. 1 Tag Zeitaufwand
- Den Stand der generativen Modelle in 3D erkunden
- Den Artikel über die Erzeugung von 3D-Modellen aus großen Sprachmodellen (LLM) lesen.
- Midjourney oder ähnliches nutzen, um einige Bilder für das Abschlussprojekt zu generieren.
- Kommandozeile. 1/2 Tag Zeitaufwand
- Ich werde Imagemagick in die Dokumentationsgenerierungsskripts integrieren, um die Bildkompression zu automatisieren.
- Ich werde auch ffmpeg in die Skripts integrieren, um Video zu komprimieren.
- Audio. 1/2 Tag Zeitaufwand
- Ich werde mir etwas Zeit nehmen, um etwas über Sonic Pi zu lernen.
Ich glaube, ich habe mich überschätzt. Wenn ich ein Viertel davon schaffe, kann ich schon zufrieden sein.
OpenFOAM
Die Navier-Stokes-Gleichungen sind eine Reihe von partiellen Differentialgleichungen, die die Bewegung von Flüssigkeiten beschreiben. In vektorieller Form und in einem dreidimensionalen Koordinatensystem sind die Navier-Stokes-Gleichungen für eine inkompressible Flüssigkeit:
\rho \left( \frac{\partial \mathbf{v}}{\partial t} + (\mathbf{v} \cdot \nabla)\mathbf{v} \right) = -\nabla p + \mu \nabla^2 \mathbf{v} + \rho \mathbf{g}
wobei:
- \rho ist die Dichte der Flüssigkeit,
- \mathbf{v} ist der Geschwindigkeitsvektor der Flüssigkeit,
- t ist die Zeit,
- p ist der Druck,
- \mu ist die dynamische Viskosität der Flüssigkeit,
- \nabla ist der Nabla-Operator,
- \nabla^2 ist der Laplace-Operator,
- \mathbf{g} ist der Vektor der durch die Schwerkraft verursachten Beschleunigung.
Diese Gleichung beschreibt die Erhaltung des Impulses und die Beziehung zwischen Druck, Viskosität und Beschleunigung der Flüssigkeit. Diese Gleichungen zu lösen, kann besonders in nichtlinearen oder turbulenten Situationen komplex sein. Wenn die Flüssigkeit kompressibel ist, wird die Sache etwas komplizierter, da \rho nicht mehr konstant ist, sondern sich zeitlich und räumlich verändern kann.
\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{v}) = 0
Diese Gleichungen können analytisch nicht gelöst werden, es müssen numerische Methoden verwendet werden. Hier kommt OpenFOAMOpen Source Field Operation and Manipulation
ins Spiel, eine Sammlung von Open-Source-Programmen für die numerische Simulation von Flüssigkeiten. OpenFOAM hat keine grafische Benutzeroberfläche. Alle Dateien, einschließlich Geometrie, Anfangsbedingungen, Randbedingungen, Modell usw., werden über Textdateien eingegebenWenn du eine grafische Benutzeroberfläche benutzt, wirst du bald arbeitslos sein. Warum glaubst du, wird so viel in das Training von Sprachmodellen investiert?
.
Simulation eines Flügelprofils
in Entwicklung
Fliegen in einem Flugzeug ICP Savannah S mit modifiziertem Flügelprofil NACA-65018Die Zahlen sind Parameter, die in Gleichungen eingeführt werden können, um den Querschnitt zu generieren und seine Eigenschaften zu berechnen.
. Es ist nicht besonders schnell, aber es kann auf sehr kurzen Strecken abheben und landen und bei sehr niedriger Geschwindigkeit ohne Absturz fliegenEin Zustand, der auftritt, wenn der Flügel den Auftrieb verliert, indem er den kritischen Angriffswinkel überschreitet.
. Nahe der Vorderkante des Flügels gibt es Kunststoffteile, die als Vortex-Generatoren bezeichnet werden. Ihre Funktion besteht darin, Mikroturbulenzen zu erzeugen, um zu verhindern, dass die Grenzschicht sich vom Flügel löst. Das Ziel in OpenFOAM besteht darin, einen Abschnitt des Flügels mit und ohne Vortex-Generatoren zu simulieren und den Unterschied zu überprüfen.
Inkompressible Flüssigkeit
in Entwicklung
Ondsel
in Entwicklung
Blender
in Entwicklung
Javascript
in Entwicklung
Künstliche Intelligenz
Wir haben Fortschritte gemacht, aber es gibt noch einen langen Weg vor uns. Heute, am 5. Februar 2024, habe ich die vier bekanntesten künstlichen Intelligenzen (ChatGPT 3.5, ChatGPT4 Turbo, Bing und Bard) gebeten, etwas sehr Einfaches zu tun:
Ich habe zwei Beobachtungen und eine Schlussfolgerung: Die erste Beobachtung ist, dass keine der vier KIs einen guten Job gemacht hat. Die zweite Beobachtung, ebenfalls interessant, ist, dass man nicht unterscheiden kann, dass eine besonders besser als die andere wäre. Obwohl einige Modelle technisch überlegen sind. Die Schlussfolgerung ist also, dass es klar scheint, dass die “künstlichen” Intelligenzen wenig bis keine Fähigkeit zum logischen Denken in Bereichen besitzen, in denen sie nicht trainiert wurden. Selbst mit der Kenntnis der Ausführungsregeln des Diagramms waren sie nicht in der Lage, vier Kreise und einige wenige Beschriftungen zu zeichnen.
Interessanterweise war Bard (Modell Gemini Pro) nicht einmal in der Lage, korrekten Code zu generieren. Ich musste den Code von Bard an Bing weitergeben, damit er ihn korrigieren konnte. Angeblich ist Bing ChatGPT4, aber ich glaube, die Fotokopie kam verschwommen heraus. Diese Modelle benötigen eine große Menge an Trainingsdaten, um Muster zu erkennen; sie denken nicht im menschlichen Sinne. Ich hätte den ganzen Nachmittag damit verbringen können, zu versuchen, die Modelle dazu zu bringen, die Kreise in die richtige Position zu bewegen. Es gibt Leute, die das tun, aber das erscheint mir absurd. Es wird viel Aufwand betrieben, um eine AGI zu entwickeln, die wie ein Mensch denken kann. Doch vorerst müssen wir weiterhin die Modelle in den Bereichen trainieren, in denen wir sie einsetzen möchten. Das ist eines meiner Ziele im Fab Academy.
Bilder
in Entwicklung
Imagemagick
Es ist für unendlich viele Dinge nützlich. Du kannst ein Wasserzeichen zu einem Bild hinzufügen.
Oder kombiniere zwei oder mehr Bilder horizontal so, dass:
a) Sie die gleiche Höhe haben
b) Die Bilder durch einen transparenten Raum getrennt sind
Das zusammengesetzte Foto des Flugzeugs und des Flügelprofils wurde so gemacht.
montage savannah.jpg naca65018.png -geometry +5+0 -tile 2x1\
-resize x800 -background none -gravity West -extent x800 flugzeug.webp
PGF/TikZ
TikZ ist ein Paket für \LaTeX, das es ermöglicht, Figuren und Grafiken zu erstellen. Ich habe es an der Universität verwendet. Ich habe die Ikigai-Figur erstellt, die ich auf der Seite des Abschlussprojekts verwenden werde.
Wie ihr seht, verwende ich alles Mögliche, das durch Code erzeugt wird.
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
% Kreise
\fill[cyan!45, opacity=0.5, draw=cyan] (0,1) circle (2cm);
\fill[magenta!45, opacity=0.5, draw=magenta] (0,-1) circle (2cm);
\fill[yellow!45, opacity=0.5, draw=orange] (1,0) circle (2cm);
\fill[black!15, opacity=0.4, draw=gray] (-1,0) circle (2cm);
% Beschriftungen
\node[font=\small, align=center] at (-2.8,0) {Was die\\ Welt braucht};
\node[font=\small, align=center] at (2.8,0) {Worin du\\ gut bist};
\node[font=\small, align=center] at (0,-2.4) {Wofür du\\ bezahlt werden kannst};
\node[font=\small] at (0,2.4) {Was du liebst};
% Kleine Beschriftungen
\node[font=\tiny] at (1.35,-1.2) {Beruf};
\node[font=\tiny] at (1.35,1.2) {Leidenschaft};
\node[font=\tiny] at (-1.35,-1.2) {Berufung};
\node[font=\tiny] at (-1.35,1.2) {Mission};
% Titel
\node[font=\large] at (0,0) {Ikigai};
\end{tikzpicture}
\end{document}
Um die svg
-Figur zu generieren, führen Sie den Befehl aus:
pdflatex ikigai.tex && pdf2svg ikigai.pdf ikigai.svg
Audio und Video
in Entwicklung
ffmpeg
Sehr nützlich für unzählige Operationen. Früher war es schwierig, sich die Befehle zu merken, aber jetzt kannst du sie einfach ein Sprachmodell fragen.
yt-dlp
Ich benutze dieses Terminal-Tool, um Videos von Fab Academy herunterzuladen, die auf Youtube oder Vimeo gehostet sind. Zum Beispiel:
Manim
Du hast sicherlich schon mal ein Video von 3blue1brown gesehen.
Manim ist die Python-Bibliothek, die er selbst geschaffen hat, um seine Animationen zu generieren.
Hier ist mein Hallo Welt!: manim -pqh hello_manim.py AnimatedSquareToCircle
from manim import *
class AnimatedSquareToCircle(Scene):
def construct(self):
circle = Circle() # erstelle einen Kreis
square = Square() # erstelle ein Quadrat
self.play(Create(square)) # zeige das Quadrat auf dem Bildschirm
self.play(square.animate.rotate(PI / 4)) # rotiere das Quadrat
self.play(
ReplacementTransform(square, circle)
) # verwandle das Quadrat in einen Kreis
self.play(
circle.animate.set_fill(BLUE, opacity=0.2)
) # färbe den Kreis auf dem Bildschirm
Sonic Pi
Ich erstelle eine Session mit einigen Audioproben von Fab Academy.
Mehr kann ich nicht verraten.
use_bpm 130
live_loop :met1 do # das ist ein Metronom zur Synchronisierung der Beats
sleep 1
end
define :pattern do |pattern|
pattern.ring.tick == "x"
end
live_loop :kick, sync: :met1 do
a = 2
sample :bd_haus, amp: a, release: 8, cutoff: 110 if pattern("x-----x---x--x--")
sleep 0.25
end
live_loop :clap, sync: :met1 do
sleep 1
sample :perc_snap, amp: 1
sleep 1
end
live_loop :hhc1, sync: :met1 do
sample :drum_cymbal_closed, amp: 0.5 if pattern("x-x-x-x-xxx-x-x-")
sleep 0.125
end
Schlussfolgerungen
in Entwicklung
Die Teilnehmer des Fab Academy sind HeldenDie Instruktoren sind auch Helden. Vor allem die aus Puebla.
. Ich hatte völlig vergessen, wie hart der Kurs ist. Ich gestehe, es fällt mir schwer. Heute ist Sonntag, und ich habe nicht einmal 5% von dem erledigt, was ich vorhatte. Außerdem mache ich weiterhin Änderungen an der Vorlage und wenn ich eine Sache repariere, zerstöre ich eine andere.
Ich bin froh, wieder als Schüler teilzunehmen. Ich lächle immer noch von der letzten Reihe aus, wenn ihr an die Tafel geholt werdet, aber nicht so sehr. Ich bin menschlicher. Diese Erfahrung wird meine sozialen Fähigkeiten als Lehrer verbessernIch habe einen etwas eigenartigen Bildungsstil. Man könnte sagen, ich ähnele eher Homelander als Superman.
.
Ich bin besonders stolz darauf, Ingenieurkompetenzen, von denen ich geglaubt hatte, sie vergessen zu haben, in die Praxis umzusetzen. Fab Academy war die Motivation, die ich brauchte. Ich glaube, dass durch die Kombination dieser Fähigkeiten mit der Macht der KI erstaunliche Ergebnisse erzielt werden können.
Lösung zur Frage aus dem Abschnitt über künstliche Intelligenz: Von links nach rechts: GPT3.5, GPT4, Bing und Bard. Hast du’s erraten?