Added Qullen Plot
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 25s

This commit is contained in:
alexander
2026-02-01 11:49:45 +01:00
parent 1573913f3f
commit d7703597bb
3 changed files with 181 additions and 10 deletions

View File

@@ -1,9 +1,11 @@
#import "../lib/common_rewrite.typ" : *
#import "@preview/mannot:0.3.1"
#import "@preview/zap:0.5.0"
#import "@preview/cetz:0.4.2"
#import "../lib/circuit.typ" : *
#import "@preview/unify:0.7.1": num,qty,unit
#import "@preview/cetz-plot:0.1.3"
#import "../lib/common_rewrite.typ" : *
#import "../lib/circuit.typ" : *
#set math.mat(delim: "[")
#show math.equation.where(block: true): it => math.inline(it)
@@ -164,6 +166,13 @@
$L_"ges" = L_1 parallel L_2$,
$C_"ges" = C_1 parallel C_2$,
$C_"ges" = C_1 + C_2$,
$U_"ges" = U_1 + U_2$,
$U_"ges" = U_1 = U_2$,
$I_"ges" = I_1 = I_2$,
$I_"ges" = I_1 + I_2$,
[In $U$-Richtung Addieren],
[In $I$-Richtung Addieren],
)
]
@@ -189,6 +198,108 @@
)
]
// Lineare Quelle
#bgBlock(fill: colorEineTore)[
#subHeading(fill: colorEineTore)[Lineare Quelle]
#align(
center+horizon,
cetz.canvas({
import cetz.draw: *
import cetz-plot: *
plot.plot(size: (3, 3), name: "plot",
axis-style: "school-book",
x-label: "u", y-label: "i",
x-tick-step: none, y-tick-step: none,
axes: ("u", "i"),
x-min: -1, x-max: 2, x-grid: "both",
y-min: -2, y-max: 1, y-grid: "both", {
plot.add(((-2, -3), (3,2)))
plot.add-anchor("u0", (1,0))
plot.add-anchor("i0", (0,-1))
})
content("plot.u0", $U_0$, anchor: "south", padding: .2)
content("plot.i0", $-I_0$, anchor: "east", padding: .2)
mark("plot.u0", 0deg, symbol: "+", fill: black)
mark("plot.i0", 0deg, symbol: "+", fill: black)
line("plot.i0", (horizontal: "plot.u0", vertical: "plot.i0"), "plot.u0", stroke: (dash: "dashed", paint: rgb("#005c00")))
content((horizontal: "plot.u0", vertical: "plot.i0"), anchor: "south-west", text(rgb("#005c00"))[$R$], padding: 0.1)
})
)
$U_0$: LL-Spannung ($i = 0 => u = U_0$) \
$I_0$: KS-Strom ($u = 0 => i = -I_0$)
$R_i$: Innenwiderstand $R_i = U_0/I_0$
#table(
columns: (1fr, 1fr),
fill: (x, y) => if calc.rem(x, 2) == 1 { tableFillLow } else { tableFillHigh },
inset: 3mm,
align(center, [*$u$-gesteuert*]),
align(center, [*$i$-gesteuert*]),
align(
horizon+center,
zap.circuit({
import zap : *
import cetz.draw
zap.resistor("R1", (1, 0), (1, -1.5), fill: none, width: 0.8, height: 0.3)
zap.isource("I0", (0, 0), (0, -1.5), fill: none, scale: 0.6, i: (content: $-I_0$, distance: 6pt, label-distance: -11pt, anchor: "west", invert: true))
node("N0", "R1.in")
node("N0", "R1.out")
wire("I0.out", "R1.out", (rel: (0.5, 0)))
wire("I0.in", "R1.in")
wire("R1.in", (rel: (0.5, 0)), i: (content: $i$, invert: true))
cetz.draw.content((0.62, -0.75), [$R$])
cetz.draw.set-style(mark: (end: ">", fill: black, scale: 0.6))
cetz.draw.content((1.7, -0.75), [$u$])
cetz.draw.line((1.5, -0.1), (1.5, -1.4), stroke: 0.5pt)
})
),
align(
horizon+center,
zap.circuit({
import zap : *
import cetz.draw
zap.vsource("U0", (0, 0), (0, -1.5), fill: none, scale: 0.6, u: (content: $U_0$, distance: -4pt, label-distance: -8pt, anchor: "south-west", invert: true))
zap.resistor("R1", (0, 0), (1.75, 0), fill: none, width: 0.8, height: 0.3,
i: (content: $i$, invert: true, distance: 0.3)
)
wire((0, -1.5), (1.75, -1.5))
cetz.draw.content((0.62, -0.75), [$R$])
cetz.draw.set-style(mark: (end: ">", fill: black, scale: 0.6))
cetz.draw.content((1.95, -0.75), [$u$])
cetz.draw.line((1.75, -0.1), (1.75, -1.4), stroke: 0.5pt)
})
),
[
$u = R_i i + u_0$ \
],
[
$i = 1/R_i u - I_0$
],
table.cell(colspan: 2)[
#align($-->$)
],
table.cell(colspan: 2)[
$<--$
],
)
]
// Quell Wandlung
#bgBlock(fill: colorEineTore)[
#subHeading(fill: colorEineTore)[Quelle Wandlung]
@@ -245,14 +356,14 @@
$R_i=1/G_i$
$r(i) = R_i i + U_0$
$u = r(i) = R_i i + U_0$
],
[
$I_0 = U_0 G_i$
$G_i=1/R_i$
$g(u) = G_i u + I_0$
$i = g(u) = G_i u + I_0$
]
);
]
@@ -786,12 +897,16 @@
$E_L = Phi^2/2L = (L i^2)/2$
],
[
$C$: Admetanz $hat(=) G$
$C$: Admittanz $hat(=) G$
], [],
[
$L$: Impedanz $hat(=) R$
]
)
Admittanz: $Y = I/U$\
Impedanz: $Z = U/I$
]
// Reaktive Dual Wandlung
@@ -836,18 +951,26 @@
U_"ges"^2 = U_1^2 + 2 U_1 U_2 + U_2^2 \
tan(phi) = (U_2 sin(phi))/(U_1 + U_2 cos(phi))
$
]
*Levi's Lustig Leistung*
#bgBlock(fill: colorComplexAC)[
#subHeading(fill: colorComplexAC)[*Levi's Lustig Leistung*]
$(P =) space underline(S) = underline(U) dot underline(I)^*$\
$P = 1/2 U dot I^*$\
#table(
columns: (auto, 1fr, auto),
fill: (x, y) => if calc.rem(y, 2) == 0 { tableFillLow } else { tableFillHigh },
[Scheinleitsung], [$(P_s =) space abs(underline(S))$], [$["VA"]$],
[Wirkleistung], [$(P_w =) space P = "Real"(underline(S)) $], [$["W"]$],
[Blindleistung], [$(P_b =) space Q = "Imag"(underline(S))$], [$["var"]$]
[Wirkleistung], [$(P_w =) space P = "Re"{} $], [$["W"]$],
[Blindleistung], [$(P_b =) space Q = "Im"{}$], [$["var"]$]
)
Bei Wiederstand: $R$
$P_w = U_m^2 / 2R = (I_m^2 R)/2$
$U_"eff" = U_m/sqrt(2), I_"eff" = I_m / sqrt(2)$
]
// Komplexe Zahlen