マンガでよめる痔のこと・薬のこと

∧ ←この2直線の交わる角度をθ(radian)とします。
   これを横や斜めから写真に収めると違った角度に見えますね。
   右にα(radian)、上にβ(radian)の角度から見た場合、何度になるのでしょうか。
   計算式をお願いします。

A 回答 (3件)

#2です。


すみません、あくまでも「計算方法」についてということですね。
失礼しました。

極座標系の角度をα, β、2直線に関する角度をθ, φで表すことにします。

・まず、球面上の「x軸から角度:α、z軸から角度:βの点」の座標を求めると、
その成分が原点とその点を結ぶ位置ベクトルとなり、
そのまま、接平面の法線ベクトルになります。
点の座標は、(sinβ* cosα, sinβ* sinα, cosβ)となります。
(wikipediaの「極座標系-球座標」を参照してください。)

・あとは、2直線の射影を考えるわけですが、
その前に 2直線のうち一方の「傾き」を決めておかないといけませんね。
x軸となす角をφとします。
この方向ベクトルは、(1, tanφ, 0)(xy平面上)と表すことができます。

・そして、この直線と角θをなすもう一方の直線について
方向ベクトルは、(1, tan(φ+θ), 0)と表すことができます。

・あとは、これら 2つの方向ベクトルの射影を求めればいいですね。

いまは時間がないので、時間ができれば計算してみようと思います。
    • good
    • 0

おおまかな方法として、次のような感じでしょうか?



「見かけの 2直線」は、視線と垂直な面に射影したものになると思います。

「右にα(radian)、上にβ(radian)の角度」と書かれていますが、
「右」というのがあいまい(どちらから見て?)になるので、
極座標(球座標系)を用いて表すのがよいと思います。

・どれだけ離れてみるかということは、角度には関係ないので半径:r= 1としておいて
・x軸から角度:φ、z軸から角度:θの点における半径に垂直な平面(=球面に接している平面)を考え、
・その平面への射影を求める

という手順になると思います。
計算は・・・結構大変かもしれないですね。^^;
    • good
    • 0
この回答へのお礼

稚拙な説明で申し訳ありませんでした。まさに
>・どれだけ離れてみるかということは、角度には関係ないので半径:r= 1としておいて
>・x軸から角度:φ、z軸から角度:θの点における半径に垂直な平面(=球面に接している平面)を考え、
>・その平面への射影を求める
です。計算方法を考えているのですが複雑ですね。

お礼日時:2010/01/26 17:27

http://www.nc-net.or.jp/mori_log/detail.php?id=1 …
あたりが参考になるかも(?)。

射影で云々考えればちゃんと導けそうです。
    • good
    • 0
この回答へのお礼

参考サイトありがとうございます。
射影の考え方が少しわかりました。

お礼日時:2010/01/26 17:23

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q走向 傾斜?

地学の問題で「A地点の走向・傾斜がN50E・45Sであった」とあるのですが、意味がわかりません

どのような意味なのでしょうか?宜しくお願いします

Aベストアンサー

おはようございます。

走向と傾斜は、普通はその地点での地層などのようすを
表現するのに使われます。

いったいその場所で、地層がどんなふうになっているのか。
そのためには、
地層が水平ではなくどれくらい傾いているか、
そしてその傾きがどっちに向いているか、
これがわかればいいのです。

45Sというのは「傾斜」で、
南向きに45度の角度で下がっているような傾斜であるということです。
傾斜の方向がまったく正確に南なら、これだけでOKなのですが、
この場合は(北に落ちるのではなく)南のほうに落ちるんだよ、くらいの意味しかありません。

地層の「向き」を表現したものが「走向」です。
その地層と水平面との交線がどっちを向いているかで、その地層の向きのようすをあらわします。
N50Eというのは、
北から「東 の ほ う に」50度という意味だと思いましたが・・・
(これはS50Wでも同じ意味です)

例えばある薄い石炭の層があり、その走向がN50Eであるなら、
その石炭の層が(傾いた)平面であれば、
ひろい平野の中で、北から50度の方角に向かって
石炭層が伸びていることになります。

走向・傾斜で検索すれば、
図入りのWEBサイトがヒットすると思いますので、
してみて下さい。

では。

おはようございます。

走向と傾斜は、普通はその地点での地層などのようすを
表現するのに使われます。

いったいその場所で、地層がどんなふうになっているのか。
そのためには、
地層が水平ではなくどれくらい傾いているか、
そしてその傾きがどっちに向いているか、
これがわかればいいのです。

45Sというのは「傾斜」で、
南向きに45度の角度で下がっているような傾斜であるということです。
傾斜の方向がまったく正確に南なら、これだけでOKなのですが、
この場合は(北に落ちるので...続きを読む

QEXCEL VBAのユーザーフォームに引数を渡す方法について

すいません、EXCEL VBAのユーザーフォームに引数を渡す方法についてご質問があります。

シート上にコマンドボタンを2つ用意する。
コマンドボタン1を押すと変数mは1
コマンドボタン2を押すと変数mは2
としてユーザーフォームを呼び出す。

Public m As Integer
Private Sub CommandButton1_Click()
 m = 1
 Call フォーム呼び出し(m)
End Sub

Private Sub CommandButton2_Click()
 m = 2
 Call フォーム呼び出し(m)
End Sub

Sub フォーム呼び出し(m As Integer)
 UserForm1.Show
End Sub

次にユーザフォームにコマンドボタンを1個置き、
ボタンを押したとき、mが1であれば「ボタン1」
mが2であれば「ボタン2」
とメッセージボックスを出し、ユーザーフォームを閉じる。

Private Sub CommandButton1_Click()
  If m = 1 Then
   MsgBox "ボタン2"
  ElseIf m = 2 Then
   MsgBox "ボタン2"
  End If
 Unload UserForm1
End Sub

プロシージャ間の引数渡しは色々なテキストに載っているのですが
ユーザーフォームに引数を渡す方法はどうも見つからず、
Private Sub CommandButton1_Click(m)
としても、コンパイルエラーとなってしまいます。
よろしくご教示をお願いいたします。

すいません、EXCEL VBAのユーザーフォームに引数を渡す方法についてご質問があります。

シート上にコマンドボタンを2つ用意する。
コマンドボタン1を押すと変数mは1
コマンドボタン2を押すと変数mは2
としてユーザーフォームを呼び出す。

Public m As Integer
Private Sub CommandButton1_Click()
 m = 1
 Call フォーム呼び出し(m)
End Sub

Private Sub CommandButton2_Click()
 m = 2
 Call フォーム呼び出し(m)
End Sub

Sub フォーム呼び出し(m As Integer)
 UserForm1...続きを読む

Aベストアンサー

こんばんは。

引数の渡し方には二種類ありますから、それを混乱しているのだと思います。必ずしも、以下の方法が良いというわけではありませんが、UserForm の立ち上げに対して、渡しようがない場合は、プロジェクト・スコープの変数を用いて、以下のようなスタイルで変数として渡すのが良いのではないかと思います。

'-------------------------------------------
'標準モジュール

Public m As Integer

'-------------------------------------------
'シートモジュール

Private Sub CommandButton1_Click()
 m = 1
 Call フォーム呼び出し
End Sub

Private Sub CommandButton2_Click()
 m = 2
 Call フォーム呼び出し
End Sub

Sub フォーム呼び出し()
 UserForm1.Show
End Sub

'-------------------------------------------
'UserForm モジュール

Private Sub CommandButton1_Click()
 MsgBox "ボタン" & m & "が押されました。", vbInformation
 Application.Wait Now + TimeSerial(0, 0, 1)
 Unload Me
End Sub

こんばんは。

引数の渡し方には二種類ありますから、それを混乱しているのだと思います。必ずしも、以下の方法が良いというわけではありませんが、UserForm の立ち上げに対して、渡しようがない場合は、プロジェクト・スコープの変数を用いて、以下のようなスタイルで変数として渡すのが良いのではないかと思います。

'-------------------------------------------
'標準モジュール

Public m As Integer

'-------------------------------------------
'シートモジュール

Private Sub CommandBu...続きを読む


人気Q&Aランキング