
No.2ベストアンサー
- 回答日時:
1、-1.0から1.0にしておけば、さまざまなウィンドウサイズに対応できるから。
ウィンドウサイズはglViewportで指定します。
2、デフォルトが単位行列だから。
3次元形状がどのように見えるかは、
1,カメラの位置と方向
2,カメラの見える範囲と投影方法(平行投影、透視投影)
によって決まります。
1も2もOpenGLでは4x4の行列で表され、描画時にこれらの行列を掛けて全体的な変換行列を求め、それとワールド座標系の3次元座標を掛けることにより、カメラ位置から見た形状が求まるわけです。
1の行列はビュー変換行列、gluLookAtで指定します。
2の行列はプロジェクション変換行列、glOrtho、gluPerspective等で指定します。
何も指定しないとデフォルトの単位行列になり、
ビュー変換行列が単位行列である意味は、
カメラ位置(0,0,0)、
ワールドベクトル(1,0,0) -> カメラ右向きベクトル(1,0,0)
ワールドベクトル(0,1,0) -> カメラ上向きベクトル(0,1,0)
ワールドベクトル(0,0,1) -> カメラ手前向きベクトル(0,0,1)
の変換を行う行列ということであり、
プロジェクション変換行列が単位行列である意味は、
カメラ位置から上下左右前後に-1.0から1.0を-1.0から1.0に変換する行列ということです。
したがってここで変換される-1.0から1.0がGLの見える範囲でないと、さらに変換が必要になりまずいわけです。
実際に手計算で3次元座標がどのように見えるか計算してみると理解しやすいです。
参考URL:http://www.users.yun.co.jp/~studiowing/etc/index …
No.1
- 回答日時:
推測ですので違うかも知れません。
座標系はいろいろありますが、特に指定がなければ数学などで一般的に使う3次元のXYZの座標系を使うのが普通だろう考えます。
で画面ですが、やはり横をX軸、縦をY軸、画面に垂直な方向をZ軸と考えるのがもっとも自然でしょう。
Z=0と考えた時に画面という平面になりますし。
で、さっきの一般的な座標系を回転させて画面のXYZに合わせると、右がX+,上がY+,手前がZ+となります。
範囲はどんな値にしてもかまいませんが、実数であつかなら全体を1と考えるのがもっとも自然でしょう。
特定のコンピュータの画面を考えるとか、整数だけで考えるなら他の値も考えられるでしょうが、
OpenGLは特定の用途に限定したものでなく、一般的な3DCGを扱うことを考えていますから、例えば640とか1024という数に意味を持たせるのは不自然です。
逆の発想なのが例えばWindowsのビットマップで、点を表示装置の都合にすぎない画面の一点とするとか、
ハードウェアの描画順(走査線の移動順)に合わせて左上を原点とし右方向をX+,下をY+とし、二次元を基本とするのでZは存在しないとか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 ビッグバンについてですが、ある人に「爆発だと広がる速度には決まった向きがあります(爆心地を中心に放射 6 2023/08/15 12:29
- その他(プログラミング・Web制作) atcoder python コードへの助言 2 2022/08/12 15:31
- 数学 P=sinθ-(√3)cosθ[0≦θ≦π/2]の求め方が分かりません。 画像のように解いたのですが 3 2022/04/07 18:41
- 倫理・人権 LGBTQ問題で 7 2023/07/13 22:48
- Excel(エクセル) 範囲指定をした中で、住所の列をユーザー設定の並べ替えをしたい 3 2022/05/15 13:51
- リフォーム・リノベーション 部屋の防音は設置面数によって効果はどれくらい変わりますか? 1 2023/06/02 16:03
- 歯の病気 親知らず抜歯後のドライソケットについて質問です。 3/2に口腔外科で右下の埋まっている横向きの親知ら 3 2023/03/04 06:44
- 数学 高一数学 二次関数画像あり 〔 チャート 94ページ 問題練習118番 〕 この問題の不等式はの答え 5 2023/08/19 15:59
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
Excel VBA で自在に図形を変化...
-
色付けの円を描きたい
-
N88-BASICのグラフィック、図形...
-
VB.NETでPictureBox間で論理演算
-
濃淡画像の縦方向のゆがみを求...
-
日本国内の、アクセス地域によ...
-
エクセルで回転する座標の出し方
-
VB6で2点間の直線の長さを求め...
-
差分法による数値解析でヤコビ...
-
位置座標からx軸となす角度(ラ...
-
右手系と左手系、どこで差が出る?
-
DirectXのポリゴンモデルの表示...
-
線分の交点の保持
-
VB6のPrinter.ScaleWidth に対...
-
多角形の内部かどうか判定する方法
-
マインクラフト(pc版)で座標...
-
ファイルの中身を分割するプロ...
-
座標のページへ直接飛ばすやり...
-
C言語による楕円関数の記述
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
3次元空間上の2つの座標から...
-
エクセルで回転する座標の出し方
-
ダイアログ内コントロールの位...
-
多角形の内部かどうか判定する方法
-
交差する2線分の交点座標の求め方
-
ワード上Shapeの位置情報を統一...
-
C言語 配列で座標
-
閉図形の座標の配列が右回りか...
-
シーケンサー(PLC?)で制...
-
Excel VBA で自在に図形を変化...
-
直線上にある点の座標の求め方
-
エクセルである点からの距離で...
-
OpenCvSharp4による画像判定解...
-
始点、終点の二つの座標と半径...
-
GLで座標を変えて回転させたい
-
ピクチャボックスの座標取得
-
最小二乗平面
-
c言語でキーボードから2点の座...
おすすめ情報