Skip to content

guilloche

3 motifs. Import them from geomotif.motifs, or build one by name with registry.create("guilloche.band").

guilloche.band

guilloche.band

A woven ribbon along a straight spine: the border of a banknote.

from geomotif import save_svg
from geomotif.motifs import GuillocheBand

motif = GuillocheBand(lines=8)
save_svg(motif.build(), "guilloche.band.svg", width=320, height=320)
geomotif render guilloche.band --out guilloche.band.svg
{
  "geomotif": "1.3.1",
  "motif": "guilloche.band",
  "params": {
    "resolution": null,
    "length": 320.0,
    "height": 76.0,
    "waves": 5.0,
    "counter": 8.0,
    "lines": 8,
    "center": [
      0.0,
      0.0
    ]
  }
}
Parameters
Name Type Default Notes
length float 320.0
height float 76.0
waves float 5.0
counter float 8.0
lines int 18
center Point (0.0, 0.0)
resolution int | None None Segments per strand -- a strand gets one more point than that, so both ends are included. None (default) scales density with the winding.

guilloche.pattern

guilloche.pattern

A rosette inside a woven border, with rules between: the banknote layout.

from geomotif import save_svg
from geomotif.motifs import GuillochePattern

motif = GuillochePattern(layers=5, border_lines=8, border_waves=18.0)
save_svg(motif.build(), "guilloche.pattern.svg", width=320, height=320)
geomotif render guilloche.pattern --out guilloche.pattern.svg
{
  "geomotif": "1.3.1",
  "motif": "guilloche.pattern",
  "params": {
    "radius": 150.0,
    "layers": 5,
    "petals": 11.0,
    "border_lines": 8,
    "border_height": 30.0,
    "border_waves": 18.0,
    "rules": true,
    "center": [
      0.0,
      0.0
    ]
  }
}
Parameters
Name Type Default
radius float 150.0
layers int 12
petals float 11.0
border_lines int 16
border_height float 30.0
border_waves float 36.0
rules bool True
center Point (0.0, 0.0)

guilloche.rosette

guilloche.rosette

A stack of rosettes, each turned a little further than the last.

from geomotif import save_svg
from geomotif.motifs import GuillocheRosette

motif = GuillocheRosette(layers=6, petals=7)
save_svg(motif.build(), "guilloche.rosette.svg", width=320, height=320)
geomotif render guilloche.rosette --out guilloche.rosette.svg
{
  "geomotif": "1.3.1",
  "motif": "guilloche.rosette",
  "params": {
    "resolution": null,
    "radius": 96.0,
    "amplitude": 30.0,
    "petals": 7,
    "counter": 5.0,
    "layers": 6,
    "spread": 2.6,
    "twist": 0.42,
    "center": [
      0.0,
      0.0
    ]
  }
}
Parameters
Name Type Default Notes
radius float 96.0
amplitude float 30.0
petals float 13.0
counter float 5.0
layers int 14
spread float 2.6
twist float 0.42
center Point (0.0, 0.0)
resolution int | None None Segments per strand -- a strand gets one more point than that, so both ends are included. None (default) scales density with the winding.