アプリ版:「スタンプのみでお礼する」機能のリリースについて

3次元空間をx軸、y軸、z軸で表す時、
各軸の正の方向をどちらに定義するのが便利なのか、
または、どちらに定義するのが一般的か、教えてください。

x軸正を正面に、y軸正を右手方向に定義した場合、
z軸正は鉛直上向きに定義するのがよいのか、
鉛直下向きに定義するのがよいか?です。
(xとyだけなら見る方向を変えたらどうにでもなりますので)
ある分野の議論において、
もしどちらかの定義で不便なことが発生するならそれを教えてください。
よろしくお願いします。

A 回答 (4件)

 一般的なのは、外積をとったときに右ねじの方向になるように設定されることが多いので、質問者さんのケースではz軸正は鉛直上向きになると思います。



 例)x×y=z (ただし、x、y、zは各軸の方向を表す3次元の単位ベクトルで、×は外積を表す。)
   y×z=x
   z×x=y

 外積を考慮する場合には、z軸正は鉛直上向きにとった方が勘違いをせずに済むので、こちらの方が良いかと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
「数学の外積」とは、結構強力な制約ですね。
これでほとんど決定な気がします。

今気づいたのですが、私の定義は一般の数学の逆だったかもしれません。
一般的な数学では、x軸正を正面にしたときはy軸正は左手方向でしたね(ノートを下において上から見たときの話ですが)。
ということは「私の質問の定義(数学一般と逆のxy定義)」だとz軸正は鉛直下向きにとる方がよい、の間違いではないですか?
ややこしくてすみません。

お礼日時:2008/09/28 01:44

 #2です。

お礼をありがとうございます。

>今気づいたのですが、私の定義は一般の数学の逆だったかもしれません。
>一般的な数学では、x軸正を正面にしたときはy軸正は左手方向でしたね(ノートを下において上から見たときの話ですが)。
>ということは「私の質問の定義(数学一般と逆のxy定義)」だとz軸正は鉛直下向きにとる方がよい、の間違いではないですか?

 「x軸正を正面」というのは、ノートに対して奥から手前に向いていることを意味しているのでしょうか。でしたら、z軸正は確かに鉛直下向きになります。

 しかし、私が一般的だと理解しているものは次のサイトに掲載されている図です。
http://www.geocities.jp/teditown/dim4/zahyo.html
 x軸正はノートに対して奥から手前に向いているとき、y軸正は右向きで(左手方向ではありません)、z軸正はノートに対して上側になります。

 私より良い説明をしているサイトがありました。これにより曖昧さが排除されることと思います。

<一般に使うのはデカルト座標系と呼ばれる体系です。立体幾何学では三つの直交する座標軸(x、y、z)で空間の位置を表します。細かい約束を言えば、(x、y)で水平面の座標を、z軸を垂直上向きに取り、(x、y、z)軸の向きが右手系(right-handed system)になるように選びます。蛇足ですが、右手系というのは、右手の親指・人差し指・中指を開いたときの向きの順に(x、y、z)軸の正の向きを決める方式です。このように決めると、(y、z、x)、(z、x、y)の順に座標軸を選んでも右手系の関係が保たれます。これを座標軸の「直交性・右手系の関係・単位長さ」の定義とします。右手系に対抗して左手系も考えられます。しかし、ベクトルの演算における外積(ベクトル積)が、右手系の約束で定義されますので、不注意で左手系の順番を混ぜて使うと符号が混乱してしまいます。>
http://www.teu.ac.jp/clab/kondo/research/cadcgte … の第2段落です。

この回答への補足

了解しました。ありがとうございました。

補足日時:2008/10/12 04:13
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございました。

お礼日時:2011/10/28 19:59

質問点が2つありますね?



1点目は、「x軸とy軸のように2軸が与えられた場合、他のz軸がどの方向を向くか?」という問題です。
数学や物理の世界では、何も理由がなければ、右手系座標系を使用する決まりになっています。
右手系座標系とは、右手の親指・人差指・中指を、互いに(ほぼ)直角になるよう、図のように位置させ、x軸を親指、y軸を人差指に合わせれば、残るz軸は必然的に中指の方向になるというルールです。
ここで、外積の概念は、余計な概念であって、全く不要です。(外積の演算結果の正負を決めるのに、上記の右手系の考え方が必要になるのであって、今のように、x、y、zの向きを決めるのに、外積は必要になりません。)

中指
=z |人差指=y
 \ |
  \|
  /
 /
親指
=x

たまに、左手系の座標系が現れることもありますが、これは右手系で構成されたものを、ミラーコピーしたものなど、ごく限定された場合だけです。もし左手系を自由に使われると、それこそ外積や、rotの定義が狂ってきてしまいますので、その人の趣味で使用してはいけません。

2点目は、たとえば、コンピュータの画面(正確にはモニターの画面)内に座標系を設置するのに、画面内にx軸とy軸をとる(=画面をx-y平面とする)のが普通なのか、y軸とz軸をとる(=画面をy-z平面とする)のが普通なのか、という問題です。
これは、その人の住む世界によって違ってきます。
一般に地球や宇宙を相手にしている人たちの間には、”上がz軸”という暗黙のルールがあるので、コンピュータの画面内の鉛直方向上向きにz軸、右向きにy軸、画面から自分に向かう方にx軸をとります。
要するに、コンピュータの画面内が、y-z平面です。
3次元CADのなかでも、CATIAなどは、この考え方に従ってデフォルトの座標系を設定しています。
この種の人たちは、もし将来コンピュータの画面を水平置きで使うようになった場合には、画面内の座標系をx-y平面に変更して使うようになるはずです。

別の種類の考え方の人たちもいます。この世の中の図形は、基本的に、「平面図形 + 厚み方向の変化が付け加わったもの」という考え方です。
この場合、コンピュータの画面内がx-y平面であり、右向きがx軸、鉛直方向上向きがy軸、厚み方向は画面から自分に向かう方となって、これがz軸となります。
この考え方に従って、デフォルトの座標系を設定している3次元CADのの代表が、Pro/ENGINEERです。
この種の人たちは、もし将来コンピュータの画面が水平置きになった場合でも、画面内の座標系を変更する必要は感じないはずです。

「どちらに定義するのが一般的か」というご質問に対しては、「その世界で常識的に使用されている座標系に従いましょう。もしそれが存在しないのであれば、自分の好きなように、ただし右手系を踏み外さないように、決めて構いません。」というのが回答になります。
    • good
    • 1
この回答へのお礼

ご回答いただきありがとうございました。

お礼日時:2011/10/28 19:59

何に使うのかによって全く異なるね。


用途が決まらないのなら 定義もできない。
PC選びに似ている気がする。



なので「通常どっち」ってのは無い。
良く見る二次元表は左下が原点かもしれないけど作文用紙(これは座標軸といいがたいけど)は右上が原点。そしてPCの描画は左上が原点。どれも一般的。
だから用途が定まらないとどこが原点でどちら方向が正負なのか、定義できないでしょ?

この回答への補足

用途は問いません。
用途とセットで答えて頂ければ結構です。
「作文用途では下がy軸正、左がx軸正」
「PC上のプログラミング用途では下がy軸正、右がx軸正」
こういう回答でOKです(欲しいのは3次元の議論ですが)。
3DCGプログラミング上は…、トポロジー幾何学上では普通は…、
という枕詞付きでOKです。

ひとつ用途(みたいなもの)を示唆しますと、
アフィン変換などを使うときに困らない選び方はあるか?です。
適当に選ぶと回転操作のときに回転行列にマイナスが付きまくったりするのです。
もしかするとそれは軸の正の取り方というより「正回転方向」の取り方だけに依存するのかもしれませんが。

あとは、3次元軸の取り方が厳密に定義されている分野というのがあるのかどうかを知りたいのです。
2次元では「PCディスプレイ」という「下がy軸正、右がx軸正とするのがどう考えても便利」な分野があるので
自分がある軸方向を定義したときに、
「軸の取り方はPCディスプレイの一般的な座標と同じで…」
「軸の取り方はPCディスプレイの一般的な座標と違って…」
などと議論できます。
3次元バージョンでそんな分野はないでしょうか?
あれば、「軸の取り方は○○○分野の定義と同じで…」
のような議論ができるので知りたいのです。
「一般的にどの定義が一番良いか」でなくてもよく、
「この分野ではこういう理由で3次元座標の方向は厳密に定義されているよ」
みたいなものでよいので探しています。
(アフィン変換等の理由により、一般的にも便利な定義が唯一に存在するならそれに越したことはありません)

補足日時:2008/09/28 01:06
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございました。

お礼日時:2011/10/28 19:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!