initial commit with old project files

This commit is contained in:
Daniel Mevec 2023-02-14 12:00:37 +01:00
commit 9a30bc33e9
4 changed files with 60691 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.pyc
*.png

448
harmonograph (copy).nb Normal file
View file

@ -0,0 +1,448 @@
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 10.0' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 15948, 439]
NotebookOptionsPosition[ 14904, 398]
NotebookOutlinePosition[ 15241, 413]
CellTagsIndexPosition[ 15198, 410]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[CellGroupData[{
Cell["Dopple-Pendel-Harminonograph", "Title",
CellChangeTimes->{{3.6458459678196263`*^9, 3.645846018426115*^9}}],
Cell[TextData[ButtonBox["https://en.wikipedia.org/wiki/Ellipse#General \
_parametric _form",
BaseStyle->"Hyperlink",
ButtonData->{
URL["https://en.wikipedia.org/wiki/Ellipse#General_parametric_form"], None},
ButtonNote->
"https://en.wikipedia.org/wiki/Ellipse#General_parametric_form"]], "Chapter",
CellChangeTimes->{{3.645846034119743*^9, 3.64584608314874*^9}}],
Cell[TextData[{
"Ellipsengleichung:\n",
Cell[BoxData[{
FormBox[
RowBox[{
RowBox[{"X",
RowBox[{"(", "t", ")"}]}], "=",
RowBox[{
SubscriptBox["X", "c"], "+",
RowBox[{"a", " ",
RowBox[{"cos", "(", "t", ")"}],
RowBox[{"cos", "(", "\[Phi]", ")"}]}], "-",
RowBox[{"b", " ",
RowBox[{"sin", "(", "t", ")"}],
RowBox[{"sin", "(", "\[Phi]", ")"}]}]}]}],
TraditionalForm], "\[IndentingNewLine]",
FormBox[
RowBox[{
RowBox[{"Y", "(", "t", ")"}], "=",
RowBox[{
SubscriptBox["Y", "c"], "+",
RowBox[{"a", " ",
RowBox[{"cos", "(", "t", ")"}],
RowBox[{"sin", "(", "\[Phi]", ")"}]}], "+",
RowBox[{"b", " ",
RowBox[{"sin", "(", "t", ")"}],
RowBox[{"cos", "(", "\[Phi]", ")"}]}]}]}], TraditionalForm]}],
FormatType->"TraditionalForm"]
}], "Chapter",
CellChangeTimes->{{3.6458460881370254`*^9, 3.6458462479225745`*^9}, {
3.6458479147491026`*^9, 3.645847921410314*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"SetDirectory", "[",
RowBox[{"NotebookDirectory", "[", "]"}], "]"}]], "Input",
CellChangeTimes->{{3.645848877707594*^9, 3.645848911247653*^9}}],
Cell[BoxData["\<\"/media/daniel/LEGO\"\>"], "Output",
CellChangeTimes->{3.6458489086424484`*^9, 3.645849697825536*^9,
3.6458521611914625`*^9, 3.648401817247674*^9, 3.648402866245604*^9,
3.6484058574286346`*^9}]
}, Open ]],
Cell[CellGroupData[{
Cell["Einzel-Pendel", "Subsection",
CellChangeTimes->{{3.6458462860046415`*^9, 3.6458462980946627`*^9}}],
Cell[BoxData[
RowBox[{"(*",
RowBox[{
RowBox[{"r11", "=", "1"}], ";", "\[IndentingNewLine]",
RowBox[{"r12", "=", "0.5"}], ";", "\[IndentingNewLine]",
RowBox[{"\[Omega]1", "=",
FractionBox[
RowBox[{"2", "\[Pi]"}], "360"]}], ";", "\[IndentingNewLine]",
RowBox[{"\[CapitalOmega]1", "=",
FractionBox[
RowBox[{"2", "\[Pi]"}], "36000"]}], ";", "\[IndentingNewLine]",
RowBox[{"spirale", "=",
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{"r11", "*",
RowBox[{"Cos", "[",
RowBox[{"t", "*", "\[Omega]1"}], "]"}], "*",
RowBox[{"Cos", "[",
RowBox[{"t", "*", "\[CapitalOmega]1"}], "]"}]}], "-",
RowBox[{"r12", "*",
RowBox[{"Sin", "[",
RowBox[{"t", "*", "\[Omega]1"}], "]"}], "*",
RowBox[{"Sin", "[",
RowBox[{"t", "*", "\[CapitalOmega]1"}], "]"}]}]}], ",",
RowBox[{
RowBox[{"r11", "*",
RowBox[{"Cos", "[",
RowBox[{"t", "*", "\[Omega]1"}], "]"}], "*",
RowBox[{"Sin", "[",
RowBox[{"t", "*", "\[CapitalOmega]1"}], "]"}]}], "+",
RowBox[{"r12", "*",
RowBox[{"Sin", "[",
RowBox[{"t", "*", "\[Omega]1"}], "]"}], "*",
RowBox[{"Cos", "[",
RowBox[{"t", "*", "\[CapitalOmega]1"}], "]"}]}]}]}], "}"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"graph", "=",
RowBox[{"Table", "[",
RowBox[{"spirale", ",",
RowBox[{"{",
RowBox[{"t", ",", "1", ",", "12000"}], "}"}]}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"ListLinePlot", "[", "graph", "]"}]}]}]], "Input",
CellChangeTimes->{{3.6458463059570765`*^9, 3.645846610781612*^9}, {
3.645846646692875*^9, 3.645846672776121*^9}, 3.6458477232743664`*^9, {
3.6458510629651337`*^9, 3.645851065944739*^9}},
EmphasizeSyntaxErrors->True]
}, Closed]],
Cell[CellGroupData[{
Cell["Doppel-Pendel", "Subsection",
CellChangeTimes->{{3.6458462860046415`*^9, 3.6458462980946627`*^9}, {
3.6458467010121703`*^9, 3.6458467026345735`*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"(*",
RowBox[{
"===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===",
RowBox[{"Schwingesnder", " ", "Stift"}], "===", "===", "===", "===", "===",
"===", "===", "===", "===", "===", "===", "===", "===", "==="}], "*)"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"r11", "=", ".5"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"r12", "=", ".15"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"\[Omega]1", "=",
FractionBox["\[Pi]", "60"]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"\[CapitalOmega]1", "=",
FractionBox[
RowBox[{"1", "\[Pi]"}], "3600"]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"\[Delta]1", "=", "0.5"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"\[Tau]1", "=",
FractionBox["0", "2000"]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"stift", "=",
RowBox[{
SuperscriptBox["\[ExponentialE]",
RowBox[{
RowBox[{"-", "t"}], "*", "\[Tau]1"}]], "*",
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{"r11", "*",
RowBox[{"Cos", "[",
RowBox[{
RowBox[{"t", "*", "\[Omega]1"}], "+", "\[Delta]1"}], "]"}], "*",
RowBox[{"Cos", "[",
RowBox[{"t", "*", "\[CapitalOmega]1"}], "]"}]}], "-",
RowBox[{"r12", "*",
RowBox[{"Sin", "[",
RowBox[{
RowBox[{"t", "*", "\[Omega]1"}], "+", "\[Delta]1"}], "]"}], "*",
RowBox[{"Sin", "[",
RowBox[{"t", "*", "\[CapitalOmega]1"}], "]"}]}]}], ",",
RowBox[{
RowBox[{"r11", "*",
RowBox[{"Cos", "[",
RowBox[{
RowBox[{"t", "*", "\[Omega]1"}], "+", "\[Delta]1"}], "]"}], "*",
RowBox[{"Sin", "[",
RowBox[{"t", "*", "\[CapitalOmega]1"}], "]"}]}], "+",
RowBox[{"r12", "*",
RowBox[{"Sin", "[",
RowBox[{
RowBox[{"t", "*", "\[Omega]1"}], "+", "\[Delta]1"}], "]"}], "*",
RowBox[{"Cos", "[",
RowBox[{"t", "*", "\[CapitalOmega]1"}], "]"}]}]}]}], "}"}]}]}],
";"}], "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{
"===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===",
RowBox[{"Schwingender", " ", "Tisch"}], "===", "===", "===", "===", "===",
"===", "===", "===", "===", "===", "===", "===", "===", "==="}], "*)"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{"r21", "=", "1"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"r22", "=", ".6"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"\[Omega]2", "=",
RowBox[{"\[Omega]1", "*", "3"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"\[CapitalOmega]2", "=",
RowBox[{"\[CapitalOmega]1", "*",
FractionBox[
RowBox[{"-", "1"}], "3"]}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"\[Delta]2", "=",
RowBox[{"\[Pi]", "/", "2"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"\[Tau]2", "=",
FractionBox["0", "1000"]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"tisch", "=",
RowBox[{
SuperscriptBox["\[ExponentialE]",
RowBox[{
RowBox[{"-", "\[Tau]2"}], "*", "t"}]], "*",
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{"r21", "*",
RowBox[{"Cos", "[",
RowBox[{
RowBox[{"t", "*", "\[Omega]2"}], "+", "\[Delta]2"}], "]"}], "*",
RowBox[{"Cos", "[",
RowBox[{"t", "*", "\[CapitalOmega]2"}], "]"}]}], "-",
RowBox[{"r22", "*",
RowBox[{"Sin", "[",
RowBox[{
RowBox[{"t", "*", "\[Omega]2"}], "+", "\[Delta]2"}], "]"}], "*",
RowBox[{"Sin", "[",
RowBox[{"t", "*", "\[CapitalOmega]2"}], "]"}]}]}], ",",
RowBox[{
RowBox[{"r21", "*",
RowBox[{"Cos", "[",
RowBox[{
RowBox[{"t", "*", "\[Omega]2"}], "+", "\[Delta]2"}], "]"}], "*",
RowBox[{"Sin", "[",
RowBox[{"t", "*", "\[CapitalOmega]2"}], "]"}]}], "+",
RowBox[{"r22", "*",
RowBox[{"Sin", "[",
RowBox[{
RowBox[{"t", "*", "\[Omega]2"}], "+", "\[Delta]2"}], "]"}], "*",
RowBox[{"Cos", "[",
RowBox[{"t", "*", "\[CapitalOmega]2"}], "]"}]}]}]}], "}"}]}]}],
";"}], "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{
RowBox[{"===", "===", "===", "===", "===", "===", "===", "===", "==="}],
"=",
RowBox[{"=",
RowBox[{
RowBox[{"==",
RowBox[{"==", "==="}]}], "=",
RowBox[{
RowBox[{"Berrechnung", "===", "===", "===", "===", "===", "=="}], "=",
RowBox[{
"===", "===", "===", "===", "===", "===", "===", "===",
"==="}]}]}]}]}], "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"graph", "=",
RowBox[{"Table", "[",
RowBox[{
RowBox[{"stift", "+", "tisch"}], ",",
RowBox[{"{",
RowBox[{"t", ",", "0", ",", "20000"}], "}"}]}], "]"}]}], ";"}],
"\[IndentingNewLine]",
RowBox[{"bild", "=",
RowBox[{"ListLinePlot", "[",
RowBox[{"graph", ",",
RowBox[{"Axes", "\[Rule]", "False"}], ",",
RowBox[{"AspectRatio", "\[Rule]", "1"}], ",",
RowBox[{"PlotRange", "\[Rule]",
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"-", "2"}], ",", "2"}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"-", "2"}], ",", "2"}], "}"}]}], "}"}]}], ",",
RowBox[{"PlotStyle", "\[Rule]",
RowBox[{"{",
RowBox[{"Black", ",",
RowBox[{"Thickness", "[", "Small", "]"}]}],
RowBox[{"(*", "Thin", "*)"}], "}"}]}], ",",
RowBox[{"InterpolationOrder", "\[Rule]", "2"}]}], "]"}]}]}]}]], "Input",
CellChangeTimes->{{3.6458463059570765`*^9, 3.645846610781612*^9}, {
3.645846646692875*^9, 3.645846672776121*^9}, {3.6458467467670507`*^9,
3.645846904998129*^9}, {3.6458469594578247`*^9, 3.6458474478090825`*^9}, {
3.6458475157316017`*^9, 3.6458475382112412`*^9}, {3.64584759462094*^9,
3.6458476249941936`*^9}, {3.6458476832134957`*^9, 3.645847706535537*^9}, {
3.645847740371996*^9, 3.6458477498412127`*^9}, {3.645847792132887*^9,
3.6458477935056896`*^9}, {3.645847887183854*^9, 3.645847887901455*^9}, {
3.645847941222349*^9, 3.64584794186195*^9}, {3.645848012389674*^9,
3.645848095007419*^9}, {3.6458481321510844`*^9, 3.645848173163556*^9}, {
3.645848555208227*^9, 3.645848692223268*^9}, {3.6458487428297567`*^9,
3.6458487702702055`*^9}, {3.645848919250467*^9, 3.645848920248869*^9}, {
3.6458492221206446`*^9, 3.6458492287350564`*^9}, {3.6458493687508154`*^9,
3.645849403137782*^9}, {3.6458494353475213`*^9, 3.645849461820768*^9}, {
3.6458496223099422`*^9, 3.6458496264031763`*^9}, 3.6458496901971226`*^9, {
3.6458499131215143`*^9, 3.6458500247241096`*^9}, {3.6458500626477766`*^9,
3.6458503692507153`*^9}, {3.6458504270644164`*^9,
3.6458504492944555`*^9}, {3.645851006652234*^9, 3.6458510123306446`*^9}, {
3.645851085756774*^9, 3.64585174960034*^9}, {3.645851793842017*^9,
3.6458518577865295`*^9}, {3.645851898455801*^9, 3.645852075453712*^9}, {
3.645852218318763*^9, 3.6458522415004034`*^9}, {3.6458522902660894`*^9,
3.645852325958952*^9}, {3.645873995481081*^9, 3.645873995515833*^9}, {
3.6458740563762627`*^9, 3.6458741063471127`*^9}, {3.645874532162813*^9,
3.645874535093638*^9}, {3.6458746140503283`*^9, 3.645874623676468*^9}, {
3.6484018640524397`*^9, 3.648401866851121*^9}, {3.648401911447401*^9,
3.6484019180227547`*^9}, {3.648401988356234*^9, 3.648401999478791*^9}, {
3.6484020653663054`*^9, 3.648402072684969*^9}, {3.648402153242001*^9,
3.6484021721899347`*^9}}],
Cell[BoxData[""], "Input",
CellChangeTimes->{{3.648405993086932*^9, 3.6484059931089354`*^9}}]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["", "Title"],
Cell[CellGroupData[{
Cell["Neues Speichern", "Subsubsection",
CellChangeTimes->{{3.648405373942478*^9, 3.648405384316896*^9}}],
Cell[BoxData[{
RowBox[{
RowBox[{"Sort", "[",
RowBox[{"FileNames", "[",
RowBox[{"\"\<harmonograph\>\"", "~~", "___", "~~", "\"\<.png\>\""}],
"]"}], "]"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{
RowBox[{"StringCases", "[",
RowBox[{
RowBox[{"%", "[",
RowBox[{"[",
RowBox[{
RowBox[{"Length", "[", "%", "]"}], "-", "1"}], "]"}], "]"}], ",",
RowBox[{"DigitCharacter", " ", ".."}]}], "]"}], "//",
"ToExpression"}], "//", "First"}], ")"}], "+", "1"}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Export", "[",
RowBox[{
RowBox[{"\"\<harmonograph\>\"", "~~",
RowBox[{"ToString", "[", "%", "]"}], "~~", "\"\<.png\>\""}], ",", "bild",
",",
RowBox[{"ImageSize", "\[Rule]", "2000"}]}], "]"}], ";"}]}], "Input",
CellChangeTimes->{{3.648404484592823*^9, 3.648404572242016*^9}, {
3.6484046080897427`*^9, 3.648404683501473*^9}, {3.64840475482467*^9,
3.648404775301153*^9}, {3.6484048888088903`*^9, 3.648404893175956*^9}, {
3.6484049379280787`*^9, 3.6484050085599833`*^9}, {3.6484050936277113`*^9,
3.648405288920403*^9}, {3.648405347617379*^9, 3.648405370298334*^9}, {
3.6484058116903667`*^9, 3.648405828244437*^9}}]
}, Open ]],
Cell[CellGroupData[{
Cell["Altes \[CapitalUDoubleDot]berschreiben", "Subsubsection",
CellChangeTimes->{{3.648405399900652*^9, 3.6484054118281717`*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"altenummer", "=", "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"Export", "[",
RowBox[{
RowBox[{"\"\<harmonograph\>\"", "~~",
RowBox[{"ToString", "[", "altenummer", "]"}], "~~", "\"\<.png\>\""}],
",", "bild", ",",
RowBox[{"ImageSize", "\[Rule]", "2000"}]}], "]"}]}], ";"}]], "Input",
CellChangeTimes->{{3.648405483522818*^9, 3.648405501880247*^9}, {
3.6484058533269997`*^9, 3.648405853481591*^9}, {3.648406003201972*^9,
3.648406011808455*^9}},
EmphasizeSyntaxErrors->True]
}, Open ]]
}, Open ]]
},
WindowSize->{1680, 968},
WindowMargins->{{98, Automatic}, {Automatic, 15}},
FrontEndVersion->"9.0 for Linux x86 (64-bit) (January 25, 2013)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)
(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[580, 22, 113, 1, 93, "Title"],
Cell[696, 25, 371, 7, 24, "Chapter"],
Cell[1070, 34, 981, 30, 61, "Chapter"],
Cell[CellGroupData[{
Cell[2076, 68, 170, 3, 32, "Input"],
Cell[2249, 73, 217, 3, 32, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[2503, 81, 105, 1, 45, "Subsection"],
Cell[2611, 84, 1837, 47, 163, "Input"]
}, Closed]],
Cell[CellGroupData[{
Cell[4485, 136, 158, 2, 37, "Subsection"],
Cell[4646, 140, 7918, 186, 580, "Input"],
Cell[12567, 328, 94, 1, 32, InheritFromParent]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[12710, 335, 17, 0, 93, "Title"],
Cell[CellGroupData[{
Cell[12752, 339, 106, 1, 35, "Subsubsection"],
Cell[12861, 342, 1289, 32, 77, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[14187, 379, 131, 1, 36, "Subsubsection"],
Cell[14321, 382, 555, 12, 77, "Input"]
}, Open ]]
}, Open ]]
}
]
*)
(* End of internal cache information *)

32803
harmonograph-alt.nb Normal file

File diff suppressed because it is too large Load diff

27438
harmonograph.nb Normal file

File diff suppressed because it is too large Load diff