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

update hair

This commit is contained in:
Justin Lin
2021-12-09 22:01:12 +08:00
parent 819a76d81c
commit 3ff2961a6d

View File

@@ -36,6 +36,67 @@ module tail() {
tail_scales(100, 1.25, 4.5, -7, 1);
tail_scales(110, 1.25, 3, -9, 1);
tail_scales(120, 2.5, 2, -9, 1);
translate([1, 0, -1])
rotate([0, -12, 0])
scale([.8, 1, 1])
hair();
module hair() {
tail_hair = [
[4, -1],
[8, -1.5],
[10, -1],
[13, .5],
[9, -0.2],
[10, 0],
[14, 3],
[17, 9.5],
[14, 8],
[12, 7],
[9, 6],
[11.5, 10],
[13, 12],
[16, 14],
[12, 13],
[8, 11],
[10, 14],
[5, 11],
[2, 8.5],
[-1, 3]
];
rotate([-2.5, 0, 0])
translate([-1, .5, 5.5])
scale([1.1, 1, 1.3]) {
translate([2, 0, -3])
scale([2, 1, .8])
rotate([-90, 70, 15])
linear_extrude(.75, center = true)
polygon(tail_hair);
scale([.8, .9, .6])
translate([2, 0, -5])
scale([1.75, 1, .8])
rotate([-90, 70, 15]) {
linear_extrude(1.5, scale = 0.5)
polygon(tail_hair);
mirror([0, 0, 1])
linear_extrude(1.5, scale = 0.5)
polygon(tail_hair);
}
scale([.7, .7, .9])
translate([2, 0, -5])
scale([2, 1, .85])
rotate([-90, 70, 15]) {
linear_extrude(3.5, scale = 0.5)
polygon(tail_hair);
mirror([0, 0, 1])
linear_extrude(3.5, scale = 0.5)
polygon(tail_hair);
}
}
}
}
module infinity_dragon() {
@@ -51,7 +112,7 @@ module infinity_dragon() {
body_path0 = lemniscate_2circles(30, 5.25, $fn = 44);
body_path = concat(
[for(i = [22:len(body_path0) - 1]) body_path0[i]],
[for(i = [0:12]) body_path0[i]]
[for(i = [0:11]) body_path0[i]]
);
leng_body_path = len(body_path);
angy_angz = __angy_angz(body_path[16], body_path[17]);
@@ -67,18 +128,19 @@ module infinity_dragon() {
scale_tilt_a = 6;
one_body_scale_data = one_body_scale(body_r, body_fn, scale_fn, scale_tilt_a);
along_with(body_path, scale = [0.5, 0.7, 0.5])
along_with(body_path, scale = [0.45, 0.7, 0.45])
rotate([90, 90, 0])
one_segment(body_r, body_fn, one_body_scale_data);
ayz = __angy_angz(body_path[leng_body_path - 2], body_path[leng_body_path - 1]);
translate([1, 0, 0])
translate([0, 0, 0])
translate(body_path[leng_body_path - 1])
rotate([0, ayz[0] + 96, ayz[1]])
rotate([0, ayz[0] + 95, ayz[1]])
mirror([0, 0, 1])
rotate(-12)
scale([0.55, 0.55, 0.85])
scale([0.5, 0.5, 0.85])
rotate([0, 0, 126])
tail();
translate([-20, -20, -5])