some updates

This commit is contained in:
MuedeHydra 2025-12-05 14:33:00 +01:00
parent 4de5f2bcd6
commit 6be60df0a1
9 changed files with 213 additions and 18 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -67,7 +67,10 @@ Diese Dokumentation ist primär für eine Linux-Umgebung ausgelegt. Windows-spez
#include "src/informatik_3.typ"
#pagebreak()
= Photonics
= Bildverarbeitung
#include "src/bildverarbeitung_1.typ"
#include "src/bildverarbeitung_2.typ"
#include "src/bildverarbeitung_3.typ"
#pagebreak()
= Physik
@ -82,6 +85,9 @@ Diese Dokumentation ist primär für eine Linux-Umgebung ausgelegt. Windows-spez
#include "src/elektronik_3.typ"
#pagebreak()
= Photonics
#pagebreak()
= Optische Messtechnik
#include "src/optische_messtechnik.typ"
#pagebreak()

View File

@ -70,12 +70,12 @@ fill: (x, y) => if y == 0 {gray.lighten(40%)},
==== Statische lösung
Möchte man z.b. für $y^' eq 3x^2y plus x^2$ die Statische Lösung so muss man $y^'$ mit 0 ersetzen so das gilt:
#grid(columns: (1fr, 1fr), gutter: 10pt, [
$ 0 eq 3x^2y plus x^2 $
$ 0 eq x^2 dot (3y plus 1) $
$ 0 eq 3y plus 1 $
$ -1 eq 3y $
$ minus frac(1, 3) eq y $
$ y(x) eq minus frac(1, 3) $
$ 0 eq 3x^2y plus x^2 \
0 eq x^2 dot (3y plus 1) \
0 eq 3y plus 1 \
-1 eq 3y \
minus frac(1, 3) eq y \
y(x) eq minus frac(1, 3) $
], [
Da $x^2$ einen belibigen Wert haben kann kann es ausgeschlossen werden da logischerweise der rest also $0 eq 3y plus 1$ sein muss.
])
@ -83,23 +83,38 @@ Da $x^2$ einen belibigen Wert haben kann kann es ausgeschlossen werden da logisc
==== Nicht Statische lösung
#grid(columns: (1fr, 1fr), gutter: 10pt, [
$ y^' eq x^2 dot y $
$ frac(1, y) dot y^' eq x^2 $
$ integral frac(1, y) dot y^' dot "dx" eq integral x^2 dot "dx" $
$ integral frac(1, y) dot "dy" eq integral x^2 dot "dx" $
$ ln(abs(y)) eq frac(1, 3) dot x^3 + c $
$ abs(y) eq e^(frac(1, 3) dot x^3 + c) eq e^c dot e^(frac(1, 3) dot x^3) $
$ y(x) eq plus.minus e^c dot e^(frac(1, 3) dot x^3) eq C dot e^(frac(1, 3) dot x^3) "mit" C in RR \\ {0} $
$ y^' eq x^2 dot y \
frac(1, y) dot y^' eq x^2 \
integral frac(1, y) dot y^' dot "dx" eq integral x^2 dot "dx" \
integral frac(1, y) dot "dy" eq integral x^2 dot "dx" \
ln(abs(y)) eq frac(1, 3) dot x^3 + c \
abs(y) eq e^(frac(1, 3) dot x^3 + c) eq e^c dot e^(frac(1, 3) dot x^3) \
y(x) eq plus.minus e^c dot e^(frac(1, 3) dot x^3) eq C dot e^(frac(1, 3) dot x^3) "mit" C in RR \\ {0} $
], [
- $y^' eq frac("dy", "dx")$
- $integral frac(1, y) dot "dy" eq ln(abs(y))$
])
#table(columns: (0.5fr, 1fr),
[$C_1$, $C_2$], [Entsthun beim Integrieren],
[$c$], [$c eq C_2 - C_1$],
[$C$], [$C eq -c$],
)
])
=== Torricelli-Probleme
#image("../img/analysis_3/Torricelli-Probleme.png", width: 100%)
Ausflussgeschwindigkeit $v eq root(, 2 dot g dot h)$ \
Volumen-Fluss $Q eq A dot v$ \
$
V^' (t) eq Q_i (t) minus Q_a (t) \
A dot h(t) eq Q_i (t) - A_a dot root(, 2 dot g dot h(t)) \
h^' (t) eq frac(Q_i, A) minus frac(A_a, A) dot root(, 2 dot g dot h)
$
$ cases(
"OED: " h^' (t) &eq frac(Q_i, A) minus frac(A_a, A) dot root(, 2 dot g dot h) \
"IC: " h(t_0) &eq h_0
) $

View File

@ -241,6 +241,30 @@ Falls in einer gui umgebung gearbeitet wird gibt es dafür schaltflächen, aber
[$omega$], [```typ $omega$ ```],
)
])
== Farben
#table(columns: (1fr,) * 9, gutter: 6pt, align: (center + horizon), stroke: none,
table.cell(fill: black)[#text(fill: white)[black]],
table.cell(fill: gray)[gray],
table.cell(fill: silver)[silver],
table.cell(fill: white, stroke: black)[white],
table.cell(fill: navy)[#text(fill: white)[navy]],
table.cell(fill: blue)[blue],
table.cell(fill: aqua)[aqua],
table.cell(fill: teal)[teal],
table.cell(fill: eastern)[eastern],
table.cell(fill: purple)[#text(fill: white)[purple]],
table.cell(fill: fuchsia)[fuchsia],
table.cell(fill: maroon)[maroon],
table.cell(fill: red)[red],
table.cell(fill: orange)[orange],
table.cell(fill: yellow)[yellow],
table.cell(fill: olive)[olive],
table.cell(fill: green)[green],
table.cell(fill: lime)[lime],
)
Alternativ kann auch einfach `rgb("#001f3f")` verwendet werden.
== cetz
importieren:
```typ

View File

@ -0,0 +1,76 @@
== opencv
=== install opencv
```sh
sudo pacman -S opencv hdf5 vtk
```
=== einfaches fenster
#table(columns: 1fr, [```cpp
#include <opencv2/opencv.hpp>
int main(){
cv::Mat img = cv::Mat(cv::Size(800, 600), CV_8UC3, cv::Scalar(255, 255, 255));
// code
cv::imshow("Image", img);
cv::waitKey(0);
return 0;
}
```])
=== vorlage zentriert
#table(columns: 1fr, [```cpp
#include <opencv2/opencv.hpp>
cv::Mat create_window(std::string name){
int screen_width = 2560;
int screen_height = 1600;
int window_width = 800;
int window_height = 600;
cv::Mat img = cv::Mat(cv::Size(window_width, window_height), CV_8UC3, cv::Scalar(255, 255, 255));
cv::namedWindow(name, cv::WINDOW_AUTOSIZE);
cv::moveWindow(name, (screen_width - window_width) / 2, (screen_height - window_height) / 2);
return img;
}
int main(){
cv::Mat img = create_window("Image");
// code
cv::imshow("Image", img);
while (1){
char key = cv::waitKey(0);
if (key == 27){ // ESC
break;
}
}
return 0;
}
```])
=== line
#table(columns: 1fr, [```cpp
cv::line(img, cv::Point(40, 40), cv::Point(60, 40), cv::Scalar(255, 255, 0), 10);
```])
#table(columns: (1fr, 1fr),
[img], [Zeichen fläche (`cv::Mat`)],
[cv::Point(40, 40)], [Startpunkt],
[cv::Point(60, 40)], [Endpoint],
[cv::Scalar], [Farbe in BRG],
[10], [Linienbreite],
)
=== circle
#table(columns: 1fr, [```cpp
cv::circle(img, cv::Point(10, 10), 20, cv::Scalar(0, 0, 128), 30);
```])
#table(columns: (1fr, 1fr),
[img], [Zeichen fläche (`cv::Mat`)],
[cv::Point(10, 10)], [Mittelpunkt],
[cv::Scalar], [Farbe in BRG],
[30], [Linienbreite (-1 für geffülter Kreis],
)

View File

View File

View File

@ -299,7 +299,41 @@ Jitter bezeichnet eine nicht gerade Flanke, sondern eine, die wie in der Abbildu
==== TCP/IP
==== Sockets
==== HTTP/HTML, JS/Web-Programmierung
==== HTTP/HTML
*Aufbau*
HTTP besteht aus einem Header und einem Body
Header:
- Eingeleitet durch
- das Verb +Ressource +Protocol (Request)
- Protocol +Status (Response)
- Metainformation
- Aufgeteilt in Header-Felder der Form
- Name: Inhalt
Body:
- vollständige Payload
```html
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
```
==== JS/Web-Programmierung
==== MQTT
==== Sicherheit

View File

@ -541,6 +541,46 @@ std::ofstream myfile("hello.txt", std::ios::app);
[```sh git checkout <branch> ```], [in den branch wechseln],
)
=== randome
```cpp #include <random> ``` \
Zahlen sind random aber jedes mal die gleichen
#table(columns: 1fr, [```cpp
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> die_dist(1, 6);
int number = die_dist(gen); // Roll the die once!
```])
Mit randome Seed
#table(columns: 1fr, [```cpp
std::mt19937 gen(0); // seed
std::uniform_int_distribution<int> die_dist(1, 6);
int number = die_dist(gen); // Roll the die once!
```])
=== for loop
#table(columns: 1fr, [```cpp
std::list<int> values = {1, 2, 3};
for (auto it = list.begin(); it < list.end(); it++){
std::cout << list.at(it) << std::endl;
}
```])
#table(columns: 1fr, [```cpp
std::list<int> values = {1, 2, 3};
for (auto value : values){
std::cout << value << std::endl;
}
```])
#table(columns: 1fr, [```cpp
std::list<int> values = {1, 2, 3};
for (auto &value : values){
std::cout << value << std::endl;
}
```])
=== testing
```cpp
#include <cassert>