Files
martin.fencl f0a6480c86
continuous-integration/drone/push Build is passing
feat: add BufferGeometryUtils for advanced geometry manipulation
- Implemented computeMikkTSpaceTangents for consistent tangent generation.
- Added mergeGeometries to combine multiple BufferGeometries.
- Introduced mergeAttributes for merging BufferAttributes.
- Created deepCloneAttribute for cloning BufferAttributes.
- Developed interleaveAttributes and deinterleaveAttribute for attribute management.
- Added estimateBytesUsed to calculate memory usage of geometries.
- Implemented mergeVertices to optimize vertex data.
- Created toTrianglesDrawMode for converting geometries to triangle mode.
- Added computeMorphedAttributes for handling morph targets in geometries.
- Implemented mergeGroups to consolidate geometry groups.
- Developed toCreasedNormals for generating smooth normals with crease angles.
2026-11-02 13:38:01 +01:00

7.2 KiB
Raw Permalink Blame History

Klabava · pracovní 3D web

Tato složka obsahuje samostatný web s otočným modelem domu a pozemku, simulací slunce a odkazy na dodané PDF. Styl ovládání a časové chování simulace vychází z projektu Ločenice. Barvy a standardy domu zůstávají otevřené.

Spuštění na počítači

Web používá ES moduly a přibalené Three.js 0.180.0 ve složce vendor/. Spusťte místní server z této složky:

python3 -m http.server 8000

Potom otevřete http://localhost:8000. Prohlížeč potřebuje WebGL. Knihovny se načítají lokálně, takže připojení k CDN není potřeba. Samotný soubor index.html neotvírejte přes file://; použijte místní server nebo hosting. Při nasazení na hosting nahrajte celý obsah složky klabava/; soubory index.html, css/, js/, data/, vendor/ a references/ musí zůstat pohromadě. index.php je vstup pro PHP hosting.

Ovládání

  • Tažením myši model otáčíte, kolečkem přibližujete a pravým tlačítkem posouváte.
  • Příjezd, Zahrada a Shora nastaví pohled; Terén, Parcela a Parkování přepínají vrstvy pozemku.
  • Panel Slunce zachovává volbu data a času, sezónní dny, přehrávání dne, rychlost, východ/poledne/západ, azimut, výšku slunce, stíny, časové pásmo Europe/Prague a PNG.
  • Zeměpisná poloha je střed parcely 66/17 (49,7520° N, 13,5440° E) podle souřadnicové sítě S-JTSK ve výškopisu. Severka situace ukazuje sever sítě S-JTSK, který je tady o 8,5° západněji než zeměpisný sever; uliční strana domu proto míří 1,5° východně od zeměpisného severu. Natočení pozemku lze upravit v rozšířeném nastavení slunce.
  • Stáhnout model GLB exportuje aktuálně viditelný 3D model domu a pozemku. Sluneční ovládání je součástí webu, nikoli souboru GLB.

Podklady a míra přesnosti

Z půdorysu a pohledů vychází obrys domu 17,40 × 13,05 m, zastavěná plocha 178,75 m², užitná plocha 153,74 m² a úrovně hřebenů +5,275 a +5,832 m. Řez uvádí sklon střechy 23°, přesah 0,6 m, podbití +2,766 a okap +3,046 m. Vyšší valbová střecha kryje kuchyňské křídlo, krytý vstup a krytou terasu (13,05 × 11,925 m, hřeben +5,832 m), nižší křídlo s ložnicemi (9,3 m, hřeben +5,275 m); na uliční straně mají obě střechy společnou rovinu. Situace uvádí parcelu 66/17 o výměře 1 037 m² a 206,54 m² včetně krytého vstupu (1,5 × 6,525 m) a terasy (3,75 × 4,8 m). Dvě parkovací stání 6,625 × 5,0 m jsou mezi komunikací a krytým vstupem před kuchyňským křídlem, tedy vpravo při pohledu z ulice. Dům je 5,0 m od komunikace, 2,0 m od východní a asi 3,3 m od západní hranice. Bodové výšky ve výškopisu klesají přibližně z 349,2 m n. m. u komunikace na 347,1 m n. m. u zadní hranice; východní strana je asi o 0,4 m výš.

Obrys domu, polohy a rozměry otvorů, střechy, komín a sloupky terasy a vstupu vycházejí z kót a vektorů půdorysu, pohledů a řezu. Terén je rovina proložená 27 bodovými výškami parcely (střední odchylka 4 cm); podlaha ±0,000 je 0,30 m nad terénem uprostřed domu. Rámy otvorů, nosná konstrukce terasy a vstupu, auta a materiály slouží k prostorové orientaci. Hranice parcely je převzatá graficky ze situačního PDF a výškopisu, nikoli z vytyčovacích souřadnic. Model není BIM ani podklad pro stavbu, zemní práce nebo vytyčení.

Soubor data/model.json uchovává hlavní údaje projektu. Dodané PDF jsou zkopírované do references/ jako podklad modelu; panel interiéru odkazuje na půdorys a řez. Barvy fasády, střešní krytiny, oken a vybavení nejsou zatím vybrané.

Soubory

  • index.html — webová aplikace.
  • index.php — jednoduchý vstup pro PHP hosting.
  • js/klabava.js — sestavení 3D modelu, kamera, ovládání a export GLB.
  • js/solar.js — výpočet polohy slunce převzatý z podkladového webu.
  • css/app.css a css/web.css — vizuální základ z původního webu; css/klabava.css obsahuje úpravy pro Klabavu.
  • data/model.json — souhrn údajů z výkresů.
  • references/ — výškopis, situace, půdorys, pohledy a řez.

Nový interiér

Klikněte na Prohlédnout interiér (nebo klávesu I). Ovládání navazuje na Ločenici, dispozice je nově sestavená podle Klabavy.

  • Půdorys: ortografický pohled shora s plochami místností.
  • 3D bez střechy: otočný pohled se skutečným řezem stěn ve výšce 1,12 m.
  • Procházet: stěny a rovný podhled mají plnou výšku 2,60 m. Klikněte do modelu a použijte W/A/S/D, šipky nebo tlačítka na obrazovce. Tažením se rozhlížíte, Shift zrychlí chůzi. Kolečko mění zorný úhel.
  • Mapa, výběr místnosti a připravené pohledy přenesou kameru dovnitř. Průchody jsou volné; zárubně jsou zobrazené bez dveřních křídel.
  • Vybavení, popisky a přisvětlení lze přepnout. Barva mění vnitřní příčky; obvodový plášť a strop používají původní materiály.
  • Tlačítko ☷ skryje panel, ⌖ zarámuje dům nebo obnoví pohled. Exteriér / Esc vrací původní kameru, vrstvy okolí a otevřený panel. Simulace slunce se v interiéru pozastaví a při návratu obnoví původní stav přehrávání.
  • PNG ukládá aktuální pohled včetně popisků a stručné poznámky. GLB obsahuje právě viditelné vrstvy: v řezu skutečně zkrácené stěny, při procházení plnou výšku. Z exteriéru se exportuje celý dům včetně interiéru a viditelných vrstev pozemku. Světla a ovládání webu nejsou součástí GLB.

Dispozice obsahuje 11 místností o součtu ploch z výkresu 153,74 m²: obývací pokoj s kuchyní, místnost bez určení, šatnu, zádveří, chodbu, technickou místnost, společnou koupelnu, dva pokoje, ložnici se šatnou a koupelnu u ložnice. Názvy jsou odvozené ze zakresleného vybavení. Místnost 7,05 m² je ponechaná prázdná a přístupná přes šatnu 6,15 m².

Poloha a tloušťky příček, dveřních otvorů a uspořádání vybavení vycházejí z půdorysu. Světlá výška 2,60 m vychází z řezu; výška vnitřních otvorů 2,10 m je vizualizační předpoklad. Kuchyň do U s poloostrovem, sedačka, jídelní stůl, postele, skříně, sanita a technické vybavení jsou zjednodušené. Rozměry výrobků, jejich přesné provedení a materiály nejsou závazně navržené. Podhled zůstává rovný, podle dokumentace Klabavy.

Přisvětlení slouží ke čtení interiéru. Pohled bez střechy ani přisvětlený interiér nejsou výpočtem denního osvětlení.

Nové soubory

  • js/interior-model.js: místnosti, podlahy, příčky, dveřní otvory, strop a kolizní hranice.
  • js/interior-furniture.js: vybavení a jeho kolizní hranice.
  • js/interior-view.js: přepínání režimů, procházení, mapa, popisky a PNG.
  • vendor/three/: lokální Three.js, OrbitControls, GLTFExporter a licence MIT.
  • tests/interior-checks.mjs: geometrická kontrola a průchodnost ze zádveří do všech místností s vybavením i bez něj. Spuštění: node tests/interior-checks.mjs (Node.js 22+).

Kontrola: všechny místnosti jsou dostupné z chodby/zádveří, součet popsaných ploch odpovídá výkresu, geometrie má konečné souřadnice. V prohlížeči ověřeny režimy půdorys, 3D a chůze, mobilní rozložení, návrat do exteriéru a export PNG/GLB.