2025年9月7日日曜日

ブラウザだけで“Blenderっぽい”3D制作ができるサービス

 汎用3D/アニメ・インタラクション寄り

  • Spline:モデリング、マテリアル、インタラクション、Web公開。glTF/GLB書き出しに対応。spline.designdocs.spline.design

  • Vectary:ブラウザ完結の3D&WebAR。glTF/OBJ/STLの読み込み、Web埋め込みに強い。vectary.com+2vectary.com+2

  • three.js Editor:three.jsの公式オンラインエディタ。GLB/GLTF/USDZなどにエクスポート可能(本格DCCというよりシーン編集に最適)。threejs.org

入門・教育/3Dプリント向け

  • Tinkercad(Autodesk):無料で直感的。3D設計・電子工作・コードまでブラウザで。Tinkercad

  • SelfCAD:オンラインでモデリング&スカルプト&レンダ。3Dプリント準備の機能も。SelfCAD+1

  • Figuro:ポリゴンモデリングに特化。OBJ/STLの入出力に対応。figuro.ioitch.io

CAD(機械・プロダクト設計)

  • Onshape:フルクラウドCAD。同時編集やコメントなどリアルタイム協調が強力。onshape.com

  • SketchUp for Web:定番のSketchUpをブラウザで。無料版あり、STL等の入出力や拡張でglTF/GLB/USdzも。sketchup.trimble.com+1help.sketchup.com

スカルプト/ボクセル・ローポリ

  • Womp:ブラウザで“ソリッド(SDF)”ベース造形。STL/OBJ/PLYへ書き出し可。womp.com

  • SculptGL:軽量WebGLスカルプト。stephaneginier.com

  • Blockbench:低ポリ/ボクセル系に最適。テクスチャ編集やWebアプリ版あり。blockbench.netMicrosoft Learn

アニメーション(リギング&モーション)

  • Mixamo(Adobe):ブラウザで自動リギング&膨大なモーション。FBXなどでダウンロード可能。Adobeヘルプセンター+1

(注意)レガシーだけど今も動く場合あり

  • Clara.io:かつては本格的なブラウザDCC。2022年に閉鎖告知が出たものの、現在も部分的に稼働との報告があり、安定性は未保証です。試す場合は自己責任で。CGChannelGameFromScratch.comwiki.archiveteam.org


ざっくり選び方

  • Webでそのまま見せたい・触ってほしい:Spline / Vectary / three.js Editor

  • 3Dプリントや教育用途:Tinkercad / SelfCAD / Figuro

  • 機械設計・図面的ワークフロー:Onshape / SketchUp for Web

  • スカルプトやボクセル表現:Womp / SculptGL / Blockbench

  • 人型の動きだけ欲しい:Mixamo

Strange Attractor リンク集(サムネ付き)

Strange Attractor リンク集(サムネ付き)

Strange Attractor リンク集(サムネ付き)

p5.js / JavaScript / WebGL 実装と、数式リファレンス。カードをクリックすると新規タブで開きます。

p5.js p5.js logo

p5.js Webエディタ(SequentialChaos)

Peter de Jong 写像の動作例。ブラウザ上でコード確認&実行。

editor.p5js.org
Demo

attractorsJS(ライブデモ)

p5.js ベース。Peter de Jong / Clifford などパラメータ調整対応。

weightan.github.io
GitHub GitHub Mark

attractorsJS(リポジトリ)

p5.js 実装のソースコード。ローカルで改変・発展可能。

github.com
GitHub GitHub Mark

DeJong-Attractor(QC20 / リポジトリ)

WebGL による高速ビジュアライザ。JavaScript 実装。

github.com
WebGL Demo

DeJong-Attractor(QC20 / ライブデモ)

WebGL の高速描画。スムーズな拡大・回転・密度表現。

qc20.github.io
Reference

Paul Bourke:Peter de Jong

数式・代表パラメータのリファレンス。実装時の指針に。

paulbourke.net
追加したいリンクがあれば、このHTMLにカードをコピペしてURLと見出しを差し替えるだけでOKです。

遠い未来の技術

 

  • 「恒星間航行と他の恒星系への植民」(Interstellar travel)
    恒星間旅行は現在の推進技術では困難とされますが、核パルス、融合ロケット、ビームソーラセイルなどの理論的な方式が研究されています。数十年〜数世紀の移動を想定した「世代船」も含まれます。Wikipedia+1The Times

  • 「ダイソン球などのメガ構造物」(Dyson sphere)
    恒星を囲ってエネルギーを収集するメガ構造のアイデア。研究によると、ダイソン球は恒星に対して不安定になる可能性が高いですが、特定の二重星系では安定構造になる可能性も示唆されています。WikipediaLive ScienceThe SunNews.com.au

  • 「世代船(Generation ship)」
    宇宙船の中で複数世代にわたって人類が生き続ける移民船の概念で、構想は100年以上前からあり、近年でも詳細な設計案が提案されています。WikipediaThe Guardian

  • 「恒星間アーク船(Interstellar ark)」
    Project Orionなどの核パルス推進を用いた巨大船体で、都市規模の人間や文明を長期間保存・輸送できる設計が検討されています。Wikipedia

  • 「O’Neill 円筒型宇宙居住施設(O’Neill cylinder)」
    1970年代に提案された、月や小天体の資源を活用して構築する宇宙コロニー構想。対向回転円筒で人工重力を生み出す設計です。Wikipedia

  • 「Breakthrough Starshot」
    地上のレーザーでナノスケールの探査機を推進し、数十年以内にアルファ・ケンタウリへ到達しようという壮大なプロジェクトです(構想実現は2030年代以降の見込み)。Wikipedia

 


Web APIの仕様書には、OpenAPI(旧Swagger)、Postman、Markdownなど複数の形式があります。

 Web APIの仕様書には、OpenAPI(旧Swagger)、Postman、Markdownなど複数の形式があります。OpenAPIは業界標準で、YAMLやJSONで記述し、Swagger UIで視覚化も可能。Postmanはコレクション機能でAPIをテスト・整理しやすく、ドキュメント生成も対応。Markdownはシンプルな構造で記述しやすく、専用ツールでモックやサーバーを生成可能。いずれもAPI仕様の明確化やチーム共有、保守性向上に役立ちます。用途に応じて選択するのが効果的です。

🔷 OpenAPI(Swagger)仕様の例

  • GitHub APIのOpenAPI仕様(Swagger UI)
    https://docs.github.com/en/rest
    → GitHubのREST APIがOpenAPI仕様でドキュメント化され、操作しながら確認可能。

  • Petstoreのデモ(Swagger公式サンプル)
    https://petstore.swagger.io/
    → OpenAPI 3.0ベースの代表的なデモ。仕様定義からUI表示まで確認可能。

  • OpenAPI仕様のYAML例
    https://swagger.io/specification/
    → OpenAPI 3.0の構造や記法を学ぶのに最適な公式ドキュメント。


🟠 Postman コレクションの例


🔶 Markdown形式のAPIドキュメント例

  • GitHub Actions API ドキュメント(Markdownベース)
    https://docs.github.com/en/actions
    → GitHubはMarkdownで整備された静的ドキュメントとしてAPIを管理。

  • FastAPIのドキュメント自動生成例(Markdown起点)
    https://fastapi.tiangolo.com/
    → PythonのFastAPIではMarkdownコメントからドキュメントを生成可能。

  • ReDoc によるMarkdownドキュメントのレンダリング例
    https://redocly.github.io/redoc/
    → MarkdownやOpenAPIを視覚的に変換するReDocのデモ。


p5 × GLSL-mini DSL (Logical Grid × Dot Size)

p5 × GLSL-mini DSL (Logical Grid × Dot Size)

2025年9月6日土曜日

最小PBR(GGX・直射)— 冒頭解説(約600字

最小PBR(GGX・直射)— 冒頭解説(約600字)

最小PBR(GGX・直射)— 冒頭解説

このシェーダは、球1個をレイトレし、GGXベースの最小PBRで直射1灯の見え方を計算します。まずカメラからのレイと球の交差を求め、ヒット点の法線 N、視線 V、光線 L を作ります。鏡面はマイクロファセットBRDFで、法線分布は GGX、幾何項 G は Smith の Schlick‑GGX 近似($k=((r+1)^2)/8$)、フレネル F は Schlick 近似を用います。

$$ F(\theta)=F_0 + (1-F_0)(1-\cos\theta)^5 $$

粗さ $r$ から $\alpha=r^2$ とし、NDF は次式です。

$$ D=\frac{\alpha^2}{\pi\,\big((\mathbf{N}\!\cdot\!\mathbf{H})^2(\alpha^2-1)+1\big)^2} $$

エネルギー保存のため拡散は

$$ k_d=(1-F)(1-\text{metallic}),\qquad f_{\mathrm{diff}}=k_d\,\frac{\text{albedo}}{\pi} $$

とし、金属(metallic=1)では拡散が消えます。最終輝度は

$$ L_o=(f_{\mathrm{diff}}+f_{\mathrm{spec}})\,(\mathbf{N}\!\cdot\!\mathbf{L})\,L_i $$

を一灯ぶん評価し、わずかな環境色を加えてガンマ補正($1/2.2$)で表示します。パラメータは Blender の Principled と整合し、Base Color→albedo、Metallic、Roughness が同義です。短いコードと基本式だけで「金属らしさ」や「粗さによるハイライトの広がり」を再現でき、さらに IBL、影、ACES トーンマップを加えると実写感が一段と高まります。

https://www.shadertoy.com/view/3cScDD