-PR-
締切済み

3Dの網目

  • 困ってます
  • 質問No.5371952
  • 閲覧数157
  • ありがとう数5
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 66% (2/3)

碁盤の目を斜めから見ると遠い部分ほど網目が小さく歪んで見えますよね
あのような網目を表示するプログラムを書きたいのですが、
なにをどう調べたらよいのか解りません。
やはりOpenGLとかを使うことになるのでしょうか。
どなたか手掛かりだけでも構わないので、
進むべき方向だけでも教えていただけないでしょうか。
よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル9

ベストアンサー率 65% (25/38)

大別すると、方法は2種類ですね。

1.2D描画機能でがんばる
画面の奥に行くに従って各座標が画面中央に寄っていくような計算式を自前で考えて網目を描画すればいいです。数学が得意ならそれほど難しくはないでしょう。

2.3Dで描く
碁盤をぐるぐる動かせるようにしたいとか、碁盤に合わせて木目調の画像を貼り付けたいとかいうなら、3Dで描いた方が楽でしょうね。
JavaでやるならJava3DというAPIがSUNから提供されています。あとはJOGLという、Javaの描画画面にOpenGLとほぼ同じ命令文で3D描画ができるAPIもあります。OpenGLを知っている人なら、後者を使う方が楽かもしれません。
他にも2つ3つJava用の3D APIがあった気がしますが、失念してしまいました。とりあえず取っ掛かりになればと思います。
お礼コメント
jun0807

お礼率 66% (2/3)

回答ありがとうございます。

1.2D描画機能でがんばる
そうしたいのはやまやまなんですが、私、数学脱落組なもので・・
どんな計算をすればよいものやら検討つきません。
微分・積分とか・・ですかね・・

2.3Dで描く
私が描きたいのは、平面の網目なんですが、
いろいろ見たサンプルでは立体物であったり、面は塗りつぶされていたりで、しっくりくるものが見つかりません。

うーむ、2D、3Dの2方面でがんばってググってみます。
ありがとうございました。
投稿日時 - 2009-10-17 07:54:17


  • 回答No.2
レベル9

ベストアンサー率 65% (25/38)

単純に網目だけを描きたいのですね。
やっぱり数式を使った方が楽なんですが、数式を載せても解説が面倒そうなのでやめておきます。そのかわり、やっつけ的に座標を計算する考え方を書いてみます。

奥に行くほど網目が縦・横ともに狭くなり、手前に行くほど広くなる、というのは感覚的に分かりますよね。マス目の広さを変えるには、横幅、縦幅を変える、つまりxy値を位置に応じて変えていけばいいんです。
例えば、まずのっぺらな(奥行き方向に傾きのない平面の)網目が描ける座標値を用意します。そして中央の横線より上(奥)にくる座標のxy値を、中央から遠ざかるに従って-1、-2、…とずらしていきます。逆に中央より下(手前)にくる座標は+1、+2、…としていくんです。
もしそれだと斜め具合が足りないと感じたら、+1、+2ではなく+2、+4のように変化量を調整するとか、xとyの変化量を別々にしてみるとか、いろいろ試行錯誤してみればそのうちそれっぽくなると思います。

数学というのは、そういう計算を簡単な式で表せる便利なツール、というだけですので、数学が苦手でも、発想と試行錯誤でなんでもできると思いますよ。
  • 回答No.3
レベル9

ベストアンサー率 65% (25/38)

追記。

> どんな計算をすればよいものやら検討つきません。
> 微分・積分とか・・ですかね・・

真面目に3Dの計算を自前でやるなら行列計算ですが、今回のように簡易的に描きたいのであれば、直線の式を駆使すればできそうです。中学レベルの数学ですね。

あとは、紙にそれっぽい網目を描いてみて定規で寸法を計算し、座標値の見当をつけるという手もあります。正確さをそれほど求めないなら、これが一番手っ取り早いかもしれません。
お礼コメント
jun0807

お礼率 66% (2/3)

遠ざかるにつれ、線と線の間隔がどのぐらいずつ狭まっていくかの算出方法を見つけました。
手前の線と奥の線の間を3等分するのであれば、
1.それぞれの線を3分割し、分割点どおしを直線で結ぶ
2.手前の線と奥の線とを対角線で結ぶ
3.1の線と2の線の交点を通るように手前の線と平行になる線を引く
ほほぉ、なるほど・・連立方程式?
確かに中学生レベルですね。
試してみます。
ありがとうございます。
投稿日時 - 2009-10-17 16:38:37
このQ&Aで解決しましたか?
関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

-PR-
ページ先頭へ