Fourier Transform: Circle - Cat
Loading the math board and drawing, please wait…
This example demonstrates how the Fourier transform is applied to a cat curve to generate its spectrum; core math concepts include Fourier transform, complex numbers, coordinate geometry, and calculus; construction highlights from the summary involve commands like Sequence, Reverse, Join, Last, Append, PolyLine, and Polygon in GeoGebra; suitable for high school and above learners to understand the application of Fourier transform in image processing and geometric analysis.
GeoGebra Commands & Parameters
Sequence((1 / N * Sum[Sequence[(x(Element[L_1, j]) * cos(((((2 * π)) / N * (k - 1)) * (j - 1)))) + (y(Element[L_1, j]) * sin(((((2 * π)) / N * (k - 1)) * (j - 1)))), j, 1, N]]), k, 1, N) → FRealSequence((1 / N * Sum[Sequence[(y(Element[L_1, j]) * cos(((((2 * π)) / N * (k - 1)) * (j - 1)))) - (x(Element[L_1, j]) * sin(((((2 * π)) / N * (k - 1)) * (j - 1)))), j, 1, N]]), k, 1, N) → FImgSequence(sqrt(Element[FReal, j]^(2) + Element[FImg, j]^(2)), j, 1, N) → ModSequence(atan2(Element[FImg, j],Element[FReal, j]), j, 1, N) → PhaSequence((Element[FReal, i], Element[FImg, i]), i, 1, N) → XSequence((Element[Mod, i]; Element[Pha, i]), i, 1, N) → PolarReverse(Sort[Sequence[(Length[Element[Polar, i]], i - 1), i, 1, Length[Polar]]]) → PolarSortedSequence(y(Element[PolarSorted, i]), i, 1, Length[PolarSorted]) → IndexJoin({{C1}, Sequence[C1 + Sum[Sequence[((Element[Mod, Element[Index, j] + 1] * cos(Element[Pha, Element[Index, j] + 1] + (Element[Index, j] * t0))), (Element[Mod, Element[Index, j] + 1] * sin(Element[Pha, Element[Index, j] + 1] + (Element[Index, j] * t0)))), j, 1, i]], i, 1, N]}) → L_2Sequence(Join[{{C1}, Sequence[C1 + Sum[Sequence[((Element[Mod, Element[Index, j] + 1] * cos(Element[Pha, Element[Index, j] + 1] + (Element[Index, j] * l))), (Element[Mod, Element[Index, j] + 1] * sin(Element[Pha, Element[Index, j] + 1] + (Element[Index, j] * l)))), j, 1, i]], i, 1, N]}], l, 0, (2 * π), dt) → L_2'Sequence(Element[L_2, i], i, 1, m) → L_2''Sequence(Circle[Element[L_2, i], Element[Mod, Element[Index, i] + 1]], i, 1, N) → L_3Sequence(Element[L_3, i], i, 1, m) → L_3'Last(L_2) → CatPointAppend(Sequence[Element[L_2', k, m], k, 1, 63], Element[L_2', 1, m]) → L_4PolyLine(L_4) → curveCatPolyLine(L_2'') → sPolygon(L_4) → poly1