diff --git a/examples/dragon/dragon_and_pearl.scad b/examples/dragon/dragon_and_pearl.scad index 10dd9bd6..295c09aa 100644 --- a/examples/dragon/dragon_and_pearl.scad +++ b/examples/dragon/dragon_and_pearl.scad @@ -7,21 +7,23 @@ use use use use +use ; +use ; dragon_and_perl(); - module one_segment(body_r, body_fn, one_scale_data) { // scales rotate([-90, 0, 0]) dragon_body_scales(body_r, body_fn, one_scale_data); + points = [[0, 0, 0], [0, .1, 1], [0, 1, 1.5]] * 5; + path = bezier_curve(0.1, points); + // dorsal fin translate([0, 3.2, -3]) - rotate([-61, 0, 0]) - shear(sy = [0, 2.25]) - linear_extrude(3.25, scale = 0.3) - square([1.5, 10], center = true); + rotate([-75, 0, 0]) + path_extrude([[0, -.25], [0.6, 0], [0, .75], [-0.6, 0]] * 5, path, scale = .05); // belly translate([0, -2.5, .8]) diff --git a/examples/dragon/hilbert_dragon.scad b/examples/dragon/hilbert_dragon.scad index cf64b02d..54fb79b5 100644 --- a/examples/dragon/hilbert_dragon.scad +++ b/examples/dragon/hilbert_dragon.scad @@ -7,6 +7,8 @@ use use use use +use ; +use ; hilbert_dragon(); @@ -15,13 +17,14 @@ module hilbert_dragon() { rotate([-90, 0, 0]) dragon_body_scales(body_r, body_fn, one_scale_data); - // dorsal fin - translate([0, 4, -1.5]) - rotate([-105, 0, 0]) - shear(sy = [0, .75]) - linear_extrude(5, scale = 0.15) - square([2.5, 4], center = true); + points = [[0, 0, 0], [0, .1, 1], [0, 1, 1.5]] * 4.5; + path = bezier_curve(0.1, points); + // dorsal fin + translate([0, 3.2, -3]) + rotate([-65, 0, 0]) + path_extrude([[0, -.25], [0.5, 0], [0, .75], [-0.5, 0]] * 4.5, path, scale = .05); + translate([0, -2.5, 1]) rotate([-10, 0, 0]) scale([1.1, 0.8, 1.25]) diff --git a/examples/dragon/infinity_dragon.scad b/examples/dragon/infinity_dragon.scad index fdea3813..8ddc77b4 100644 --- a/examples/dragon/infinity_dragon.scad +++ b/examples/dragon/infinity_dragon.scad @@ -6,6 +6,8 @@ use use use use +use ; +use ; rotate([0, 90, 180]) infinity_dragon(); @@ -15,19 +17,20 @@ module one_segment(body_r, body_fn, one_scale_data) { rotate([-90, 0, 0]) dragon_body_scales(body_r, body_fn, one_scale_data); + + points = [[0, 0, 0], [0, .1, 1], [0, 1, 1.5]] * 6; + path = bezier_curve(0.1, points); + // dorsal fin translate([0, 3.2, -3]) rotate([-61, 0, 0]) - shear(sy = [0, 2.25]) - linear_extrude(3.25, scale = 0.3) - square([1.5, 10], center = true); - + path_extrude([[0, -.25], [0.5, 0], [0, .75], [-0.5, 0]] * 6, path, scale = .05); + // belly translate([0, -2.5, .8]) rotate([-5, 0, 0]) scale([1, 1, 1.4]) sphere(body_r * 0.966, $fn = 8); - } module tail() { diff --git a/examples/dragon/mountain_dragon.scad b/examples/dragon/mountain_dragon.scad index cc6181f4..fbc31273 100644 --- a/examples/dragon/mountain_dragon.scad +++ b/examples/dragon/mountain_dragon.scad @@ -10,6 +10,8 @@ use use use use +use ; +use ; r1 = 25; r2 = 15; @@ -21,12 +23,13 @@ module one_segment(body_r, body_fn, one_scale_data) { rotate([-90, 0, 0]) dragon_body_scales(body_r, body_fn, one_scale_data); + points = [[0, 0, 0], [0, .1, 1], [0, 1, 1.5]] * 4; + path = bezier_curve(0.1, points); + // dorsal fin translate([0, 3, -3]) rotate([-82.5, 5, 30]) - shear(sy = [0, 3]) - linear_extrude(2.25, scale = 0.2) - square([2, 12], center = true); + path_extrude([[0, -.25], [0.5, 0], [0, .75], [-0.5, 0]] * 4, path, scale = .05); // belly translate([0, -2.5, .8]) diff --git a/examples/dragon/spiral_dragon.scad b/examples/dragon/spiral_dragon.scad index 1bb57af2..77cb8334 100644 --- a/examples/dragon/spiral_dragon.scad +++ b/examples/dragon/spiral_dragon.scad @@ -9,6 +9,8 @@ use use use use +use ; +use ; r1 = 25; r2 = 15; @@ -20,12 +22,14 @@ module one_segment(body_r, body_fn, one_scale_data) { rotate([-90, 0, 0]) dragon_body_scales(body_r, body_fn, one_scale_data); + + points = [[0, 0, 0], [0, .1, 1], [0, 1, 1.5]] * 4; + path = bezier_curve(0.1, points); + // dorsal fin translate([0, 3, -3]) - rotate([-75, 0, 0]) - shear(sy = [0, 3]) - linear_extrude(2.25, scale = 0.2) - square([2, 12], center = true); + rotate([-82.5, 5, 30]) + path_extrude([[0, -.25], [0.5, 0], [0, .75], [-0.5, 0]] * 4, path, scale = .05); // belly translate([0, -2.5, .8]) @@ -159,7 +163,7 @@ module mountain() { difference() { union() { translate([0, 0, 12]) - scale([1.05, .85, 2.35]) + scale([1.05, .85, 2.7]) worley_sphere(radius, detail, amplitude, dist, seed = 5); translate([4, -4, -15]) diff --git a/examples/dragon/torus_knot_dragon.scad b/examples/dragon/torus_knot_dragon.scad index 61489493..2a6cb699 100644 --- a/examples/dragon/torus_knot_dragon.scad +++ b/examples/dragon/torus_knot_dragon.scad @@ -4,6 +4,8 @@ use use use use +use ; +use ; torus_knot_dragon(); @@ -52,12 +54,13 @@ module one_segment(body_r, body_fn, one_scale_data) { rotate([-90, 0, 0]) dragon_body_scales(body_r, body_fn, one_scale_data); + points = [[0, 0, 0], [0, .1, 1], [0, 1, 1.5]] * 5.5; + path = bezier_curve(0.1, points); + // dorsal fin - translate([0, 2.5, -3]) + translate([0, 3.2, -3]) rotate([-65, 0, 0]) - shear(sy = [0, 2]) - linear_extrude(4, scale = 0.2) - square([2, 10], center = true); + path_extrude([[0, -.25], [0.5, 0], [0, .75], [-0.5, 0]] * 5.5, path, scale = .05); // belly translate([0, -2.5, .8]) diff --git a/examples/dragon/torus_knot_dragon_and_pearl.scad b/examples/dragon/torus_knot_dragon_and_pearl.scad index 6afca907..7dedb529 100644 --- a/examples/dragon/torus_knot_dragon_and_pearl.scad +++ b/examples/dragon/torus_knot_dragon_and_pearl.scad @@ -7,6 +7,8 @@ use use use use +use ; +use ; torus_knot_dragon_and_pearl(); @@ -83,12 +85,14 @@ module one_segment(body_r, body_fn, one_scale_data) { rotate([-90, 0, 0]) dragon_body_scales(body_r, body_fn, one_scale_data); + + points = [[0, 0, 0], [0, .1, 1], [0, 1, 1.5]] * 5.5; + path = bezier_curve(0.1, points); + // dorsal fin - translate([0, 2.5, -3]) + translate([0, 3.2, -3]) rotate([-65, 0, 0]) - shear(sy = [0, 2]) - linear_extrude(4, scale = 0.2) - square([2, 10], center = true); + path_extrude([[0, -.25], [0.5, 0], [0, .75], [-0.5, 0]] * 5.5, path, scale = .05); // belly translate([0, -2.5, .8])