質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Three.js

Three.jsはWebGLをサポートしているJavaScriptの3D描画用ライブラリです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1926閲覧

Three.js: 特定の色のボクセルの体積を求めたい

katahiromz

総合スコア186

Three.js

Three.jsはWebGLをサポートしているJavaScriptの3D描画用ライブラリです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/07/24 03:03

編集2020/07/24 04:02

お世話になっております。前回の三次元タートルグラフィックスからの続きです。

HTML+JavaScript+Three.jsで臓器を描くのに挑戦しています。
レポジトリ:https://github.com/katahiromz/3D
Turtle3D.js ソース: https://github.com/katahiromz/3D/blob/master/Turtle3D.js
HTMLソース: https://github.com/katahiromz/3D/blob/master/6.html

これが私が書いた肺臓です(6.html)。
肺臓

白い部分の肺胞の体積を求めたいと考えております(重複はOR演算で無視する)。何か白い部分のボクセルを数える汎用的な方法はないでしょうか。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

get_体積合計(白い部分, 重なった部分は重複カウントしないフラグ_ON) みたいな便利関数は用意されてないんじゃないでしょうか。
自前で計算する場合、任意の図形、任意の条件で結果を求めたいのであれば何らかの方法で近似値を使うことになると思います。

ある程度条件を限定したとすれば……
まず、白い部分の個数は自分でわかるはず。
白い部分1つ1つが完全な球だと仮定すれば、1つあたりの体積は公式で計算できる。
2つ以上が重なった部分は存在しないと仮定すれば、合計は単純な掛け算だけで求められる。
2つが重なった部分は存在するけど3つ以上が重なった部分は存在しないならば、 https://mathtrain.jp/ballsv で-rからrまで積分している箇所を-rから途中まで、あるいは途中からrまでの積分に変更した結果を用いることで計算可能なはず。

あるいは、白い部分1つ1つは立方体で各辺はX軸Y軸Z軸に平行だとすれば、2つ以上が重なった部分は直方体になるので体積は計算できる。
立方体ではなく各辺がX軸Y軸Z軸に平行な直方体を複数個合体させた形状だとしても、計算は可能なはず。

実用的かどうかはわかりません。

投稿2020/07/25 13:59

okrt

総合スコア366

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

voxelizer
https://github.com/andstor/voxelizer
で解決しました。

投稿2020/07/25 14:06

katahiromz

総合スコア186

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問