This commit is contained in:
MuedeHydra 2026-04-13 18:09:35 +02:00
parent 57424703b9
commit 62c951a215
26 changed files with 322 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

View File

@ -101,6 +101,14 @@ Diese Dokumentation ist primär für eine Linux-Umgebung ausgelegt. Windows-spez
#include "src/signalverarbeitung.typ"
#pagebreak()
= Produktentwicklung
#include "src/produktentwicklung.typ"
#pagebreak()
= Optische Simulation
#include "src/optische_simulation.typ"
#pagebreak()
= Python
#include "src/python.typ"
#include "src/python_wahlmodul.typ"

View File

@ -0,0 +1,60 @@
#import "@preview/cetz:0.4.1"
== Winkel
#grid(columns: (1fr, 1fr), gutter: 10pt, align: horizon,
[$ alpha :eq frac(b, r) $], [
#cetz.canvas({
import cetz.draw: *
arc((1, 0), stop: 45deg, delta: 45deg, mode: "PIE", fill: green)
arc((4, 0), start: 0deg, delta: 45deg, radius: 4)
line((0, 0), (3, 3))
line((0, 0), (4.3, 0))
content((0.6, 0.3), [$alpha$])
content((4, 1.8), [$r$])
content((2, -0.4), [$b$])
})
])
#grid(columns: (1fr, 1fr), gutter: 10pt,
[
#grid( columns: 1fr, gutter: 10pt,
[$ sin(phi) eq frac("Gegenkathete von " phi, "Hypotenuse") $],
[$ cos(phi) eq frac("Ankathete von " phi, "Hypotenuse") $],
[$ tan(phi) eq frac("Gegenkathete von " phi, "Ankathete von " phi) $],
)
], [
#cetz.canvas({
import cetz.draw: *
arc((1, 0), start: 0deg, delta: 35deg, mode: "PIE", fill: green)
arc((4, 0.5), start: 90deg, delta: 90deg, mode: "PIE", radius: 0.5)
line((0, 0), (4, 3), stroke: green)
line((0, 0), (4, 0), stroke: purple)
line((4, 3), (4, 0), stroke: red)
content((-0.4, 0), [$A$])
content((4.4, 0), [$B$])
content((4, 3.4), [$C$])
content((0.7, 0.3), [$phi$])
content((2, -0.4), [#text(fill: purple)[Ankathete b]])
content((5.5, 1.5), [#text(fill: red)[Gegenkathete a]])
content((0.5, 1.5), [#text(fill: green)[Hypotenuse c]])
})
])
=== Definition Tangens
$ tan(phi) eq frac(sin(phi), cos(phi)) $
=== Trigonometrische Pythagoras
$ sin^2(phi) plus cos^2(phi) eq 1 $
(woche 5)
== Spezielle Werte der trigonometrischen Funktionen
#table(columns: (1fr,)*12, align: horizon + center,
[$ phi $], [$ 0 $], [$ frac(pi, 6) $], [$ frac(pi, 4) $], [$ frac(pi, 3) $], [$ frac(pi, 2) $], [$ frac(2pi, 3) $], [$ frac(3pi, 4) $], [$ frac(5pi, 6) $], [$ pi $], [$ frac(3pi, 2) $], [$ 2pi $],
[Grad], [$ 0 $], [$ 30 $], [$ 45 $], [$ 60 $], [$ 90 $], [$ 120 $], [$ 135 $], [$ 150 $], [$ 180 $], [$ 270 $], [$ 360 $],
[$ sin(phi) $], [$ 0 $], [$ frac(1, 2) $], [$ frac(sqrt(2), 2) $], [$ frac(sqrt(3), 2) $], [$ 1 $], [$ frac(sqrt(3), 2) $], [$ frac(sqrt(2), 2) $], [$ frac(1, 2) $], [$ 0 $], [$ -1 $], [$ 0 $],
[$ cos(phi) $], [$ 1 $], [$ frac(sqrt(3), 2) $], [$ frac(sqrt(2), 2) $], [$ frac(1, 2) $], [$ 0 $], [$ minus frac(1, 2) $], [$ minus frac(sqrt(2), 2) $], [$ minus frac(sqrt(3), 2) $], [$ -1 $], [$ 0 $], [$ 1 $],
[$ tan(phi) $], [$ 0 $], [$ frac(sqrt(3), 3) $], [$ 1 $], [$ sqrt(3) $], [n.v.], [$ minus sqrt(3) $], [$ minus 1 $], [$ minus frac(sqrt(3), 3) $], [$ 0 $], [n.v.], [$ 0 $],
[$ cot(phi) $], [n.v.], [$ sqrt(3) $], [$ 1 $], [$ frac(sqrt(3), 3) $], [$ 0 $], [$ minus frac(sqrt(3), 3) $], [$ minus 1 $], [$ minus sqrt(3) $], [n.v.], [$ 0 $], [n.v.],
)

View File

@ -130,12 +130,13 @@ z.b.: $mat(delim: "[",
=== Schiefsymmetrische Matrix
ist: #box(stroke: 1pt + red, inset: (x: 1em, y: 0.5em), [$A^T eq minus A$]) dann ist die Matrix Symmetrische. \
z.b.: $mat(delim: "[",
1, -2; 2, 0
0, -2; 2, 0
)$
oder
$mat(delim: "[",
0, -1, 2; 1, 0, -3; -2, 3, 0
)$
Die Diagonale muss 0 sein sonst geht es nicht!
=== Nullmatrix
$0 eq mat(delim: "[",
@ -262,4 +263,65 @@ sin(phi), cos(phi);
*woche 4*
=== Orthogonale Matrizen
$ A^(-1) eq A^T $
$ A dot A^T eq bb(1) $
Bedingungen:
- Jeder einzelne Spaltenvektor muss die Länge 1 haben. $sqrt(x^2 plus y^2 plus dots plus n^2) eq 1$
- Alle Spaltenvektoren müssen senkrecht aufeinander stehen. $bold("Skalarprodukt") eq 0$
=== Drehmatrix
#text(fill: red)[*wichtig*]
=== Spur
Summer der Diagonalen. (Gibt es nur für quadratische Matrizen)
$ tr(A) eq A^1_1 plus A^2_2 plus dots plus A^n_n $
Rechenregeln:
- $tr(A plus B) eq tr(A) plus tr(B)$
- $tr(a dot B) eq a dot tr(B)$
- $tr(A dot B) eq tr(B dot A)$
=== Determinante
#table(columns: (80pt, 1fr, 120pt), align: horizon,
[2x2 - Matrix],
[$ det(A) eq a dot b - c dot b $],
[$ A eq mat(delim: "[",
a, b;
c, d;
) $],
[3x3 - Matrix],
[$ det(A) eq (a e i + b f g + c d h) (c e g + a f h + b d i) $],
[$ A eq mat(delim: "[",
a, b, c;
d, e, f;
g, h, i;
) $],
[4x4 oder grösser],
[Muss zuerst in Stufenform gebracht werden! $ det(R) eq R^1_1 dot R^2_2 dot dots dot R^n_n $
Wichtig werden hier Zeilen gekürtzt z.b. ganze zeile durch 2 oder (-1) muss das am schluu mit der det multipliziert werden. \
Werden Zeilen miteinander getauscht dan ändert sich das vorzeichen der det!
#grid(columns: (1.23fr, 1fr),gutter: 10pt,
[#image("../img/linalg_2/2026-04-13-142725_hyprshot.png")],
[#image("../img/linalg_2/2026-04-13-142747_hyprshot.png")])
#grid(columns: (1.23fr, 1fr), gutter: 10pt,
[#image("../img/linalg_2/2026-04-13-154445_hyprshot.png")],
[Das Tauschen der Spalten kostet auch immer (-1) pro Tausch.])
],
[$ A eq mat(delim: "[",
R^1_1, R^1_2, dots, R^1_n;
0, R^2_2, dots, R^1_n;
dots.v, dots.v, dots.down, dots.v;
0, 0, dots, R^n_n;
) $]
)
Determinanten gehen nur bei quadratischen Matrizen. \
Wichtig ist sie vor allem, um zu prüfen, ob eine Matrix invertierbar ist:
- $det(A) eq.not 0$: Die Matrix ist invertierbar (regulär).
- $det(A) eq 0$: Die Matrix ist nicht invertierbar (singulär).
Rechenregeln:
- $det(A^T) eq det(A)$
- $det(a dot A) eq a^n det(A)$
- $det(A dot B) eq det(A) dot det(B)$
- $det(A^(-1)) eq frac(1, det(A))$ NUR BEI REGULÄREN Matrizen.

104
src/optische_simulation.typ Normal file
View File

@ -0,0 +1,104 @@
#import "@preview/cetz:0.4.1"
== Projekt erstellen
#cetz.canvas({
import cetz.draw: *
content((0,0), image("../img/optische_simulation/init/2026-03-20-142217_hyprshot.png", width: 8cm))
line((-2, 2), (-3.5, 2), mark: (end: ">"), fill: red, stroke: red)
content((-1.8, 2), [1. Modell-Assistent], anchor: "west")
})
#cetz.canvas({
import cetz.draw: *
content((0,0), image("../img/optische_simulation/init/2026-03-20-142224_hyprshot.png", width: 8cm))
line((-2, 0), (-3.7, 1.7), mark: (end: ">"), fill: red, stroke: red)
content((-1.8, 0), [Je nach bedarf eine 3D oder 2D Simulation], anchor: "west")
})
#cetz.canvas({
import cetz.draw: *
content((0,0), image("../img/optische_simulation/init/2026-03-20-143115_hyprshot.png", width: 8cm))
line((0, 1.2), (-2.3, 1.2), mark: (end: ">"), fill: red, stroke: red)
content((0.5, 1.2), [1. Geometrische Optik (gop)], anchor: "west")
line((0, -0.3), (-2.3, -0.3), mark: (end: ">"), fill: red, stroke: red)
content((0.5, -0.3), [2. Hinzufügen], anchor: "west")
line((0, -2), (-2.3, -2), mark: (end: ">"), fill: red, stroke: red)
content((0.5, -2), [3. Studie], anchor: "west")
})
#cetz.canvas({
import cetz.draw: *
content((0,0), image("../img/optische_simulation/init/2026-03-20-143402_hyprshot.png", width: 8cm))
line((-2, 0), (-3, 1.7), mark: (end: ">"), fill: red, stroke: red)
content((-1.8, 0), [1. Raytracing], anchor: "west")
line((-2, -1), (-3.2, -2.2), mark: (end: ">"), fill: red, stroke: red)
content((-1.8, -1), [2. Fertig], anchor: "west")
})
== Import vom CAD
== Punktqeulle
#cetz.canvas({
import cetz.draw: *
content((0,0), image("../img/optische_simulation/quelle/2026-03-27-105555_hyprshot.png", width: 8cm))
line((0, 1.3), (-2.6, 1.3), mark: (end: ">"), fill: red, stroke: red)
content((0.2, 1.3), [1. Rechtsklick auf Geometrie], anchor: "west")
line((0, 0.7), (-2.5, 0.7), mark: (end: ">"), fill: red, stroke: red)
content((0.2, 0.7), [2. Weitere Grundformen], anchor: "west")
line((0, -0.2), (-1.7, -0.2), mark: (end: ">"), fill: red, stroke: red)
content((0.2, -0.2), [3. Punkt], anchor: "west")
})
#cetz.canvas({
import cetz.draw: *
content((0,0), image("../img/optische_simulation/quelle/2026-03-27-105636_hyprshot.png", width: 8cm))
line((0, 1.4), (-0.8, 1.4), mark: (end: ">"), fill: red, stroke: red)
content((0.2, 1.4), [4. Position vom Punkt definieren], anchor: "west")
line((0, 1.9), (-2.0, 1.9), mark: (end: ">"), fill: red, stroke: red)
content((0.2, 1.9), [5. Objekt erzeugen], anchor: "west")
})
#cetz.canvas({
import cetz.draw: *
content((0,0), image("../img/optische_simulation/quelle/2026-03-27-105956_hyprshot.png", width: 8cm))
line((0, 1.0), (-2.6, 1.0), mark: (end: ">"), fill: red, stroke: red)
content((0.2, 1.0), [6. Rechtsklick auf Geometrische Optik], anchor: "west")
line((0, -0.6), (-1.6, -0.6), mark: (end: ">"), fill: red, stroke: red)
content((0.2, -0.6), [7. Freisetzung von Punkt \ (Kann aber auch was anderes sein falls man eine Leuchtende Wand, etc. will)], anchor: "west")
})
#cetz.canvas({
import cetz.draw: *
content((0,0), image("../img/optische_simulation/quelle/2026-03-27-113600_hyprshot.png", width: 8cm))
line((0, 1.4), (-1, 1.4), mark: (end: ">"), fill: red, stroke: red)
content((0.2, 1.4), [8. In das Feld Klicken], anchor: "west")
line((2, 0.1), (0.9, 0.1), mark: (end: ">"), fill: red, stroke: red)
content((2.2, 0.1), [9. Punkt auswählen], anchor: "west")
line((0, -0.5), (-1, 0.7), mark: (end: ">"), fill: red, stroke: red)
content((0.2, -0.5), [10. Form Auswählen z.B. Konisch], anchor: "west")
line((0, -1.5), (-1, 0.0), mark: (end: ">"), fill: red, stroke: red)
content((0.2, -1.5), [11. Strahlrichtung definieren], anchor: "west")
line((0, -2.5), (-2, -0.3), mark: (end: ">"), fill: red, stroke: red)
content((0.2, -2.5), [12. Winkel vom Konus einstellen], anchor: "west")
})
#image("../img/optische_simulation/quelle/2026-03-27-113030_hyprshot.png", width: 8cm)
== Simulation

View File

@ -29,7 +29,8 @@ Beschleunigung: \
// &eq - A omega^2 cos(omega t plus delta) \
// &eq minus omega^2 dot x(t)$
$a_x &eq - A omega^2 cos(omega t plus delta) \
&eq minus omega^2 dot x(t)$
a_x &eq minus omega^2 dot x(t) \
a_"max" &eq omega^2 dot accent(x, hat)$
// Amplitude von:\
// $v_x : A omega$ \
@ -58,6 +59,7 @@ $E_"pot" (x) eq 0$ Bei Gleichgewichtslage \
=== Energie
$E_"pot" eq frac(1, 2) k y^2$ \
$E_"ges" eq frac(1, 2) k accent(y, hat)^2$ ($accent(y, hat) arrow $ Maximalwert von der Amplitude)
=== Fadenpendel
@ -79,7 +81,7 @@ $ T eq 2 pi dot root(, frac(l, g)) $
=== Physikalisches Pendel
#grid(columns: (100pt, 1fr), gutter: 10pt, [
$ T eq 2 pi dot root(, frac(l, m dot g dot d)) $
$ T eq 2 pi dot root(, frac(I, m dot g dot d)) $
], [
#cetz.canvas({
import cetz.draw: *
@ -100,6 +102,7 @@ $ T eq 2 pi dot root(, frac(l, m dot g dot d)) $
- d Abstand vom Drehpunkt zum Massemittelpunkt
- r Radius vom Kreis
- m Masse vom Pendel
- I Trägheitsmoment bezüglich der Drehachse
])
})
])
@ -114,3 +117,8 @@ $ T eq 2 pi dot root(, frac(I, D*)) $
#image("../img/schwingungen_und_wellen/Drehpendel.png")
])
=== Satz von Steiner
$ I eq I_S plus m dot d^2 $
#table(columns: (1fr, 1fr),
[Kreis], [$ I_S eq frac(1, 2) dot m dot r^2 $]
)

View File

@ -0,0 +1,76 @@
== Testing
=== EMV (Elektromagnetische Verträglichkeit)
Hier wird geprüft, ob das Gerät durch Funkwellen gestört wird oder selbst andere Geräte stört (z. B. durch „Elektrosmog“).
=== Umwelttests
Ziel ist es, die Lebensdauer unter realen Bedingungen zu simulieren.
Das Produkt wird Extremen ausgesetzt:
- Hitze
- Kälte
- Feuchtigkeit
- Salzsprühnebel
- UV-Licht
=== Mechanische Tests
Belastungsprüfungen wie Falltests, Vibrationstests (Schüttelprüfung) oder Schocktests, um sicherzustellen, dass das Gehäuse und die inneren Bauteile nicht brechen.
=== Optische Tests
Prüfung der optischen Leistung (z. B. Linsenschärfe, Farbtreue, Laserleistung oder Ausleuchtung).
=== Fremdlichttests
Speziell bei Sensoren oder Kameras: Funktioniert das Gerät noch, wenn die Sonne direkt hineinscheint oder helles Kunstlicht flackert?
=== Software Tests
Überprüfung, ob der Code das tut, was er soll (Bug-Suche).
=== White Box Tests
Der Tester kennt den internen Programmcode und testet gezielt einzelne Logikpfade und Funktionen von innen heraus.
=== Black Box Tests
Der Tester kennt den Code nicht. Er prüft nur: „Wenn ich vorne Knopf A drücke, passiert dann hinten das Richtige?“ (Test aus Anwendersicht).
=== Failure Insertion Tests (Fehlerinjektion)
Man provoziert absichtlich Fehler (z. B. ein Kabel kappen oder einen Kurzschluss verursachen), um zu sehen, ob das System sicher reagiert (Fail-Safe).
=== FMEA (Fehlermöglichkeits- und Einflussanalyse)
Das ist eigentlich eine theoretische Risikoanalyse. Man geht das Design Schritt für Schritt durch und fragt: „Was könnte kaputtgehen, wie schlimm wäre das und wie verhindern wir es?“
=== Kundenspezifische Tests
Individuelle Prüfungen, die genau auf die speziellen Anforderungen oder Wünsche des Endkunden zugeschnitten sind (oft über die Standardnormen hinaus).
== Funktionale Sicherheit
=== Verfügbarkeit
Die Verfügbarkeit eines technischen Systems ist die Wahrscheinlichkeit oder das Maß, dass das System bestimmte Anforderungen zu einem bestimmten Zeitpunkt bzw. innerhalb eines vereinbarten Zeitrahmens erfüllt.
=== Zuverlässigkeit
Die Zuverlässigkeit eines technischen Produkts oder Systems ist eine Eigenschaft (Verhaltensmerkmal), die angibt, wie verlässlich eine dem Produkt oder System zugewiesene Funktion in einem Zeitintervall erfüllt wird.
=== Sicherheit
Sicherheit bezeichnet einen Zustand, der frei von unvertretbaren Risiken ist oder als gefahrenfrei angesehen wird.
=== Was ist Sicherheit?
- Sicherheit = Fehlen einer Gefährdung
- Gefährdung = Zeitgleiches Vorhandensein von Gefahr und Ort
- Gefahr = Sachverhalt der zu negativer Auswirkung führen kann
=== Risikominderung
#image("../img/produktentwicklung/Risikominderung.png", width: 11cm)
=== SIL (Safety Integrity Level)
=== Fehlerarten
zufählig / systematisch
=== Redundanz
==== Homogene Redundanz
==== Diversitäre Redundanz
=== Strategische Beschaffung
- Multiple sourcing $arrow$ Es ist eigentlich egal wo es herkommt
- Single sourcing $arrow$ Es gibt meherer Hersteller aber es wird nur von einem bestellt
- Dual sourcing $arrow$ Es gibt zwei lieferanten
- Sole sourcing $arrow$ Es gibt nur diesen einen Hersteller