1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-22 14:23:23 +02:00

modify dorsal fin

This commit is contained in:
Justin Lin
2022-06-15 23:28:59 +08:00
parent a169468da6
commit ac4288d5f4
7 changed files with 54 additions and 32 deletions

View File

@@ -7,21 +7,23 @@ use <polyhedron_hull.scad>
use <dragon_head.scad>
use <dragon_scales.scad>
use <dragon_foot.scad>
use <path_extrude.scad>;
use <bezier_curve.scad>;
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])

View File

@@ -7,6 +7,8 @@ use <turtle/lsystem3.scad>
use <curve.scad>
use <dragon_head.scad>
use <dragon_scales.scad>
use <path_extrude.scad>;
use <bezier_curve.scad>;
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])

View File

@@ -6,6 +6,8 @@ use <dragon_head.scad>
use <dragon_scales.scad>
use <dragon_foot.scad>
use <experimental/lemniscate_2circles.scad>
use <path_extrude.scad>;
use <bezier_curve.scad>;
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() {

View File

@@ -10,6 +10,8 @@ use <experimental/worley_sphere.scad>
use <dragon_head.scad>
use <dragon_scales.scad>
use <dragon_foot.scad>
use <path_extrude.scad>;
use <bezier_curve.scad>;
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])

View File

@@ -9,6 +9,8 @@ use <path_scaling_sections.scad>
use <experimental/worley_sphere.scad>
use <dragon_head.scad>
use <dragon_scales.scad>
use <path_extrude.scad>;
use <bezier_curve.scad>;
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])

View File

@@ -4,6 +4,8 @@ use <along_with.scad>
use <util/reverse.scad>
use <dragon_head.scad>
use <dragon_scales.scad>
use <path_extrude.scad>;
use <bezier_curve.scad>;
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])

View File

@@ -7,6 +7,8 @@ use <dragon_scales.scad>
use <dragon_foot.scad>
use <fibonacci_lattice.scad>
use <polyhedron_hull.scad>
use <path_extrude.scad>;
use <bezier_curve.scad>;
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])