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

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

新規登録して質問してみよう
ただいま回答率
85.50%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

3DCG

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

594閲覧

3D極座標の立体のカット面の輪郭を取得するアルゴリズム

milkypai

総合スコア8

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

3DCG

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2022/12/28 01:26

編集2022/12/28 14:07

3D極座標の散布データから近似曲面で立体を作成し、立体の原点を含む任意のカット面とカット面の輪郭を取得するアルゴリズムを教えてください。

例えば極座標中にリンゴの種の部分を原点に、リンゴの細胞核の座標がプロットされていたら
そのデータからリンゴの皮にあたる閉じた近似曲面を計算する
次に任意の角度から種(原点)を通るように任意の角度でリンゴをカットする
リンゴのカットの断面の輪郭である閉じた近似曲線を取得する

という感じです
アルゴリズムだけなので、言語は問いません。
既存の言語で実現できるライブラリがあるのでしたらそれでもかまいません。
(私が探した限り、極座標でのカットは見つけられませんでしたが)

用途は工学的な用途で、ゲーム等で見栄え良く表現をすることを目的とは
していません。

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

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

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

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

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

fana

2022/12/28 01:44 編集

> (私が探した限り、極座標でのカットは見つけられませんでしたが) それは「他の座標表現での話であれば見つかった」ということですか? であれば,それを使うのではダメなのですか? :最初から最後まで全てを極座標の上での表現だけで実現したい,という話ですか? #例えば,演算途中で三角関数とか持ち出すとそれはその時点でユークリッド座標を扱っていることと同義になると思うので,厄介そうな話.
milkypai

2022/12/28 01:59

ご質問ありがとうございます。 Open3D,matplotlib,unityなどで、点群から3D の輪郭を作成し、メッシュ(ポリゴン?)データ に変換されているのを見かけました。(断面の輪郭の抽出までは見つけられませんでした) 「理想は」極座標表現のままの方です。 元データをデカルト座標変換する方法でも既存のライブラリで容易に実現できるならいいのですが 同じくらい実現に工数がかかりその上誤差が大きくなるのではないかなと。 (知識不足でどっちに工数を注いで良いかの判断もできておらずすみません)
fana

2022/12/28 02:42

「カット面」が平面ならば,とりあえずその平面に近いデータだけを集めて平面に投影してしまい,あとは2次元の問題として扱えば良さそうな気もしますが,どうなんでしょう? (2次元の点群に対してどの点が「輪郭」上の点で,どの点は違うのか? を求めることが問題となる…のかな?) あーでも,精度の面で,単純にデータ点を平面に投影するようなことをしたらもうダメ…かも? (平面を(法線方向に沿って)何パターンかオフセットしてそういうことをした結果から,なんかこう,補間…とかで精度を簡易的にかせげないかな?)
milkypai

2022/12/28 02:57

アドバイスありがとうございます。 たしかに精度の面で難しいですね。 私のたとえがよくなかったです。 リンゴとリンゴの細胞の数のように大量のデータがあるわけではないので、 近いデータだけ選ぶとかなり違うカット面になってしまいます。 点群から直ではなく3Dの近似曲面を算出した上で、輪郭を取得しないと 難しいのではないかなぁと思います。
fana

2022/12/28 04:28

いや,なんかてきとーすぎる素人意見を垂れ流していまいすみません. しかし,想定されているデータの密度とか分布の偏り次第で話が変わってくる場合,そこらへんの実際の 状況/雰囲気 がわかる何か(なんだろう? 絵とか?)を質問内で示していかないと,有識者からの真に有用な回答を得るのが難しいではないでしょうか. --- > ライブラリ 点群データを扱うライブラリとしては "Point Cloud Library" というのを聞いたことはありますが…(使ったことないので,何ができるのものなのか?すらも私は知らないですが)
milkypai

2022/12/28 05:07

アドバイスありがとうございます。 データ数もはっきりしておらず、画像も用意できず済みません。 はっきりはしていないなりに、質問に追加してみたいと思います。 画像は、手書きで用意してみようと思います。 ライブラリありがとうございます。私がまだ見たことがない ライブラリでしたので、見てみることにします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問