• 締切済み

OpenGLの描画について(拡大縮小等)

今OpenGLの勉強をしながらプログラムを組んでます。 図形を描画して拡大縮小まではできました。 static Skx, Sky, Skz, gluLookAt(Skx, Sky, Skz, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); #--- キーボード操作による関数(Skx,Sky,Skzの操作) #--- これで拡大縮小はできるようになったのですが、ある一定のところまで縮小すると背景に埋め込まれるような感じで目線より遠い部分から隠れていくような感じになってしまいます。 (拡大すると隠れた部分は戻ってきます) なぜこのようなことが起こるのでしょうか。 お分かりの方がいらっしゃいましたら教えて頂ければ幸いです。 また、回避方法もご教示頂けたらと思います。

みんなの回答

  • ldir
  • ベストアンサー率0% (0/2)
回答No.1

拡大縮小にz座標の増減を行っているのならば、 far-clip 面でクリップされて非表示になっているのでしょう。 gfFrustrum() や pluProjection() で far-clip の 値を奥にしてみてはどうでしょうか。

関連するQ&A

  • ドラッグして描画図形を拡大縮小する方法

    マウスで選択すると、その選択した描画図形が拡大縮小するという方法を教えてほしいです。図形は、Canvasで描いています。お願いします。

  • 『図形の拡大と縮小』の導入←あなたらどうする?

    数学の講師2年目です。 今年ははじめて3年生を指導することになり,今度は『図形の拡大と縮小』について学習します。 そこで,生徒に導入部分でこういうのが相似な図形なんだという感触を持たせたいのですが,なかなかいい案が思い浮かばないので力を貸して下さい。 体験的な活動がいいかなと思い,折り紙で同じ形で色々な大きさの図形をつくるのもいいかなと思ったのですが,いまいちなような感じがして,こういうのはどうか?また,こういう方法で以前に指導したなどありましたら,ぜひ参考にさせて頂きたいです。 よろしくお願いします。

  • OpenGLでkeyboardやmouseを使いたい

    OpenGLでグラフィックを描いてるんですが キーボードやマウスを使って次のことが したいんですが、上手くいきません。 よいヒントをお願いします。 キーボードでしたいこと: キーボードで何かを入力したら グラフィックが既定の動作をする。 マウスでしたいこと: マウスで動かした方向に 視点を回転させたい。 またホイールを上に回すと、拡大 ホイールを下に回すと、縮小。 上のプログラムを組む方法が よくわからず上手くいきません。 視点を回転させる方は static int x0, y0, z0; switch (button) { case GLUT_LEFT_BUTTON: if (state==GLUT_DOWN) { x0+=1; gluLookAt(0.0, 75.0, 225.0, x0, 0.0, 0.0, 0.0, 1.0, 0.0); glFlush(); } break; case GLUT_MIDDLE_BUTTON: if (state==GLUT_DOWN) { z0+=1; gluLookAt(0.0, 75.0, 225.0, 0.0, 0.0, z0, 0.0, 1.0, 0.0); glFlush(); } break; case GLUT_RIGHT_BUTTON: if (state==GLUT_DOWN) { y0+=1; gluLookAt(0.0, 75.0, 225.0, 0.0, y0, 0.0, 0.0, 1.0, 0.0); glFlush(); } break; default: break; } という風にプログラムしてみたんですが クリックするたびに視点が遠ざかり 最後には消えました・・・・。

  • 描画の常識???

    お世話になります 音楽ソフト等の波形を表示する、描画手法について教えてください 波形を縮小している場合は線ですが、拡大すると点が現れます これって、何で描画しているのでしょうか? たとえば、ビットマップで描画して、これを拡大するとこれと同じ感じになるのでしょうか? それとも、ポリゴン? 素人ながら色々調べていますが答えが見つかりません どなたかご存知の方、教えてください! よろしくお願いします

  • 選択範囲の拡大

    いつもお世話になっております。 現在、VC++のMFCで図形の描画に携わっているのですが、 図形の一部分を選択し、その選択した部分のみ拡大して表示する方法はありますでしょうか? 例えば四角形を一つ描き、一角の部分だけ選択して表示させる場合などです。 もし何かお分かりになる方がおられましたらご返答宜しくお願い致します。

  • SAIの拡大が使えない><

    SAIで絵を描くとき、拡大・縮小はマウスのホイールの部分で行っているのですが、今日SAIを開くと縮小はできるのですが何故か拡大だけができません。 上の拡大アイコンやサブバーで操作すると拡大できるのですが、絵を描いている時は常に拡大縮小を繰り返して絵を描いているのでアイコンをいちいちクリックしていると手間なのです・・・; なぜいきなりホイールで拡大できなくなってしまったのかが分かりません; 誰か教えてください;w;

  • AutoCAD2007 ブロックを拡大縮小した際 寸法線・寸法値を拡大縮小しない方法ありますか?

    いつもお世話になっております。 AutoCAD2007使用上でのお知恵をお貸し下さい。 ブロック内には 『線分・寸法値・寸法線』         があります。 このブロック内の 寸法値・寸法線の矢印 は、 ブロック化してあるため変更は難しいと分かってはいるのですが、 ブロックを拡大縮小すると 寸法線の矢印サイズや寸法値の文字サイズも 同時に拡大縮小されるのを防ぐ方法。 または、ブロックの拡大縮小後ダイナミックブロックなどを 数回行って特定の大きさにする方法など ありませんでしょうか? 尚、 ・大本であるブロック自体の文字サイズや矢印サイズ等を  変更するのはNG  (同じ図面内に別の尺度の同じブロックが多数存在しているため) ・ブロック化解除もNG ・後から寸法線等を付け足すのもNG です。 最近のAutoCADで言えば 『異尺度対応』 と言う操作にあたるのかと思いますが、 そういった感じの事を2007(異尺度操作←非対応)でしたいのです。 ↑異尺度対応という操作をした事が無いので 操作を正しく理解していない可能性があります。 まったく違う操作でしたら申し訳ありません。 何かいい方法はありませんでしょうか? 回答よろしくお願い致します。

  • Painterで選択範囲部分を拡大縮小するには

    コーレルペインター12の操作方法について質問です。 こちらの質問↓ http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1326363273 と、おそらく同じだと思うのですが、回答の操作で出来なかったので、 私からも質問させてください。 コーレルペインター12を使って、 人物イラストの中で、目だけを大きくしたり小さくしたり調整したいのですが、 目の部分を選択範囲ツールで囲ってから、どうすれば拡大縮小できるのでしょうか? 移動はレイヤー調節ツールで出来るのですが… 回転や拡大縮小などが出来ません。 Photoshopを使い慣れているので、 選択範囲で囲む→移動ツールでバウンディングボックスを表示して移動・変形 と同じことをPainterでしたいのですが…。 使用パソコンはMacです。 基本操作だとは思うのですが、これが出来ずとても困っています。 ご回答をよろしくお願いいたします!

  • 多角形選択ツールを使用中にナビゲータを使って画像を拡大・縮小できますか。

    質問の仕方がわかり難くてすいません。フォトショップ6.0を使用しております。写真の背景を真っ白にするのに多角形選択ツールで画像を切り取っています。しかし正確に選択していくには、画像を拡大したいのですが、そうするとその拡大した部分だけしか多角形選択ツールを使えません。多角形選択ツールを使いながら、ナビゲータなどで画像の拡大・縮小は出来ないのでしょうか。ESCを押しますと今までの選択した範囲が消えてしまいますし、なんとか途中までを保留して、カーソルの形を通常の矢印にするようなことは出来ないのでしょうか。どうかよろしくお願いします。

  • VBを使って行列による3Dの図形やグラフを描画するのですが・・

    本をよんでいるのですが自分の創造した図形の3D座標を2Dの座標に変換する仕方やその点の座標をどのように行列に当てはめるのかがわかりません。行列での回転・縮小拡大の仕方などが・・。 3Dの描画や行列に詳しい方教えてほしいです。 もし詳しくなくても関係のあるVBサイトがあれば教えてほしいです。 お願いします。

専門家に質問してみよう