Modellierung der allgemeinen Sinusfunktion

Ein Lerntool für Schülerinnen und Schüler der 10. Klasse (Gymnasium), um die Parameter einer allgemeinen Sinusfunktion aus dem Graphen abzulesen.

f(t) = a · sin( b · ( t − c ) ) + d
▶ Im Browser ausprobieren ▶ Polynomfunktionen-Trainer
Screenshot of Sine Parameter Trainer showing a sine curve with draggable measurement crosshairs, parameter input fields, and score tracking

Funktionen

Zufällige Kurvenerzeugung

Jeder Klick auf Neue Aufgabe erzeugt eine neue Sinuskurve mit zufälligen Parametern.

Farbcodierte Formel

Die allgemeine Formel wird mit jedem Parameter in seiner eigenen Farbe angezeigt, passend zu den Eingabefeldern.

Ausblendbare Formel

Deaktiviere Formel anzeigen für eine zusätzliche Herausforderung.

Hilfsformel

Die Beziehung b = 2π / P wird als Erinnerung neben der Hauptformel angezeigt.

Verschiebbare Fadenkreuze

Zwei gestrichelte Linien (rot & grün) können auf dem Diagramm gezogen werden, um Abstände zu messen, mit Live-(x, y)-Beschriftungen.

Live Δx / Δy Anzeige

Abstände zwischen den beiden Fadenkreuzen werden in Echtzeit angezeigt — perfekt zum Messen von Periode oder Amplitude.

Intelligente Antwortprüfung

Akzeptiert äquivalente Darstellungen und sagt dir genau, welche Parameter falsch sind.

Brucheingabe

Antworten können als Dezimalzahlen (1.5) oder Brüche (3/2) eingegeben werden.

Punkteverfolgung

Zählt richtige Antworten gegen Gesamtversuche während der Sitzung.

Parameterbereiche

ParameterRolleBereichTyp
aAmplitude1 bis 10Positive ganze Zahl
bFrequenz (Periode P = 2π/b)0,25 bis 4 (Schritt 0,25)Vielfaches von 0,25
cPhasenverschiebungAbhängig von b (kleiner als halbe Periode)Ganze Zahl
dVertikale Verschiebung−5 bis 5Ganze Zahl

Download & Installation

Die Anwendung ist eine eigenständige Windows-Datei — keine zusätzliche Software oder Laufzeitinstallation erforderlich.

  1. Lade die neueste Version herunter:
    Download (Windows x64)
  2. Speichere SineParameterTrainer.exe an einem beliebigen Ort auf deinem Computer.
  3. Doppelklicke die Datei, um die Anwendung zu starten — das war's!
Hinweis: Der Download ist eine einzelne ~70 MB Datei. Alles ist enthalten — kein Entpacken oder Installieren nötig.

Oder überspringe den Download und probiere es direkt im Browser aus →

Anleitung

1. Den Graphen ablesen

Beim Start der Anwendung (oder nach Klick auf Neue Aufgabe) wird eine Sinuskurve gezeichnet. Bestimme die vier Parameter:

  • a (Amplitude) — die Hälfte des Abstands zwischen Maximum und Minimum.
  • b (Frequenz) — miss die Periode P mit den Fadenkreuzen, dann b = 2π / P.
  • c (Phasenverschiebung) — der t-Wert, an dem die Kurve die Mittellinie nach oben durchkreuzt.
  • d (vertikale Verschiebung) — die Mittellinie: (Max + Min) / 2.

2. Die Mess-Fadenkreuze verwenden

Ziehe die roten und grünen gestrichelten Linien direkt auf dem Diagramm:

  • Platziere die beiden vertikalen Linien auf aufeinanderfolgenden Maxima, um die Periode (Δx) zu messen.
  • Platziere die beiden horizontalen Linien auf einem Maximum und einem Minimum, um 2·a (Δy) zu messen.
  • Jedes Fadenkreuz zeigt seine genauen (x, y)-Koordinaten an.

3. Antwort eingeben

Gib die Werte für a, b, c und d in die Eingabefelder ein. Akzeptierte Formate:

  • Ganze Zahlen: 3
  • Dezimalzahlen: 1.5
  • Brüche: 3/2

Drücke Enter oder klicke auf Antwort prüfen zur Überprüfung.

4. Rückmeldung erhalten

  • Richtig — grüne Bestätigung, Punktzahl steigt.
  • Falsch — das Tool sagt dir, welche Parameter überprüft werden müssen.
  • Klicke auf Lösung anzeigen, wenn du nicht weiterkommst.

5. Schwierigkeit erhöhen

Deaktiviere Formel anzeigen, um die Formel und den Hinweis b = 2π/P auszublenden und das Wissen aus dem Gedächtnis abzurufen.

Technologie

C# / .NET 10 WPF ScottPlot 5 CommunityToolkit.Mvvm Microsoft.Extensions.DependencyInjection

Projektstruktur

SineParameterTrainer/
├── Models/
│   └── SineParameters.cs            Parameter-Record
├── Services/
│   ├── ISineCurveService.cs          Service-Interface
│   └── SineCurveService.cs           Zufällige Parametererzeugung
├── ViewModels/
│   └── MainViewModel.cs              Anwendungslogik & Zustand
├── Converters/
│   └── StringToBrushConverter.cs     Hex-Farbe → WPF-Brush
├── MainWindow.xaml                   UI-Layout
├── MainWindow.xaml.cs                Plot-Rendering & Fadenkreuz-Steuerung
├── App.xaml / App.xaml.cs            DI-Container & Start
├── icon.png                          Anwendungssymbol
└── screenshot.png                    Screenshot für Dokumentation

Code-Signierung

Release-Builds werden ausschließlich von GitHub Actions aus dem Quellcode dieses Repositories erzeugt. Die Build-Pipeline ist vollständig automatisiert und reproduzierbar.

Teamrollen:

  • Genehmiger & Committer: holgerschl (Repository-Eigentümer)

Datenschutz: Dieses Programm überträgt keine Informationen an andere vernetzte Systeme, es sei denn, der Benutzer oder die Person, die es installiert oder betreibt, fordert dies ausdrücklich an.

Lizenz: MIT-Lizenz — frei nutzbar, modifizierbar und verteilbar.

GitHub-Konto erstellen

Um unten einen Kommentar zu hinterlassen, benötigst du ein (kostenloses) GitHub-Konto. Falls du noch keins hast, dauert die Registrierung nur eine Minute:

  1. Gehe zur GitHub-Registrierungsseite:
    Bei GitHub registrieren
  2. Gib deine E-Mail-Adresse ein, wähle ein Passwort und einen Benutzernamen.
  3. Löse das kurze Verifizierungsrätsel und bestätige deine E-Mail.

Das war's — du kannst dich jetzt anmelden, um Kommentare und Feedback zu hinterlassen.

Kommentare & Feedback

Hast du eine Frage, einen Vorschlag oder einen Fehler gefunden? Hinterlasse unten einen Kommentar — melde dich mit deinem GitHub-Konto an, um zu schreiben.