fogón

← AsiáticoObjeto 3Dfogon/futon

Futón

de fogonCC011595 bloques
FutónArrastrá para girarlo
// «Futón» · gpt-6-sol (medium)
// A Japanese futon laid on a tatami mat: a thick white mattress with a light blue quilted cover with a wave pattern folded back at the top, and a small rectangular buckwheat pillow.

// Lacquered platform and woven tatami mat.
box(3, 2, 0, 44, 45, 0, "#74352c");
box(4, 3, 1, 43, 44, 1, "#a94c38");
box(5, 4, 1, 42, 43, 1, "#244941");
box(6, 5, 2, 41, 42, 2, "#c9ad70");

for (let x = 6; x <= 41; x++) {
  for (let y = 5; y <= 42; y++) {
    let color = (y % 3 === 0) ? "#dbc48a" : "#cfb77a";
    if (rand() < 0.12) color = "#e5cf98";
    set(x, y, 2, color);
  }
}
// Dark woven binding, with small gold stitches.
for (let y = 5; y <= 42; y++) {
  for (let x of [6, 7, 40, 41]) set(x, y, 2, "#31564a");
  if (y % 4 === 0) {
    set(7, y, 2, "#c8ac69");
    set(40, y, 2, "#c8ac69");
  }
}
for (let x = 8; x <= 39; x++) {
  for (let y of [5, 6, 41, 42]) set(x, y, 2, "#31564a");
  if (x % 4 === 0) {
    set(x, 6, 2, "#c8ac69");
    set(x, 41, 2, "#c8ac69");
  }
}

// Thick, softly rounded white futon mattress.
for (let z = 3; z <= 8; z++) {
  for (let y = 8; y <= 39; y++) {
    for (let x = 10; x <= 37; x++) {
      let corner = (x === 10 || x === 37) && (y === 8 || y === 39);
      if (corner && (z === 3 || z === 8)) continue;
      let edge = x === 10 || x === 37 || y === 8 || y === 39;
      let color = z === 8 ? "#fff9e9" :
                  z <= 4 ? "#d5d5cb" :
                  edge ? "#e7e7dc" : "#f4f2e8";
      if (!edge && z === 8 && rand() < 0.09) color = "#eeeade";
      set(x, y, z, color);
    }
  }
}
// Sewn side seam.
for (let y = 10; y <= 37; y++) {
  set(10, y, 5, "#d7d9d1");
  set(37, y, 5, "#d7d9d1");
}

// Plump blue cover, extending over the foot and both sides.
for (let y = 8; y <= 31; y++) {
  for (let x = 10; x <= 37; x++) {
    if ((x === 10 || x === 37) && y === 8) continue;
    set(x, y, 9, rand() < 0.10 ? "#aed8df" : "#bde5e9");
    if (x === 10 || x === 37 || y === 8) {
      set(x, y, 8, "#83b9ca");
      set(x, y, 9, "#a3d2dd");
    }
  }
}
// Quilt stitching and overlapping, scalloped wave motifs.
for (let row = 0; row < 3; row++) {
  let base = 11 + row * 7;
  for (let center of [15, 24, 33]) {
    for (let dx = -4; dx <= 4; dx++) {
      let arch = Math.round(2.7 * Math.sqrt(1 - dx * dx / 16));
      set(center + dx, base + arch, 10, "#6faebe");
      if (dx >= -2 && dx <= 2) {
        let inner = Math.round(1.5 * Math.sqrt(1 - dx * dx / 9));
        set(center + dx, base + inner, 10, "#d9f1ee");
      }
    }
  }
}
for (let y = 12; y <= 27; y += 7) {
  for (let x = 11; x <= 36; x += 9) set(x, y, 10, "#e6f4ed");
}

// Cover turned back at the head: blue rolled edge, white underside.
box(11, 30, 10, 36, 32, 10, "#92c4d1");
box(12, 31, 11, 35, 31, 11, "#c7e9e9");
box(11, 33, 9, 36, 35, 9, "#eeeae0");
box(12, 33, 10, 35, 34, 10, "#fffaf0");
for (let x = 12; x <= 35; x++) {
  set(x, 35, 10, "#8dbfc9");
  if (x % 5 === 0) set(x, 34, 10, "#d4d3c8");
}

// Small rectangular buckwheat pillow with piping and a woven top.
box(16, 35, 9, 31, 39, 10, "#ab8062");
box(17, 35, 10, 30, 40, 11, "#d1ae83");
box(18, 36, 12, 29, 39, 12, "#e8cca1");
for (let x = 18; x <= 29; x++) {
  if (x % 3 === 0) {
    set(x, 36, 12, "#c49e78");
    set(x, 39, 12, "#c49e78");
  }
}
for (let y = 36; y <= 39; y++) {
  set(17, y, 11, "#f0d7ae");
  set(30, y, 11, "#f0d7ae");
}
// A restrained cherry-blossom embroidery on the pillow.
set(23, 37, 12, "#ba7381");
set(24, 37, 12, "#d993a0");
set(25, 37, 12, "#ba7381");
set(24, 38, 12, "#ba7381");