fogón

← AnimalesObjeto 3Dfogon/perro-salchicha

Perro salchicha

de fogonCC05924 bloques
Perro salchichaArrastrá para girarlo
// «Perro salchicha» · gpt-6-sol (medium)
// A cartoon dachshund: a very long low sausage body (about three times longer along y than tall), shiny reddish brown with a lighter tan belly, four tiny stubby legs, a long head at the front (-y) with a pointed snout and black nose, black dot eyes and long floppy ears hanging down. A thin tail sticking up at the back.

// Long, low body with a warm belly and a shiny back.
ellipsoid(24, 27, 11, 8.5, 16, 6, "#a94d27");
forEach((x, y, z, color) => {
  if (color !== "#a94d27") return;
  let shade = "#ae5029";
  if (z >= 15) shade = rand() < 0.22 ? "#d4773d" : "#c66732";
  else if (z >= 11) shade = rand() < 0.12 ? "#c06332" : "#ad4d27";
  else if (z <= 7) shade = "#80391f";
  else if (z <= 9 && y > 14 && y < 40) shade = "#d99455";
  set(x, y, z, shade);
});

// Rounded chest, large head, and tan muzzle.
ellipsoid(24, 15, 10, 6, 5, 4, "#d38a4c");
ellipsoid(24, 12, 14, 8, 7, 7, "#a94c27");
ellipsoid(24, 12, 18, 6.4, 5.2, 2.6, "#bd5d2e");
ellipsoid(20.6, 7.7, 11.5, 3.6, 3.7, 3, "#e0a266");
ellipsoid(27.4, 7.7, 11.5, 3.6, 3.7, 3, "#d89559");
ellipsoid(24, 6, 12, 5.2, 4.2, 3.1, "#bd642f");
ellipsoid(24, 4.7, 10.7, 3.7, 2.7, 1.8, "#e4a469");

// Long, dark, floppy ears.
for (const side of [-1, 1]) {
  ellipsoid(24 + side * 8.1, 12, 13.7, 2.3, 3.1, 5.3, "#71351f");
  ellipsoid(24 + side * 9.5, 11.5, 9.4, 2.5, 3, 3.5, "#813b22");
  ellipsoid(24 + side * 8.6, 10.3, 14.8, 1, 1.5, 3, "#a34d29");
}

// Big, widely spaced toy-like eyes and a rounded black nose.
for (const x of [19, 29]) {
  sphere(x, 7, 17, 1.35, "#201b1a");
  set(x - 1, 6, 18, "#ffffff");
  set(x, 8, 20, "#ce753b");
}
ellipsoid(24, 2.7, 12.1, 2, 1.6, 1.6, "#242024");
set(23, 1, 13, "#555056");
line(24, 3, 10, 24, 4, 9, 0, "#6c3625");
line(22, 4, 9, 26, 4, 9, 0, "#703a27");

// Four independently swinging little legs.
const legs = [
  { name: "frontLeft",  x: 17, y: 17, speed: 5 },
  { name: "frontRight", x: 31, y: 17, speed: -5 },
  { name: "rearLeft",   x: 17, y: 37, speed: -5 },
  { name: "rearRight",  x: 31, y: 37, speed: 5 }
];
for (const leg of legs) {
  part(leg.name, [leg.x, leg.y, 8]);
  ellipsoid(leg.x, leg.y, 4, 2.6, 2.5, 4, "#a64b27");
  ellipsoid(leg.x, leg.y - 1, 1.3, 2.8, 2.4, 1.4, "#bd6735");
  box(leg.x - 1, leg.y - 3, 0, leg.x + 1, leg.y - 2, 1, "#d38345");
  animate(leg.name, { type: "swing", axis: "x", speed: leg.speed, amplitude: 0.3 });
}

// Thin tail curling upward behind the body.
part("tail", [24, 41, 15]);
line(24, 41, 15, 24, 44, 19, 1, "#a74d28");
line(24, 44, 19, 24, 45, 23, 0, "#bd6230");
set(24, 45, 23, "#d77c3d");
animate("tail", { type: "swing", axis: "z", speed: 8, amplitude: 0.4 });

part("body", [24, 24, 0]);