openglを使ってf(x,y,z)=Cを満たすような点(x,y,z)を三次元空間に描画したいと思っています。どのような方法が考えられますか?


イメージ
http://www.wolfram.com/products/mathematica/tour/page8.html

回答の条件
  • 1人2回まで
  • 登録:2006/12/04 12:27:31
  • 終了:2006/12/11 12:30:04

回答(1件)

id:ita No.1

ita回答回数204ベストアンサー獲得回数482006/12/05 07:26:43

ポイント60pt

このようなコードがありました。

http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/OpenGL/index...

以前自分で作ったときは、以下のような方法で行いました。

まず空間を格子で切ります。XYZ方向へ向いた3種類の辺ができます。

ある点を共有するこの3種類の辺の三本一組を考えます。

| /

|/

・----

各辺の両端でf-Cの符号が変わる場合、面がその辺を切ります。その交点を

計算します。3つの辺全てを面が切る場合、3つの交点を頂点とする三角形を

描画します。これを全ての組について行えばいいです。

id:peaceman1984

ありがとうございます。格子点でそれぞれ値を計算したあとどうやってつないだら良いものか悩んでいました。

2006/12/05 12:28:11
  • id:ita
    あ、すみません。
    立方体を面が六角形の形で切り取るような場合は
    1の方法は使えませんね。うーん自分でどうやったのか
    忘れてしまいました。
  • id:ita
    立方体の12個の辺それぞれとの交点を計算して、
    それらの点のリストを*何らかの方法で*ポリゴンの
    周囲を回る順番に整列させ、それを表示させればよさそうです。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません