Skip to content

quad_tesselation.scad

pinkfish edited this page Jun 26, 2026 · 5 revisions

LibFile: quad_tesselations.scad

This file has all the modules needed to make a variety of tesselations.

To use, add the following lines to the beginning of your file:

include <boardgame_toolkit.scad>

File Contents

Function: QuadrilateralCoords()

Description:

Computes the four 2-D vertices [P0, P1, P2, P3] of a quadrilateral given its four interior angles and the length of one side.

Arguments:

By Position What it does
angles Four interior angles [a0, a1, a2, a3] in degrees, one per
vertex. Must sum to 360.
side Length of side P0→P1.
side_ratio Ratio of side P1→P2 to side P0→P1. Adjusting this parameter
slides through the family of valid quadrilaterals that share
the same four angles. Default: 1 (equal adjacent sides).

Example 1:

include <boardgame_toolkit.scad>
polygon(QuadrilateralCoords(angles=[90, 90, 90, 90], side=20));



Example 2:

include <boardgame_toolkit.scad>
polygon(QuadrilateralCoords(angles=[70, 110, 70, 110], side=20));



Example 3:

include <boardgame_toolkit.scad>
polygon(QuadrilateralCoords(angles=[60, 120, 60, 120], side=20, side_ratio=1.5));




Function: TesselationFromQuadradicPoints()

Description:

Make a nice tesselation from a set of points and sides.

Arguments:

By Position What it does
points the quad points
side1 the line for the one side, [-0.5, x] - [0.5, x]
side2 the line for the one side, [-0.5, x] - [0.5, x]
side3 the line for the one side, [-0.5, x] - [0.5, x]
side4 the line for the one side, [-0.5, x] - [0.5, x]

Module: TesselationBird()

Description:

A simple bird tesselation.

Arguments:

By Position What it does
size the size of the bird
thickness the thickness of the bird

Example 1:

TesselationBird() Example 1
include <boardgame_toolkit.scad>
TesselationBird(size=20);



Example 2:

TesselationBird() Example 2
include <boardgame_toolkit.scad>
TesselationBird(size=20, flip=true);



Example 3:

TesselationBird() Example 3
include <boardgame_toolkit.scad>
TesselationBird(size=20, thickness=1);



Example 4:

TesselationBird() Example 4
include <boardgame_toolkit.scad>
TesselationBird(size=20, thickness=1, outer_offset=0.1);




Module: TesselationBirdBlock()

Description:

The nice bird shape.

Arguments:

By Position What it does
size the size of the bird
thickness the thickness of the bird

Example 1:

TesselationBirdBlock() Example 1
include <boardgame_toolkit.scad>
TesselationBirdBlock(size=30, thickness=1);



Example 2:

TesselationBirdBlock() Example 2
include <boardgame_toolkit.scad>
TesselationBirdBlock(size=20, thickness=0.5);




Module: TesselationBirdGrid()

Description:

The nice bird shape.

Arguments:

By Position What it does
row number of rows
col number of columns
size size of the bird
thickness thickness of the bird

Example 1:

TesselationBirdGrid() Example 1
include <boardgame_toolkit.scad>
TesselationBirdGrid(5, 5, size=30, thickness=1);




Module: TesselationBirdArea()

Description:

The nice bird shape.

Arguments:

By Position What it does
width width of the space
length length of the space
size size of the bird
thickness thickness of the bird

Example 1:

TesselationBirdArea() Example 1
include <boardgame_toolkit.scad>
TesselationBirdArea(200, 100, size=50, thickness=2);




Clone this wiki locally