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

modify head

This commit is contained in:
Justin Lin
2022-06-16 11:13:55 +08:00
parent 669e7c4b1d
commit 464fcc5f8f
8 changed files with 84 additions and 44 deletions

View File

@@ -122,9 +122,9 @@ module dragon_and_perl() {
leng_body_path = len(body_path); leng_body_path = len(body_path);
angy_angz = __angy_angz(body_path[0], body_path[1]); angy_angz = __angy_angz(body_path[0], body_path[1]);
translate([1, 7, 14]) translate([0, 10, 13.5])
rotate([-135, 0, 3]) rotate([-138, -4, 8])
scale(1.15) scale(1)
rotate([0, angy_angz[0], angy_angz[1]]) rotate([0, angy_angz[0], angy_angz[1]])
dragon_head(); dragon_head();

View File

@@ -12,32 +12,64 @@ dragon_head();
module dragon_head() { module dragon_head() {
module hair() { module hair() {
for(i = [16:36]) {
rotate(i * 10 + rands(0, 5, 1, i)[0])
translate([0, -13, 0])
rotate([8 + rands(0, 2, 1, i)[0], 0, 0])
linear_extrude(12 + rands(0, 5, 1, i)[0], scale = 0.05, twist = 50 - rands(0, 100, 1, seed = i)[0])
translate([0, 10, 0])
circle(3, $fn = 5);
}
for(i = [0:35]) { for(i = [0:35]) {
rotate(i * 12 + rands(0, 5, 1, i)[0]) rotate(i * 12 + rands(0, 5, 1, i)[0])
translate([0, -11.5, 0]) translate([0, -11.5, .2])
rotate([4 + rands(0, 2, 1, i)[0], 0, 0]) rotate([rands(0, 2, 1, i)[0], 0, 0])
linear_extrude(14 + rands(0, 5, 1, i)[0], scale = 0.05, twist = 50 - rands(0, 100, 1, seed = i + 1)[0]) linear_extrude(10 + rands(0, 5, 1, i)[0], scale = 0.05, twist = 50 - rands(0, 100, 1, seed = i + 1)[0])
translate([0, 10, 0]) translate([0, 10, 0])
circle(3.5, $fn = 6); circle(3.5, $fn = 6);
} }
for(i = [0:35]) { module face_fin() {
rotate(i * 10) t_step = 0.05;
translate([0, -10, 0])
rotate([2, 0, 0]) points = bezier_curve(t_step,
linear_extrude(16 + rands(0, 5, 1, i)[0], scale = 0.05, twist = 50 - rands(0, 100, 1, seed = i + 2)[0]) [[-24.5, -31.5, -20], [20, 2, -15], [10, 15, 2], [25, 15, 10]] * 0.25
translate([0, 10, 0]) );
circle(3.5, $fn = 5);
c = shape_circle(2.8, $fn = 5);
translate([9.5, 0, 0])
rotate([-25, 0, 25])
translate([-8, 9, 20])
rotate([45, -5, 80])
scale([.5, 1.17, 1.4])
path_extrude(c * 1.2, points, scale = 0.05, twist = -60);
points2 = bezier_curve(t_step,
[[-47, -35, -20], [-15, -5, 0], [-15, -20, 5], [-5, 15, 10]] * 0.25
);
translate([13.5, -.1, -1.2])
rotate([-26.5, 0, 25])
translate([-8, 9, 20])
rotate([60, -15, 70])
scale(.75)
scale([.5, 1.25, 1.5])
path_extrude(c, points2, scale = 0.05, twist = -60);
} }
face_fin();
mirror([0, 1, 0])
face_fin();
}
module middle_horn() {
t_step = 0.05;
p0 = [0, 0, -.4];
p1 = [0, 0, 5];
p2 = [0, -5, 7];
p3 = [0, -5, 10];
points = bezier_curve(t_step,
[p0, p1, p2, p3]
);
c = shape_circle(2.8, $fn = 4);
path_extrude(c, points, scale = 0.05);
} }
module one_horn() { module one_horn() {
@@ -70,11 +102,11 @@ module dragon_head() {
rotate([90, 0, -90]) rotate([90, 0, -90])
sweep(m_transpose([path1, path2, path3, path4, path5])); sweep(m_transpose([path1, path2, path3, path4, path5]));
translate([0, 0, -3.25]) translate([-.15, 0, -3.3])
rotate([90, 0, -90]) rotate([90, 0, -90])
ellipse_extrude(5.5, slices = 2) ellipse_extrude(5.5, slices = 2)
polygon( polygon(
shape_trapezium([5, 18], shape_trapezium([5, 16.75],
h = 20, h = 20,
corner_r = 2, $fn = 4) corner_r = 2, $fn = 4)
); );
@@ -91,7 +123,6 @@ module dragon_head() {
corner_r = 2, $fn = 5) corner_r = 2, $fn = 5)
); );
jpath1 = curve(0.4, [[-10, 16], [0, 8], [4, 5], [3, 0], [2, -5], [2, -10], [0, -13.5], [-3, -14]]); jpath1 = curve(0.4, [[-10, 16], [0, 8], [4, 5], [3, 0], [2, -5], [2, -10], [0, -13.5], [-3, -14]]);
rotate([90, -4, 0]) rotate([90, -4, 0])
linear_extrude(25, center = true) linear_extrude(25, center = true)
@@ -139,7 +170,15 @@ module dragon_head() {
{ {
rotate(-90) { rotate(-90) {
one_horn(); one_horn();
mirror([-1, 0, 0]) one_horn(); mirror([-1, 0, 0])
one_horn();
translate([0, -5, 0])
middle_horn();
translate([0, -5, 5])
scale([.4, .4, .45])
middle_horn();
} }
mouth(); mouth();

View File

@@ -54,8 +54,9 @@ module hilbert_dragon() {
mirror([0, 0, .2]) mirror([0, 0, .2])
tail(); tail();
translate([0, 0, -2.5]) translate([.06, 0, -2.4])
scale(0.035) scale(0.033)
rotate([0, -15, 0])
dragon_head(); dragon_head();
} }

View File

@@ -119,9 +119,9 @@ module infinity_dragon() {
leng_body_path = len(body_path); leng_body_path = len(body_path);
angy_angz = __angy_angz(body_path[16], body_path[17]); angy_angz = __angy_angz(body_path[16], body_path[17]);
translate(body_path[0]) translate(body_path[0] + [0, -1.5, 0])
scale(1.125) scale(1)
rotate([90, angy_angz[0], angy_angz[1] - 90]) rotate([93, angy_angz[0] + 2, angy_angz[1] - 75])
dragon_head(); dragon_head();
body_r = 6; body_r = 6;

View File

@@ -148,8 +148,8 @@ module mountain_dragon() {
scale([.5, .725, 1.5]) scale([.5, .725, 1.5])
tail(); tail();
translate([17.5, 0, 63]) translate([16, 0, 63])
rotate([95, 0, -10]) rotate([95, 5, -5])
rotate([0, angy_angz[0], angy_angz[1]]) rotate([0, angy_angz[0], angy_angz[1]])
dragon_head(); dragon_head();

View File

@@ -147,8 +147,8 @@ module spiral_dragon() {
scale([.65, .8, 1.4]) scale([.65, .8, 1.4])
tail(); tail();
translate([17.5, 0, 63]) translate([16, 0, 63])
rotate([95, 0, -10]) rotate([95, 5, -5])
rotate([0, angy_angz[0], angy_angz[1]]) rotate([0, angy_angz[0], angy_angz[1]])
dragon_head(); dragon_head();
} }

View File

@@ -33,9 +33,9 @@ module torus_knot_dragon() {
h_angy_angz = __angy_angz(d_path[len(d_path) - 2], d_path[len(d_path) - 1]); h_angy_angz = __angy_angz(d_path[len(d_path) - 2], d_path[len(d_path) - 1]);
translate([2.5, -1.1, .55]) translate([2.5, -1.2, .6])
scale(0.07) scale(0.0675)
rotate([0, h_angy_angz[0] + 28, h_angy_angz[1] + 245]) rotate([0, h_angy_angz[0] + 28, h_angy_angz[1] + 247])
dragon_head(); dragon_head();
t_angy_angz = __angy_angz(d_path[1], d_path[0]); t_angy_angz = __angy_angz(d_path[1], d_path[0]);

View File

@@ -38,9 +38,9 @@ module torus_knot_dragon_and_pearl() {
h_angy_angz = __angy_angz(d_path[len(d_path) - 2], d_path[len(d_path) - 1]); h_angy_angz = __angy_angz(d_path[len(d_path) - 2], d_path[len(d_path) - 1]);
translate([2.5, -1.1, .55]) translate([2.5, -1.2, .65])
scale(0.07) scale(0.06)
rotate([0, h_angy_angz[0] + 28, h_angy_angz[1] + 245]) rotate([0, h_angy_angz[0] + 28, h_angy_angz[1] + 247])
dragon_head(); dragon_head();
t_angy_angz = __angy_angz(d_path[1], d_path[0]); t_angy_angz = __angy_angz(d_path[1], d_path[0]);