Felosztás (N) 16
Bal egér: forgat  |  Jobb: pásztáz  |  Görgő: zoom
Three.js · Tananyag

Kúp az XY-síkban
Alaplap (fan) + palást (fan a csúcsból)

01Az alakzat leírása

Egy R sugarú, H magasságú kúp, amelynek tengelye a Z-tengellyel esik egybe. Az alaplap középpontja z = −H/2-n, a csúcspont z = +H/2-n van. Két különálló geometriából épül fel:

  • Alaplap — kör fan-topológiával, z = −H/2, lefelé néző normálissal
  • Palást — N háromszög, mindegyik a csúcspontból indul (fan a csúcsból)

Paraméterek: R = 1.8, H = 3.5, N = 16 (default).

02Parametrikus egyenlet
Alaplap kerületi pont (i = 0…N−1): P_base(i) = ( x = R · cos(i · 2π/N) y = R · sin(i · 2π/N) z = −H/2 ) Alaplap középpontja: C_base = (0, 0, −H/2) Csúcspont (apex): A = (0, 0, +H/2) Palást i-edik háromszöge: A → P_base(i) → P_base((i+1) % N)
03Geometria felépítése

Alaplap — fan-topológia (mint a körlapnál), fordított CCW sorrend a lefelé néző normálishoz:

Index 0: C_base = (0, 0, −H/2) ← origó Index 1…N: kerületi pontok Hromszög i: 0 → (i+1)%N+1 → i+1 ← fordított CCW

Palást — fan a csúcspontból: minden háromszög az apex-ből (A) indul, és a kerület két szomszédos pontját köti össze:

A (csúcs) Pᵢ Pᵢ₊₁ Pᵢ₊₂ Pᵢ₊₃ [i] [i+1] [i+2]
// Palást csúcsok: N kerületi + 1 csúcspont // index 0…N-1: kerületi pontok (z = −H/2) // index N: csúcspont A (z = +H/2) for (let i = 0; i < N; i++) { const θ = i * 2*Math.PI / N; pos.push(R*cos(θ), R*sin(θ), -H/2); } pos.push(0, 0, H/2); // csúcspont, index N // Fan a csúcspontból: N háromszög for (let i = 0; i < N; i++) { idx.push(N, i, (i+1)%N); // A → Pᵢ → Pᵢ₊₁ }
04Anyagok & színek
Mély piros — alaplap
#8B0000
BOTTOM
Cián — palást
#00CCCC
SIDE
Komplementer: Piros HSL(0°,100%,27%) ↔ Cián HSL(180°,100%,40%)
05Wireframe

A wireframe LineSegments-ként, négy részből:

  • Alaplap körél — N él, z = −H/2
  • Alaplap sugárélek — N él: C_base → kerületi pont
  • Alkotók — N él: csúcspont → kerületi pont
  • Alap körél (palástnál is) — közös a két résznél

Összesen: 3N él.

Fájl

Egyetlen önálló HTML fájl, offline is megnyitható.

⬇ Letöltés: cone3d.html