Math and Clothes: The Jacquard Loom
Loading the math board and drawing, please wait…
This example demonstrates the pattern generation and transformation process in a Jacquard loom, involving translations, vectors, perimeter, ratios, reflections, and angles. It uses GeoGebra commands like If, Random, Sequence, and Vector, along with objects A1-A25 and B1-B15, to create random patterns and transformations. Suitable for high school students learning vectors, transformations, and algorithmic thinking, or for design courses showing the application of mathematics in art.
GeoGebra Commands & Parameters
If(true, Polygon[C6, C6 + (1, 0), C6 + (0, -1)]) → D6If(true, Polygon[C7, C7 + (1, 0), C7 + (0, -1)]) → D7If(true, Polygon[C8, C8 + (1, 0), C8 + (0, -1)]) → D8If(true, Polygon[C9, C9 + (1, 0), C9 + (0, -1)]) → D9If(true, Polygon[C11, C11 + (1, 0), C11 + (0, -1)]) → D11If(true, Polygon[C12, C12 + (1, 0), C12 + (0, -1)]) → D12If(true, Polygon[C13, C13 + (1, 0), C13 + (0, -1)]) → D13If(true, Polygon[C14, C14 + (1, 0), C14 + (0, -1)]) → D14If(true, Polygon[C16, C16 + (1, 0), C16 + (0, -1)]) → D16If(true, Polygon[C17, C17 + (1, 0), C17 + (0, -1)]) → D17If(true, Polygon[C18, C18 + (1, 0), C18 + (0, -1)]) → D18If(true, Polygon[C19, C19 + (1, 0), C19 + (0, -1)]) → D19If(true, Polygon[C21, C21 + (1, 0), C21 + (0, -1)]) → D21If(true, Polygon[C22, C22 + (1, 0), C22 + (0, -1)]) → D22If(true, Polygon[C23, C23 + (1, 0), C23 + (0, -1)]) → D23If(true, Polygon[C24, C24 + (1, 0), C24 + (0, -1)]) → D24Random(1, 4) → nSequence({Segment[(i, 0), (i, 4)], Segment[(0, i), (4, i)]}, i, 0, 4) → liste1If(true, Polygon[C7, C7 + (0, -1), C7 + (-1, -1)]) → D26If(true, Polygon[C8, C8 + (0, -1), C8 + (-1, -1)]) → D27If(true, Polygon[C9, C9 + (0, -1), C9 + (-1, -1)]) → D28If(true, Polygon[C10, C10 + (0, -1), C10 + (-1, -1)]) → D29If(true, Polygon[C12, C12 + (0, -1), C12 + (-1, -1)]) → D31If(true, Polygon[C13, C13 + (0, -1), C13 + (-1, -1)]) → D32If(true, Polygon[C14, C14 + (0, -1), C14 + (-1, -1)]) → D33If(true, Polygon[C15, C15 + (0, -1), C15 + (-1, -1)]) → D34If(true, Polygon[C17, C17 + (0, -1), C17 + (-1, -1)]) → D36If(true, Polygon[C18, C18 + (0, -1), C18 + (-1, -1)]) → D37If(true, Polygon[C19, C19 + (0, -1), C19 + (-1, -1)]) → D38If(true, Polygon[C20, C20 + (0, -1), C20 + (-1, -1)]) → D39If(true, Polygon[C22, C22 + (0, -1), C22 + (-1, -1)]) → D41If(true, Polygon[C23, C23 + (0, -1), C23 + (-1, -1)]) → D42If(true, Polygon[C24, C24 + (0, -1), C24 + (-1, -1)]) → D43If(true, Polygon[C25, C25 + (0, -1), C25 + (-1, -1)]) → D44Vector(O, O + (4, 0)) → uVector(O, O + (0, 4)) → vSequence(Sequence[Translate[liste1, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → l1Sequence(Sequence[Translate[D6, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L6Sequence(Sequence[Translate[D7, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L7Sequence(Sequence[Translate[D8, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L8Sequence(Sequence[Translate[D9, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L9Sequence(Sequence[Translate[D11, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L11Sequence(Sequence[Translate[D12, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L12Sequence(Sequence[Translate[D13, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L13Sequence(Sequence[Translate[D14, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L14Sequence(Sequence[Translate[D16, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L16Sequence(Sequence[Translate[D17, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L17Sequence(Sequence[Translate[D18, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L18Sequence(Sequence[Translate[D19, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L19Sequence(Sequence[Translate[D21, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L21Sequence(Sequence[Translate[D22, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L22Sequence(Sequence[Translate[D23, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L23Sequence(Sequence[Translate[D24, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L24Sequence(Sequence[Translate[D26, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L26Sequence(Sequence[Translate[D27, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L27Sequence(Sequence[Translate[D28, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L28Sequence(Sequence[Translate[D29, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L29Sequence(Sequence[Translate[D31, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L31Sequence(Sequence[Translate[D32, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L32Sequence(Sequence[Translate[D33, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L33Sequence(Sequence[Translate[D34, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L34Sequence(Sequence[Translate[D36, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L36Sequence(Sequence[Translate[D37, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L37Sequence(Sequence[Translate[D38, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L38Sequence(Sequence[Translate[D39, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L39Sequence(Sequence[Translate[D41, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L41Sequence(Sequence[Translate[D42, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L42Sequence(Sequence[Translate[D43, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L43Sequence(Sequence[Translate[D44, Vector[(s * u) + (t * v)]], s, 0, p], t, 0, q) → L44
AI Drawing Prompt Reference
Draw a square pattern area divided into a 4x4 grid, with each cell randomly filled with small triangles or squares oriented in two directions, creating a Jacquard-loom-like texture. The whole pattern is repeated by translating it horizontally and vertically to form a larger symmetric array. Include the base grid lines, randomly generated cell motifs, and horizontal/vertical translation vectors to show geometric transformations and repetition.
The prompt above was compiled from the original drawing commands and is for reference only.