1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-11 17:24:20 +02:00

move feet

This commit is contained in:
Justin Lin
2022-06-17 11:50:01 +08:00
parent 464fcc5f8f
commit 6a30eb0e76
2 changed files with 28 additions and 26 deletions

View File

@@ -1,6 +1,5 @@
use <helix.scad> use <helix.scad>
use <along_with.scad> use <along_with.scad>
use <shear.scad>
use <curve.scad> use <curve.scad>
use <sweep.scad> use <sweep.scad>
use <shape_circle.scad> use <shape_circle.scad>
@@ -154,26 +153,27 @@ module mountain_dragon() {
dragon_head(); dragon_head();
rotate([-8, -2, -10]) rotate([-8, -2, -10])
translate([12, 3, 44]) translate([12, 2, 44])
rotate([16, -67.5, -200]) rotate([10, -67.5, -200])
rotate(-2)
scale(.7) scale(.7)
foot(); foot();
translate([13, 6.5, 45]) translate([13, 2.5, 45.5])
rotate([-75, -35, -92]) rotate([-76, -25, -95])
rotate([0, -20, 0])
mirror([1, 0, 0]) mirror([1, 0, 0])
scale(.7) scale(.7)
translate([2, 0, 1])
foot(); foot();
translate([-11, -13, 12]) translate([-13, -13, 13])
rotate([15, -65, 47]) rotate([54, -72, 30])
rotate(-18) rotate(-30)
scale(.65) scale(.65)
foot(); foot();
translate([-15, -13.5, 12]) translate([-10, -15.5, 12])
rotate([-69, -45, 145]) rotate([-87, -45, 145])
mirror([1, 0, 0]) mirror([1, 0, 0])
scale(.65) scale(.65)
foot(); foot();
@@ -188,8 +188,8 @@ module mountain() {
difference() { difference() {
union() { union() {
translate([0, 0, 12]) translate([0, 0, 12])
scale([.925, .85, 2.5]) scale([.925, .85, 2.4])
worley_sphere(radius, detail, amplitude, dist, seed = 5); worley_sphere(radius, detail, amplitude, dist, seed = 14);
translate([4, -4, -15]) translate([4, -4, -15])
scale([1.04, 1.04, 1]) scale([1.04, 1.04, 1])
@@ -206,6 +206,7 @@ module mountain() {
rotate(180) { rotate(180) {
translate([0, 0, 7]) translate([0, 0, 7])
mountain_dragon($fn = 12); mountain_dragon($fn = 12);
rotate(57) translate([-1, -1, 0])
rotate(67.5)
mountain(); mountain();
} }

View File

@@ -21,7 +21,6 @@ module one_segment(body_r, body_fn, one_scale_data) {
rotate([-90, 0, 0]) rotate([-90, 0, 0])
dragon_body_scales(body_r, body_fn, one_scale_data); dragon_body_scales(body_r, body_fn, one_scale_data);
points = [[0, 0, 0], [0, .1, 1], [0, 1, 1.5]] * 4; points = [[0, 0, 0], [0, .1, 1], [0, 1, 1.5]] * 4;
path = bezier_curve(0.1, points); path = bezier_curve(0.1, points);
@@ -110,7 +109,7 @@ module tail() {
} }
} }
module spiral_dragon() { module mountain_dragon() {
path_pts = helix( path_pts = helix(
radius = [r1, r2], radius = [r1, r2],
levels = levels, levels = levels,
@@ -138,13 +137,13 @@ module spiral_dragon() {
one_body_scale_data = one_body_scale(body_r, body_fn, scale_fn, scale_tilt_a); one_body_scale_data = one_body_scale(body_r, body_fn, scale_fn, scale_tilt_a);
scale(1.075) scale(1.075)
along_with(path_pts, scale = [0.575, 0.575, 0.85], method = "EULER_ANGLE") along_with(path_pts, twist = 45, scale = [0.575, 0.575, 0.85], method = "EULER_ANGLE")
one_segment(body_r, body_fn, one_body_scale_data); one_segment(body_r, body_fn, one_body_scale_data);
translate([27.25, 3, -.5]) translate([27.25, 4, 1])
rotate([-88, 0, 0]) rotate([-78, 0, 0])
rotate([0, 0, 90]) rotate([0, 0, 125])
scale([.65, .8, 1.4]) scale([.5, .725, 1.5])
tail(); tail();
translate([16, 0, 63]) translate([16, 0, 63])
@@ -162,11 +161,11 @@ module mountain() {
difference() { difference() {
union() { union() {
translate([0, 0, 12]) translate([0, 0, 12])
scale([1.05, .85, 2.7]) scale([.925, .85, 2.4])
worley_sphere(radius, detail, amplitude, dist, seed = 5); worley_sphere(radius, detail, amplitude, dist, seed = 14);
translate([4, -4, -15]) translate([4, -4, -15])
scale([1.04, 1.04, .9]) scale([1.04, 1.04, 1])
rotate(10) rotate(10)
worley_sphere(radius * 1.2, detail, amplitude, dist, seed = 1); worley_sphere(radius * 1.2, detail, amplitude, dist, seed = 1);
} }
@@ -179,6 +178,8 @@ module mountain() {
rotate(180) { rotate(180) {
translate([0, 0, 7]) translate([0, 0, 7])
spiral_dragon($fn = 12); mountain_dragon($fn = 12);
mountain(); translate([-1, -1, 0])
rotate(67.5)
mountain();
} }