1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-02-20 07:34:36 +01:00
dotSCAD/docs/lib-shape_superformula.md
2017-05-10 16:59:41 +08:00

60 lines
1.9 KiB
Markdown

# shape_superformula
Returns shape points of a [Superformula](https://en.wikipedia.org/wiki/Superformula) shape. They can be used with xxx_extrude modules of dotSCAD. The shape points can be also used with the built-in polygon module.
## Parameters
- `phi_step` : The radius of the circle.
- `m1`, `m2`, `n1`, `n2`, `n3`, `a`, `b` : The parameters of [Superformula](https://en.wikipedia.org/wiki/Superformula). The default value of `n2`, `n3`, `a`, and `b` is 1.
## Examples
include <shape_superformula.scad>;
phi_step = 0.05;
polygon(shape_superformula(phi_step, 3, 3, 4.5, 10, 10));
translate([3, 0])
polygon(shape_superformula(phi_step, 4, 4, 12, 15, 15));
translate([6, 0])
polygon(shape_superformula(phi_step, 7, 7, 10, 6, 6));
translate([9, 0])
polygon(shape_superformula(phi_step, 5, 5, 4, 4, 4));
translate([0, -4])
scale(0.8) polygon(shape_superformula(phi_step, 5, 5, 2, 7, 7));
translate([3, -4])
scale(0.25) polygon(shape_superformula(phi_step, 5, 5, 2, 13, 13));
translate([6, -4])
polygon(shape_superformula(phi_step, 4, 4, 1, 1, 1));
translate([9, -4])
scale(0.3) polygon(shape_superformula(phi_step, 4, 4, 1, 7, 8));
![shape_superformula](images/lib-shape_superformula-1.JPG)
include <shape_superformula.scad>;
include <circle_path.scad>;
include <rotate_p.scad>;
include <golden_spiral.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <golden_spiral_extrude.scad>;
phi_step = 0.05;
m = 16;
n = 0.5;
n3 = 16;
shape_pts = shape_superformula(phi_step, m, m, n, n, n3);
golden_spiral_extrude(
shape_pts,
from = 5,
to = 10,
point_distance = 2,
scale = 10
);
![shape_superformula](images/lib-shape_superformula-2.JPG)