Osciloscope
Author: Μπουμπούλης Παντελής
Date: 26 Νοέμβριος 2013

A Function Generator (left) produces sinusoidal waves that are  shown on the viewscreen of a digital osciloscope.
Pantelis Bouboulis (bouboulis.mysch.gr)

Εύρος

0.2

0.4

0.6

0.8

1.0

1.2

1.4

1.6

1.8

2.0

Γεννήτρια Ακουστικών Συχνοτήτων

Osciloscope
Παλμογράφος

KHz

Ο χρόνος $t$ είναι σε msec.

x

ΕύροςΠαλμογράφου = 5 (slider from 0.01 to 20, step 0.01)
Multiply = 1
Α = (-7.665052731623895, -0.9750561350346059)
Β: (x(Α) - 0.5, y(Α))
EyrosSxediasis: ΕύροςΠαλμογράφου
c = Circle(Α, 0.5)
Δ = Point(c)
α = Angle(Δ, Α, Β)
Left = -3
Right = 3
Down = -1.5
N = 20
Up = 1.5
X = Sequence((Left + (i * (Right - Left) / N), Up), i, 0, N)
X2 = Sequence((Left + (i * (Right - Left) / N), Down), i, 0, N)
M = 10
tmi1 = Sequence(Segment[Element[X, i], Element[X2, i]], i, 1, N + 1)
Y2 = Sequence((Right, Down + (i * (Up - Down) / M)), i, 0, M)
Y = Sequence((Left, Down + (i * (Up - Down) / M)), i, 0, M)
tmi2 = Sequence(Segment[Element[Y, i], Element[Y2, i]], i, 1, N + 1)
Γ = (-7.720300758468694, -1.6604629940770124)
Ε: (x(Γ) - 3, y(Γ))
d = Circle(Γ, Ε)
Ζ: (x(Γ) + 2, y(Γ))
e = Circle(Γ, Ζ)
a = Line(Ε, Γ)
Η = Intersect(d, a, 2)
Θ = Intersect(e, a, 1)
Ε' = Rotate(Ε, 330*°, Γ)
β = Angle(Ε', Γ, Ε)
Η' = Rotate(Η, 30*°, Γ)
γ = Angle(Η, Γ, Η')
b = Segment(Ε', Γ)
g = Segment(Γ, Η')
Ι = Intersect(e, b, 1)
Κ = Intersect(e, g, 1)
h = CircleArc(Γ, Κ, Ι)
k = CircleArc(Γ, Η', Ε')
i = Segment(Ε', Ι)
j = Segment(Κ, Η')
Δείκτης = Rotate(Ε', ((-α)) / 3, Γ)
Δείκτης2: (0.8 * Δείκτης) + (0.2 * Γ)
u = Vector(Δείκτης2, Δείκτης)
ΚλίμακαΜ1 = Sequence(Rotate[Ε', (((-i) * 120) * ° / 9), Γ], i, 1, 9)
ΚλίμακαΜ2 = Sequence(Rotate[(0.95 * Ε') + (0.05 * Γ), (((-i) * 120) * ° / 9), Γ], i, 1, 9)
ΚλίμακαΜ = Sequence(Segment[Element[ΚλίμακαΜ1, i], Element[ΚλίμακαΜ2, i]], i, 1, 9)
ΚλίμακαΝ1 = Sequence(Rotate[Ε', (((-i) * 120) * ° / 18), Γ], i, 1, 18)
ΚλίμακαΝ2 = Sequence(Rotate[(0.96 * Ε') + (0.04 * Γ), (((-i) * 120) * ° / 18), Γ], i, 1, 18)
ΚλίμακαΝ = Sequence(Segment[Element[ΚλίμακαΝ1, i], Element[ΚλίμακαΝ2, i]], i, 1, 18)
Κλίμακα1 = Sequence(Rotate[Ε', (((-i) * 120) * ° / 90), Γ], i, 1, 90)
Κλίμακα2 = Sequence(Rotate[(0.98 * Ε') + (0.02 * Γ), (((-i) * 120) * ° / 90), Γ], i, 1, 90)
Κλίμακα = Sequence(Segment[Element[Κλίμακα1, i], Element[Κλίμακα2, i]], i, 1, 90)
Λ = (-11.053453000946314, 2.32121469333236)
Μ = (-11.053453000946314, -1.8674069916926619)
l = Segment(Λ, Μ)
Ν = (-4.239484390834382, 2.32121469333236)
m = Segment(Λ, Ν)
Ξ = (-4.239484390834382, -1.8712737819207248)
n = Segment(Ν, Ξ)
p = Segment(Μ, Ξ)
πολύγ1, λ, ν, ξ, μ = Polygon(Λ, Ν, Ξ, Μ)
frequency: ((((2 - 0.2) * α / ° / 360) + 0.2) * Multiply)
MikosPalmografou: (Right - Left) / EyrosSxediasis
f(x) = If[Left ≤ x ≤ Right,sin((((2 * π) * frequency) * x / MikosPalmografou))]
Ο = Point(tmi2)
Π = Point(tmi2)
q = Segment(Ο, Π)
Ρ = Point(tmi2)
Σ = Point(tmi2)
r = Segment(Ρ, Σ)
Τ = (-8.615286936114297, -2.186917291499341)
Υ = (-6.495547862813439, -2.1618153303811294)
Φ = (-6.4955478628134395, -3.0205931841729994)
Χ = (-8.606542387794242, -3.045695145291211)
πολύγ2, τ, υ, φ, χ = Polygon(Τ, Υ, Φ, Χ)
Ψ = (-0.5396122177823983, -1.856422381748249)
Ω = (-3.0286911358052753, -1.8701741989748948)
v = Vector(Ψ, Ω)
Α_1 = (0.5192777086693229, -1.8839260162015405)
Β_1 = (3.049612078372137, -1.8426705645216035)
w = Vector(Α_1, Β_1)
Period: 1 / frequency
κείμενο16: "$f(t) = \sin\left(\frac{2\pi}{" + (LaTeX[Period]) + "}t\right)$"
κείμενο18: "$Τ = " + (LaTeX[Period]) + "\textrm{ msec}$"
κείμενο12: "$f=  " + (LaTeX[frequency]) + " \textrm{ Khz}$"
κείμενο13: "" + (LaTeX[EyrosSxediasis]) + "\:msec"
Εισ1 = Textfield(Multiply)

Tool: Οθόνη Ένδειξης Γεννήτριας (command ΟθόνηΓεννήτριας)
Input: Γ
Output: ΚλίμακαΝ2, ΚλίμακαΝ1, ΚλίμακαΝ, ΚλίμακαΜ2, ΚλίμακαΜ1, ΚλίμακαΜ, Κλίμακα2, Κλίμακα1, Κλίμακα, h, k

Ε: (x(Γ) - 3, y(Γ))
d = Circle(Γ, Ε)
Ζ: (x(Γ) + 2, y(Γ))
e = Circle(Γ, Ζ)
a = Line(Ε, Γ)
Η = Intersect(d, a, 2)
Ε' = Rotate(Ε, 330*°, Γ)
Η' = Rotate(Η, 30*°, Γ)
b = Segment(Ε', Γ)
g = Segment(Γ, Η')
Ι = Intersect(e, b, 1)
Κ = Intersect(e, g, 1)
h = CircleArc(Γ, Κ, Ι)
k = CircleArc(Γ, Η', Ε')
ΚλίμακαΜ1 = Sequence(Rotate[Ε', (((-i) * 120) * ° / 9), Γ], i, 1, 9)
ΚλίμακαΜ2 = Sequence(Rotate[(0.95 * Ε') + (0.05 * Γ), (((-i) * 120) * ° / 9), Γ], i, 1, 9)
ΚλίμακαΜ = Sequence(Segment[Element[ΚλίμακαΜ1, i], Element[ΚλίμακαΜ2, i]], i, 1, 9)
ΚλίμακαΝ1 = Sequence(Rotate[Ε', (((-i) * 120) * ° / 18), Γ], i, 1, 18)
ΚλίμακαΝ2 = Sequence(Rotate[(0.96 * Ε') + (0.04 * Γ), (((-i) * 120) * ° / 18), Γ], i, 1, 18)
ΚλίμακαΝ = Sequence(Segment[Element[ΚλίμακαΝ1, i], Element[ΚλίμακαΝ2, i]], i, 1, 18)
Κλίμακα1 = Sequence(Rotate[Ε', (((-i) * 120) * ° / 90), Γ], i, 1, 90)
Κλίμακα2 = Sequence(Rotate[(0.98 * Ε') + (0.02 * Γ), (((-i) * 120) * ° / 90), Γ], i, 1, 90)
Κλίμακα = Sequence(Segment[Element[Κλίμακα1, i], Element[Κλίμακα2, i]], i, 1, 90)

Tool: ΡότοραςΓεννήτριας
Input: Α
Output: c, Δ

c = Circle(Α, 0.5)
Δ = Point(c)