Files
mathematikfhtw/LineareAlgebraGrafiken.typ

205 lines
6.5 KiB
Typst

#import "@preview/cetz:0.3.3" //Grafiken
#set text(font: "New Computer Modern Sans Math")
#let abb1() = {
cetz.canvas(length: 3cm, {
import cetz.draw: *
set-style(
mark: (fill: black, scale: 2),
stroke: (thickness: 0.4pt, cap: "round"),
angle: (
radius: 0.3,
label-radius: .22,
fill: green.lighten(80%),
stroke: (paint: green.darken(50%))
),
content: (padding: 1pt)
)
//grid((-.25, -.25), (2, 2 ), step: 0.5, stroke: gray + 0.2pt)
line((-.05, 0), (1.85, 0), mark: (end: "stealth", scale: 0.8))
content((), $ x $, anchor: "west")
line((0, -.05), (0, 1.85), mark: (end: "stealth", scale: 0.8))
content((), $ y $, anchor: "south")
for (x, ct) in ((0, $ 0 $), (0.5, $ 1 $), (1, $ 2 $), (1.5, $ 3 $), (1.25, $a_1$)) {
line((x, 3pt), (x, -3pt))
content((), anchor: "north", ct)
}
for (y, ct) in ((0.5, $ 1 $), (1, $ 2 $), (1.5, $ 3 $), (1.25, $a_2$)) {
line((3pt, y), (-3pt, y))
content((), anchor: "east", ct)
}
//line((0,0), (1.25, 1.25),name: "vec",mark: (end: "stealth", fill: green.darken(30%)),
//stroke: (paint: green.darken(30%), thickness: 1.25pt))
line((0,0), (1.25, 1.25),name: "vec",stroke: (paint: red.darken(30%), thickness: 1.25pt))
line((1.25,0), (1.25, 1.25), stroke: (dash: "dashed", paint: blue.darken(30%), thickness: 0.5pt))
line((0,1.25), (1.25, 1.25), stroke: (dash: "dashed", paint: blue.darken(30%), thickness: 0.5pt))
circle((1.25,1.25), radius: 0.025, fill: green.darken(30%), stroke: (paint: green.darken(30%), thickness: 1.25pt), name: "punkt")
content("punkt.end", anchor: "south-west", padding: (left: 3mm, bottom: 2mm), text(green.darken(30%))[Punkt $(a_1, a_2)$])})
}
#let abb2() = {
cetz.canvas(length: 3cm, {
import cetz.draw: *
set-style(
mark: (fill: black, scale: 2),
stroke: (thickness: 0.4pt, cap: "round"),
angle: (
radius: 0.3,
label-radius: .22,
fill: green.lighten(80%),
stroke: (paint: green.darken(50%))
),
content: (padding: 1pt)
)
// grid((-.25, -.25), (2, 2 ), step: 0.5, stroke: gray + 0.2pt)
line((-.05, 0), (1.85, 0), mark: (end: "stealth", scale: 0.8))
content((), $ x $, anchor: "west")
line((0, -.05), (0, 1.85), mark: (end: "stealth", scale: 0.8))
content((), $ y $, anchor: "south")
for (x, ct) in ((0, $ 0 $), (0.5, $ 1 $), (1, $ 2 $), (1.5, $ 3 $), (1.25, $a_1$)) {
line((x, 3pt), (x, -3pt))
content((), anchor: "north", ct)
}
for (y, ct) in ((0.5, $ 1 $), (1, $ 2 $), (1.5, $ 3 $), (1.25, $a_2$)) {
line((3pt, y), (-3pt, y))
content((), anchor: "east", ct)
}
line((0,0), (1.25, 1.25),name: "vec",stroke: (paint: red.darken(30%), thickness: 1.25pt))
line((1.25,0), (1.25, 1.25), stroke: (dash: "dashed", paint: blue.darken(30%), thickness: 0.5pt))
line((0,1.25), (1.25, 1.25), stroke: (dash: "dashed", paint: blue.darken(30%), thickness: 0.5pt))
line((0,0), (1.25, 1.25),name: "vec",mark: (end: "stealth", fill: green.darken(30%),scale: 0.8), stroke: (paint: green.darken(30%), thickness: 1.25pt))
content("vec.end", anchor: "north-west", padding: (left: 3mm, top: -2mm), text(green.darken(30%))[Vektor $arrow(a)$])
})
}
#let abb3() = {
cetz.canvas(length: 40mm,
{
import cetz.draw: *
set-style(
mark: (fill: black, scale: 2),
stroke: (thickness: 0.4pt, cap: "round"),
angle: (
radius: 0.3,
label-radius: .22,
fill: green.lighten(80%),
stroke: (paint: green.darken(50%))
),
content: (padding: 1pt)
)
//grid((-.25, -.25), (2.5 , 2 ), step: 0.5, stroke: gray + 0.2pt)
line((-.05, 0), (80mm, 0), mark: (end: "stealth",scale: 0.9))
content((), $ x $, anchor: "west")
line((0, -.05), (0, 70mm), mark: (end: "stealth",scale: 0.9))
content((), $ y $, anchor: "south")
for (x, ct) in ((10mm, $ 1 $), (20mm, $ b_1$), (30mm, $ 3 $),(40mm, $a_1$), (50mm,$5$), (60mm, $a_1 + b_1$),(70mm, $7$)) {
line((x, 3pt), (x, -3pt))
content((), anchor: "north", ct)
}
for (y, ct) in ((10mm, $ a_2 $), (20mm, $ 2 $), (30mm, $ 3 $), (40mm, $b_2$),(1.25,$a_2+b_2$), (1.5, $6$)) {
line((3pt, y), (-3pt, y))
content((), anchor: "east", ct)
}
line((0,0), (40mm, 10mm),name: "veca",mark: (end: "stealth", fill: blue.darken(30%),scale:0.9), stroke: (paint: blue.darken(30%), thickness: 0.75pt))
content("veca.100%", anchor: "west", padding: (left:1mm, bottom:-5mm),text(blue.darken(30%))[$arrow(a)$])
line((40mm,0), (40mm, 10mm ), stroke: (dash: "dotted",paint: blue.darken(30%), thickness: 0.5pt))
line((0,10mm), (40mm, 10mm), stroke: (dash: "dotted",paint: blue.darken(30%), thickness: 0.5pt))
line((0,0), (20mm, 40mm),name: "vecb",mark: (end: "stealth", fill: red.darken(30%),scale: 0.9), stroke: (paint: red.darken(30%), thickness: 0.75pt))
content("vecb.80%", anchor: "east", padding: (left:0mm, bottom:5mm),text(red.darken(30%))[$arrow(b)$])
line((20mm,0mm), (20mm, 40mm), stroke: (dash: "dotted",paint: red.darken(30%), thickness: 0.5pt))
line((0mm,40mm), (20mm, 40mm), stroke: (dash: "dotted",paint: red.darken(30%), thickness: 0.5pt))
line((0,0), (60mm, 50mm),name: "vec_ab",mark: (end: "stealth", fill: orange ,scale: 0.9), stroke: (paint: orange, thickness: 0.75pt))
content("vec_ab.100%", anchor: "east", padding: (left:0mm, bottom:5mm),text(green.darken(60%))[$arrow(a) + arrow(b)$])
line((20mm,40mm), (60mm, 50mm),name: "veca_dotted",mark: (end: "stealth", scale: 0.9), stroke: (dash: "dotted", paint: blue, thickness: 0.75pt))
line((40mm,10mm), (60mm, 50mm),name: "vecb_dotted",mark: (end: "stealth", scale: 0.9), stroke: (dash: "dotted", paint: red, thickness: 0.75pt))
content((50mm, 20mm), [Parallelogramm])
arc(
(48mm, 18mm),
radius: 0.25,
start: -45deg,
delta: -90deg,
mark: (
end: "stealth",
))
line((60mm,0mm), (60mm, 50mm),name: "vecab_dotted", stroke: (dash: "dotted", paint: orange, thickness: 0.75pt))
line((0mm,50mm), (60mm, 50mm),name: "vecab_dotted",stroke: (dash: "dotted", paint: orange, thickness: 0.75pt))
})}
#let abb4() = {
cetz.canvas(length: 40mm,
{
import cetz.draw: *
set-style(
mark: (fill: black, scale: 2),
stroke: (thickness: 0.4pt, cap: "round"),
angle: (
radius: 0.3,
label-radius: .22,
fill: green.lighten(80%),
stroke: (paint: green.darken(50%))
),
content: (padding: 1pt)
)
//grid((-.25, -.25), (2.5 , 2 ), step: 0.5, stroke: gray + 0.2pt)
line((-30mm, 0), (50mm, 0), mark: (end: "stealth",scale: 0.9))
content((), $ x $, anchor: "west")
line((0, -.05), (0, 70mm), mark: (end: "stealth",scale: 0.9))
content((), $ y $, anchor: "south")
})
}