質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • C

    3668questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

画像の距離 長さ 角度による 差分について(言語の指定はありません)

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 319

meeeei0000

score 1

高さ1m 太さ30cm の円柱状のものを 高さ50cm 距離1m から撮影した場合
水平地点Aと 円柱の上部Bでは 写真上で どれだけ幅に差が生じますか?
また、その差の求め方もご存じでしたら 教えていただきたいです。

イメージ説明

※言語の指定はありません。
タグは指定が必須だったので暗示的に指定しました。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+3

円柱方向のどの高さでも視点からみた円柱の幅として見えている境界上の点は円柱の中心から同じ距離(=15)だけ離れているので、A,Bでの境界上の点と視点からの距離の比率の逆数が投影面(写真画像)上の長さの比率になると思います。そう考えると・・・

ratio = ((100^2 - 15^2) / (100^2 - 15^2 + 50^2))^0.5

写真上、Bの幅はA*ratioだけの幅になると思います。


なお、x^yはべき乗のつもりです。

レンズのゆがみ(?)の専門知識はないので等距離射影方式(魚眼レンズ)を仮定し、円柱のA地点での中心点を原点、画面上をY軸、原点から視点方向をZ軸として、空間上の座標x,y,zを

distance = (x^2 + y^2 + (100 - z)^2)^0.5
x' = x / distance
y' = y / distance

のように計算した結果のx', y'が写真上の座標になると仮定してます。

Fig.1

図で赤の線分が円柱の幅として見える長さで、矢印の線分が視点からの距離です。実空間上で同じ長さの線の写真上の長さは視点からの距離に反比例して見えるという考え方の投影方法です。上の回答は魚眼レンズみたいなゆがんだ画像になります。

なお・・・CG(普通のカメラも?)は中心射影方式という別の方法(distanceを単にz座標のみで決定)がむしろ一般的で注視点を円柱の中心として投影するとA,Bの長さは変わらなくなります。むしろそっちが正解なのかも知れませんが、それだと回答として面白くありません。

そこで魚眼レンズ(いいかえれば、Aを注視点として撮影した写真とBを注視点として撮影した2枚の写真に写った円柱の幅を比較する)としました。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/30 01:34

    このような曖昧な質問に回答いただきありがとうございます。

    ratio = ((100^2 - 15^2) / (100^2 - 15^2 + 50^2))^0.5
    を計算した結果 25000.89 このような数字が出てきたのですが、何をあらわしているのでしょうか
    写真上で Aの部分の幅が 10cm だったとすると 10cm * ? となると言うことでしょうか

    予備知識が全くない状態で質問してしまったことを少し後悔しています。
    せっかく丁寧に説明いただけのにも関わらず、半分も理解出来ていません。すみません。
    このまま、わからないことを全て聞いていては いつまでたっても解決しそうにないので参考サイトなどを教えていただけると助かります。

    >>レンズのゆがみ(?)
    この辺りのことまで考えようとはしていないので、全く問題ありません。

    キャンセル

  • 2017/01/30 02:22 編集

    ratioは0.892375488ぐらいになります。A部分の写真上の幅が10cmならBは8.92...cmということですね。

    自分の回答は丁寧な説明とはいいがたいですが、計算自体はピタゴラスの定理なので、どこに補助線を引くかがポイントです。ピタゴラスの定理、直線の距離等々で検索すると色々な解説ページがあると思います。ただ数学が苦手なら数学・幾何が得意な人に紙に絵をかきながら教わると一番わかりやすいと思います。絵なしに言葉で説明するのは説明をする側もされる側もわけがわからなくなりそうですね。
    本件は補助線かいても複雑な図にはならないので絵を追加してみました。

    キャンセル

  • 2017/01/30 13:19

    わかりやすい図まで書いていただき有難うございました!
    おかげでイメージとして確認することが出来ました。

    >>幾何が得意な人に紙に絵をかきながら教わると一番わかりやすいと思います。
    教えて貰えれば良かったのですが、残念ながら詳しい人が周りにいませんでした・・・

    >>ピタゴラスの定理、直線の距離等々で検索すると色々な解説ページがあると思います。
    基礎から全く理解していなかったので、検索して勉強してみたいと思います。

    基礎を学んだ後、またわからない点が出てくるかも知れませんが、その際は宜しくお願いします!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • C

    3668questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。