8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ElixirAdvent Calendar 2024

Day 13

KinoStlViewer で Three.js による 3D コンテンツを表示する

Last updated at Posted at 2024-11-18

はじめに

Three.js は HTML5 で 3D コンテンツを作成するためのライブラリです

3D コンテンツのデータは STL (Standard Triangulated Language) という形式のファイルで扱います

KinoStlViewer は Livebook 上で STL ファイルを読み込み、コンテンツを表示します

実装したノートブックはこちら

セットアップ

セットアップセルで KinoStlViewer と、 Web 上から STL ファイルをダウンロードするための Req をインストールします

Mix.install([
  {:kino_stl_viewer, "~> 0.1"},
  {:req, "~> 0.5"}
])

3D コンテンツの表示

3D コンテンツを表示するための viewer を用意します

viewer = KinoStlViewer.new()

実行結果

スクリーンショット 2024-11-17 11.08.12.png

この時点では灰色の四角形が表示されるだけです

次のコードで Web から STL ファイルを読み込んで KinoStlViewer.load に渡すと、 3D コンテンツが表示されます

"https://raw.githubusercontent.com/Buildbee/example-stl/main/binary_cube.stl"
|> Req.get!()
|> Map.get(:body)
|> then(&KinoStlViewer.load(viewer, &1))

マウス操作でカメラ角度を変更できます

kino_stl_viewer.gif

STL ファイルはこちらのリポジトリーのものを使用しました

まとめ

KinoStlViewer で 3D コンテンツを表示することができました

JS と Elixir の間でデータをやり取りすれば、色々できそうですね

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?