PartCAD
CAD 파일을 위한 최초의 패키지 매니저
실제 별과 외계 행성 아래 절차적으로 만든 외계 풍경을 물리적으로 계산된 하늘·토양·식생 색상과 스펙트럼 차트로 내보낸다
Simulate procedurally generated alien landscapes under real stars and exoplanets. Physically computed sky, regolith and vegetation colours, with spectrum and pigment absorption charts, exportable as P
디자인JavaScript · CSSGitHub @eagnespuerto온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Procedurally generated landscapes under other suns - every colour computed from a spectrum. Star and exoplanet presets, per-spectral-type leaf colours, pigment absorption charts, PNG/JPG/PDF export.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Procedurally generated landscapes under other suns, where every colour on screen is computed from a spectrum rather than chosen by hand.
Pick a star, an exoplanet and an atmosphere, and the page works out what the sky, the ground, the water and — if anything can live there — the vegetation would actually look like. Then it shows you the spectra behind that answer and lets you export the whole thing as a data sheet.
No build step, no dependencies, no network calls. It is a handful of ES modules and a canvas.
Nothing here is art-directed. Each colour is the result of an integral.
The star is treated as a blackbody at its effective temperature. Planck's law gives the emitted spectrum, an atmospheric transmission profile attenuates it, and the result is integrated against the CIE 1931 2° standard observer to get tristimulus XYZ, then converted to sRGB through the D65 primaries and the sRGB transfer function. This path is ported from starlight-filter, which uses the same integral to drive a display's gamma ramp.
Because Beer's law is exponential in path length, a lower star simply means the zenith transmission raised to the air mass. That one relationship is why the same model produces a blue noon and a red sunset without being told about either.
A Rayleigh atmosphere scatters short wavelengths out of the beam, so the sky glows with exactly what the beam lost. Dust and haze absorb rather than scatter, so those skies take the transmitted tint instead of its complement — which is why Mars is butterscotch rather than blue.
Ground colour is the total downwelling light (direct beam plus skylight) times a mineral reflectance curve, integrated the same way. Out-of-gamut results are tone-mapped on luminance with the chromaticity preserved, so a deep Rayleigh sky comes out pale blue instead of clipping to flat white.
Photosynthesis is a quantum process, so the model counts photons, not energy. A reaction-centre pigment is chosen by weighing three things against each other:
1/λ_trap, because
energy above the trap is dumped as heat. This is what stops far-red pigments
winning under every star.Antenna pigments are then layered on, constrained by what can physically attach to what: a chlorophyll photosystem accepts chlorophyll b, carotenoids and phycobiliproteins, while a rhodopsin accepts only a carotenoid and bacteriorhodopsin runs bare. Phycobiliproteins carry a heavy cost penalty because a phycobilisome can run to half a cell's protein — which is why land plants never took that option, and without it the model paints Earth's forests red.
The leaf's reflectance is what survives that absorption, scaled by a structural reflectance term that reproduces the red edge. Its colour is the illuminant times that reflectance. Calibration check: Earth under the Sun comes out green, reflectance peaking near 550 nm with a red edge at ~705 nm, which is what real vegetation does.
This is a worldbuilding and teaching tool, not a radiative-transfer code.
The reasoning behind the leaf-colour model follows Kiang et al. (2007), Spectral signatures of photosynthesis.
There is nothing to install, but the page uses ES modules, so it needs to be served over HTTP rather than opened from the filesystem:
python -m http.server 8123
Then open http://localhost:8123.
| File | What lives there |
|---|---|
src/cie.js | CIE 1931 CMF table, Planck's law, XYZ → sRGB, tone mapping |
src/stars.js | Stellar presets, habitable zone, angular diameter, insolation |
src/planets.js | Atmospheric transmission, exoplanet presets, biome classifier |
src/pigments.js | Pigment spectra, suite selection, leaf reflectance solver |
src/scene.js | Ties it together — every derived quantity and colour |
src/landscape.js | The procedural renderer; shape only, no physics |
src/charts.js | Spectrum, absorption and reflectance charts |
src/exporter.js | Data sheet composition, PNG/JPG, and a hand-rolled PDF writer |
src/noise.js | Seeded PRNG and fBm |
src/main.js | UI wiring |
fonts/ | Atkinson Hyperlegible Next, self-hosted (SIL OFL 1.1, see fonts/OFL.txt) |
Seeds are deterministic: the same seed always redraws the same terrain at any resolution, so an exported sheet can be reproduced exactly.
MIT.