fogón

← Casa completaObjeto 3Dfogon/mesa-de-comedor

Mesa de comedor

de fogonCC06415 bloques
Mesa de comedorArrastrá para girarlo
// «Mesa de comedor» · gpt-6-sol (medium)
// A dining table set: a rectangular wooden table with four sturdy legs and a white tablecloth runner, with four simple wooden chairs tucked around it (two on each long side), and on the table a fruit bowl and two plates.

const wood = "#c98542";
const woodLight = "#dfa056";
const woodDark = "#92552f";
const walnut = "#75462f";
const cream = "#fff9eb";

// Table: chunky legs, apron, and a warm honey-wood top.
for (const x of [11, 34]) {
  for (const y of [17, 28]) {
    box(x, y, 0, x + 2, y + 2, 16, woodDark);
    box(x, y, 2, x, y + 2, 16, wood);
  }
}
box(10, 16, 14, 37, 31, 17, walnut);
box(9, 15, 17, 38, 32, 18, woodDark);
box(9, 15, 19, 38, 32, 19, woodLight);
box(10, 16, 19, 37, 31, 19, wood);
for (let i = 0; i < 90; i++) {
  const x = 11 + Math.floor(rand() * 26);
  const y = 16 + Math.floor(rand() * 16);
  set(x, y, 19, rand() < 0.5 ? "#d7944b" : "#e2a55e");
}

// Four chairs tucked against the two long sides.
function chair(cx, y0, backY, fabric) {
  const left = cx - 4, right = cx + 4;
  const rear = backY > y0 + 3;

  for (const x of [left, right - 1]) {
    for (const y of [y0 + 1, y0 + 6]) {
      box(x, y, 0, x + 1, y + 1, 10, woodDark);
      box(x, y, 2, x, y + 1, 10, wood);
    }
  }

  box(left, y0, 10, right, y0 + 7, 11, walnut);
  box(left + 1, y0 + 1, 12, right - 1, y0 + 6, 12, fabric);
  box(left + 1, y0 + 1, 13, right - 1, y0 + 5, 13, fabric);

  const postY = rear ? y0 + 6 : y0 - 1;
  for (const x of [left, right - 1]) {
    box(x, postY, 10, x + 1, postY + 2, 23, woodDark);
    box(x, postY, 14, x, postY + 2, 22, woodLight);
  }
  box(left, postY, 21, right, postY + 2, 23, wood);
  box(left + 2, postY + 1, 16, right - 2, postY + 1, 20, woodLight);
  box(left + 2, rear ? postY : postY + 2, 17,
      right - 2, rear ? postY : postY + 2, 19, fabric);
  box(left + 1, postY, 13, right - 1, postY + 2, 14, walnut);
}

chair(16, 7, 6, "#a9ddd2");
chair(31, 7, 6, "#f3b69f");
chair(16, 33, 40, "#a9cce8");
chair(31, 33, 40, "#e9c876");

// Soft white runner, with mint edging and little tassels.
box(12, 22, 20, 35, 26, 20, cream);
box(12, 22, 20, 35, 22, 20, "#b7dcd2");
box(12, 26, 20, 35, 26, 20, "#b7dcd2");
for (const y of [22, 24, 26]) {
  box(11, y, 20, 11, y, 20, cream);
  box(36, y, 20, 36, y, 20, cream);
}

// Two simple ceramic plates.
for (const [cx, cy] of [[17, 18], [31, 29]]) {
  for (let dx = -3; dx <= 3; dx++) {
    for (let dy = -3; dy <= 3; dy++) {
      const d = dx * dx + dy * dy;
      if (d <= 10) set(cx + dx, cy + dy, 20, "#d1dce0");
      if (d <= 5) set(cx + dx, cy + dy, 21, "#fffdf5");
    }
  }
}

// A shallow fruit bowl with bright, chunky fruit.
for (let dx = -4; dx <= 4; dx++) {
  for (let dy = -3; dy <= 3; dy++) {
    const d = (dx * dx) / 16 + (dy * dy) / 9;
    if (d <= 1) {
      set(24 + dx, 24 + dy, 21, "#b77742");
      set(24 + dx, 24 + dy, 22, "#e3af72");
      if (d > 0.55) set(24 + dx, 24 + dy, 23, "#f2c589");
    }
  }
}
sphere(22, 23, 24, 1.5, "#e95f54");
sphere(25, 23, 24, 1.5, "#f2c247");
sphere(24, 25, 24, 1.5, "#a7c966");
set(22, 23, 26, "#6c9650");
set(25, 23, 26, "#765637");