Geometry Parameters
Adjust segment count on Sphere, Torus, Cylinder, and Cone.
Controls
Segments
4
64
import * as EASEL from "easel";
const scene = new EASEL.Scene();
const size = 5;
const camera = new EASEL.OrthographicCamera({
left: -size * aspect,
right: size * aspect,
top: size,
bottom: -size,
near: 0.1,
far: 100,
});
// Rebuild geometry when segments slider changes
function buildGeometry(shape, segments) {
if (shape === "Torus")
return new EASEL.TorusGeometry(0.9, 0.35, segments, segments * 2);
if (shape === "Cylinder")
return new EASEL.CylinderGeometry(0.7, 0.7, 1.8, segments);
if (shape === "Cone")
return new EASEL.ConeGeometry(0.9, 1.8, segments);
return new EASEL.SphereGeometry(1.1, segments, Math.floor(segments * 0.75));
}
// On param change: remove old meshes, rebuild with new segments, re-add.
scene.remove(mesh);
mesh = new EASEL.Mesh(buildGeometry(shape, segments), material);
scene.add(mesh);