タグ付けされた質問 「projections」

5
2D空間に投影された球体は常に楕円になりますか?
私の直感では、球体が2D空間に投影されると、結果は常に数学的に楕円(または縮退した場合は円)になります。 過去に私が積極的に自分のグラフィックプログラミングを行っていたときに、他の人々と一緒にこれを持ち出し、彼らは私が間違っていることを固く主張していました。私が正しく思い出せば、結果は漠然と「卵形」である可能性があると信じていました。 誰が正しかった? すでに1つの回答が送信されているため、質問を完全に変更するつもりはありませんが、長年にわたってこの分野に精通していないため、重要な詳細を省略してしまいました。 私は、投影が線形アプリケーションである透視投影について具体的に質問するつもりでした。 もちろん、他の投影法は多くの用途で興味深いので、この時点でそれらを削除したくありません。しかし、答えが最も顕著なセクションとして透視図法を持つことができれば素晴らしいと思います。

1
球面上で手続き型ノイズを生成するにはどうすればよいですか?
球体の表面に手続き型ノイズを生成したい(例:惑星または大理石のテクスチャボールを手続き的に生成する)。もちろん、標準のノイズアルゴリズムを使用してそれを球体にマッピングすることもできますが、これには、極または他の場所の歪みなど、球体に平面を投影するというすべての問題があります。 ボリュームノイズを生成し、球体を「切り取る」ことができると思いますが、これは不必要に効率が悪いようです。ノイズにグリッドベースのアーティファクトがある場合、これらは球体上に均一に表示されません。さらに、少なくともシンプレックスノイズの場合、3Dノイズから2Dスライスを切り取ることは、2Dノイズをすぐに生成することとは一般的に異なります。 これらの問題を回避する方法はありますか?例えば、球体にネイティブにノイズを生成することにより?ノイズは、少なくともパーリンノイズの品質、理想的にはシンプレックスノイズの品質を持つ必要があります。

1
地球の地平線の形状の公式の信頼できるソースが必要
私が求めているもの 私は式を求めていないことを強調します---私は式を知っており、それをどのように導き出すか。いくつかの異なるバージョンが投稿の終わり近くに再現されています。実際、他の誰かが同様に派生させただけでなく、ここで派生物の1つをうまく提示しました。 私が必要とするのは、公式の信頼できるソースです。たとえば、元の研究を報告することの禁止に違反することなくウィキペディアに載せることができます。[人々は実際に試してみました ...しかし、関連記事には非常に良心的な編集者がいて、元の研究であるという理由でこのセクションを削除しました...戦うために。] Computer Graphics StackExchangeに投稿する理由 ここの誰かが地球が軌道からどのように見えるかをモデル化したかもしれないので、おそらく彼または彼女は、この式(または、より一般的には、その一般化)が本、ジャーナル、会議議事録、またはクラスノートで公開されているかどうかを知っているかもしれませんなど 「グーグルによる」をやった 私に代わって答えを探しに行くように頼んでいるわけではないことを理解してください。私はすでに多くのグーグルを行っていますが、最後の手段としてここに投稿するだけです。私の(とてつもない)希望は、ここの誰かがすぐに参照を知っていることです。ない場合は...よく、私は(私はに興味がある人に話している完全な意識を持って、ので、自分自身を言うならば、少なくともあなたは以下のきれいな絵を楽しんで願って、コンピュータグラフィックス、あなたが大きく、より良い上へ移動する前に、すべての物事の)物事。 近づく2つのソース DKリンチ、「地球の湾曲を視覚的に識別する」Applied Optics vol。47、H39(2008)。ここから無料で入手できます。残念ながら、正しい方法で行うのではなく(それほど難しくはありません)、著者はハックを選択しました。(a)私は完全に理解しておらず、(b)私が知っていることに同意しません正しい式。 R. Hartley and A. Zisserman、コンピュータービジョンのマルチビュージオメトリ、第2版 (Cambridge University Press、Cambridge UK、2004)。秒で 8.3、「2次での射影カメラの動作」を読みました。 二次曲線が球体である場合、カメラの中心と二次曲線の間の光線の円錐は右円、つまり輪郭生成器は円であり、円の平面はカメラと球の中心を結ぶ線に直交します。これは、この線に関するジオメトリの回転対称性から見ることができます。球体の画像は、円錐を画像平面と交差させることにより取得されます。これが古典的な円錐曲線であることは明らかであるため、球体の見かけの輪郭は円錐曲線になります。 原則として、ほんの少しだけ多くの情報が含まれていれば、これはまさに必要なものです---少なくとも、球体までの距離と球体半径の関数としての円錐の離心率の表現画像平面が ピンホールカメラが地平線上の点に向けられている円錐の母線にである場合)。 学術的な参照が必要な式の詳細 大気のない完全に球形で完全に滑らかな地球を想定しています。理想的なピンホールカメラを水平線に向け、単純な中央投影を使用して、カメラの背面にある水平線の画像の形状(つまり、フィルム上での形状--- "フィルムプレーン")を計算します。 。これを明確にするグラフィック(興味のある人のためにAsymptoteで作成)を次に示します。 上で見たように、地平線の画像は円錐断面の一部です。してみましょう円錐の偏心なります。導出Iは、上記の代わりに、パラメータの使用K:ちょうど逆偏心であり、K = 1 / εを。偏心自体はε = 1 / √として与えられますεε\varepsilonkkkk=1/εk=1/εk=1/\varepsilon、ここでϵ=h/Rは、地球の表面上のピンホールの高度hと地球の半径Rの比です。【代わりに使用するεの比である、高度にRを、使用することが有用であり得るηの比率地球の中心にピンホールの距離、H+R:地球の半径、η=(R+Hを)/R=1ε=1/ϵ(2+ϵ)−−−−−−√ε=1/ϵ(2+ϵ)\varepsilon=1/\sqrt{\epsilon(2+\epsilon)}ϵ=h/Rϵ=h/R\epsilon=h/RhhhRRRϵϵ\epsilonRRRηη\etah+Rh+Rh+R。ηに関しては、 ε = 1 / √η=(R+h)/R=1+ϵη=(R+h)/R=1+ϵ\eta=(R+h)/R=1+\epsilonηη\eta ]。ε=1/η2−1−−−−−√ε=1/η2−1\varepsilon=1/\sqrt{\eta^{2}-1} ピンホール(図の点)からフィルムプレーンまでの距離は、1単位の長さと見なされます。PPP フィルムプレーンの軸は、地球の中心C(画像には表示されていません)とカメラがトレーニングされる水平線上のポイント(画像にVのラベルが付いている)を結ぶ線に平行になるように選択されます。線C Vはフィルム面に平行でなければならないため、この選択は明確です。これは、C Vとフィルム面の両方が視線P ...

2
四角形を長方形に投影解除する方法は?
tl; dr:射影ジオメトリの数学の問題:点A、B、C、Dがユニットボックスの端のどこかにあるように、以下に示すように投影を与える4x4カメラマトリックスをどのように見つけますか(例:OpenGL正規化デバイス)座標)、およびユニットボックスのコーナーは、光線EA、EB、EC、EDに沿って妥当な場所に落ちますか? (これは、ホモグラフィ、パースペクティブ、および/またはコリネーションの特殊なケースである可能性があります。用語に精通していません。) 精巧 ビューポート内に四角形のABCDがある場合、それを長方形にマッピングする一意の変換(?)が存在すると思います。下の画像に示すように、ビューポートの四角形のABCDは物理的な「ウィンドウ」として機能し、長方形にマッピングすると、歪んで表示されます。 (右側のボックスは、後で説明するNDCを表します) 目標は、右側の画像をすばやく取得することです。画像を取得するためにすべてのポイントをレイトレーシングできます(私はこれを行いました)が、ブレンドやプリミティブなどのようなものを利用したかったので、OpenGLまたは他の射影技法を使用したいと思います。 最初の試み 3 + 1次元の均一座標を3空間(左側)にし、それを2空間の2 + 1次元の均一座標(下)に投影する3x4 カメラマトリックスを見つける問題を解決できると思います。権利)。直接線形変換を使用してこれを解決し、カメラマトリックスの未知のエントリの方程式系を取得し、特異値分解を使用してシステムを解くことができます。Ba=0a(SVD)。私はベクトルEA、EB、EC、ED(Eはあなたの物理的な目またはワールドスペースのカメラ)をプレイメージのポイントとみなし、(0,0)、(1,0)、(1 、1)、(0,1)またはポストイメージ内のポイントとしての何か、およびポイントの各ペアは、SVDにプラグインするいくつかの線形方程式を与えます。結果の行列はEA->(0,0)などをマップします(十分な自由度があると仮定します。つまり、解が一意であるかどうかは不明です。注[a]を参照してください)。 しかし、私の悔しさにこれはOpenGLがどのように機能するかではありません。OpenGLは、3x4マトリックスで3dを2dに直接投影しません。OpenGLには、3次元の点である「正規化デバイス座標」(NDC)が必要です。NDCに投影した後、「ユニット」ボックス内の(-1、-1、-1,1)から(1,1,1,1)までのすべてが描画されます。外のすべてが切り取られます(同種の座標を扱っているため、任意の点(x、y、z、w)が画面に表示されるのは、(x / w、y / w、z / w 、1)は-1から1)までのユニットボックス内にあります。 したがって、問題は次のようになります。いくつかの奇妙に見える立方体を同次座標(具体的には、ABCD(フロントポイント)とA'B'C'D '(バックポイント、非表示)で左側に描かれた立方体)にマッピングする合理的な変換が存在しますか。フロントポイントの後ろに))ユニットキューブに、例えば4x4マトリックスを使用して?どうやってやるの? 私が試したこと 私はより強力なものを試しました:ABCDとA'B'C'D 'を通常のピラミッド型錐台(例:gl錐台)のように見せました(つまり、この架空の設定では、左側の画像に黒い長方形が重なっているだけです)四辺形ではなく)、DLT /直接線形変換を使用して、疑わしい4x4行列を解きました。しかし、試してみたところ、十分な自由度がないようでした...結果の4x4行列は、すべての入力ベクトルをすべての出力ベクトルにマップしませんでした。A、B、C、D、A '(5組の変換前ベクトルと変換後ベクトル)を使用している間、私は/ほぼ/私が望む結果を得ます...ベクトルは正しくマッピングされていますが、たとえばB'、 C '、D'は(-1、-1,1,1)ではなく(3,3,1,1)にマッピングされ、OpenGLによって切り取られます。6番目の点(4x4マトリックスが投影する6組の点)を追加しようとすると、私の解は縮退しているようです(ゼロ、無限)。ここではいくつの自由度を扱っていますか?これは、私たちが知っており、気に入っている通常の4ベクトル(3 + 1次元の同次座標ベクトル)をマッピングする4x4マトリックスで可能ですか? ランダムなマイナーな考え 4x4マトリックスで任意の立方体を任意の立方体にマッピングすることは不可能だと思いますが、2Dのような任意の凸四角形を他の凸四角形に2Dでマッピングすることは可能だと思ったので混乱します、例えば、Photoshop?...これは射影変換ではできませんか?そして、それはどのように3Dに一般化されますか?......また、4x4行列を見つける試みが失敗した場合、線形代数は、NxN行列が最良の場合にN個を超える線形独立点をN個の目標点にマッピングすることを期待すべきではないと言いますが、どういうわけか均一だと思いますいくつかの隠れた共線性が進行しているため、座標はこれをだますのですか?違いますか? 別の解決策? 典型的な錐台カメラの射影行列を使用して、コーナーに対応する2Dポイントを見つけ、2Dパースペクティブディストーションホモグラフィを実行することもできますが、それがピクセルがレンダリングされた後に発生した場合(フォトショップなど)解像度に問題があります...おそらく、仮説的にNDC空間内のXY平面でこの変換を実行するための行列を見つけ、それを通常の錐台ベースの行列で構成できますか? (注[a]:自由度:ABCDは、必要に応じて、長方形に作用する射影変換のポストイメージになるようにさらに制約できます...つまり、左側の黒い長方形は、画像フレームのクリップアートモデルを投影した結果)

1
正投影と透視投影の違いは何ですか?
私は、 『コンピュータグラフィックスの基礎』(ただし第3版)からコンピュータグラフィックスを研究しており、最後にプロジェクションについて読みました。しかし、正射投影と透視投影の違いは正確に理解できませんでしたか?なぜ両方が必要なのですか?また、透視投影において、正投影の前に適用される透視変換とは何かを学びたいと思います。最後に、なぜビューポート変換が必要なのですか?私はカメラ/視聴者が見ていない場合、我々はビュー変換を使う意味 -方向が、何ビューポートについては?− z−z-z


2
GPUが位置のためにクリップスペースZをWで分割するのはなぜですか?
背景: 正規の頂点変換を少し変更するだけで、線形深度バッファーを使用するのが非常に簡単であることがわかりました。最も簡単な方法は、https://www.mvps.org/directx/articles/linear_z/linearz.htmの下部にあります。 ただし、注意すべき点は、ニアプレーンまたはファープレーンに対してクリップする必要のない三角形に対してのみ機能することです。(そして、頂点シェーダーでパースペクティブ分割を実行する別の解決策は、他の4つの錐台平面に対して同様の問題を引き起こします。) クリッピングは4つのクリップ空間座標すべてで機能するために線形補間を必要とするため、頂点シェーダーのみを使用して線形深度を処理することは不可能だと思います。しかし、その理由はすべてZがWで除算されることにあります。 なぜそれが行われるのですか?XとYはカメラからの距離で分割する必要がありますが、Z座標はNDCボックスに完全にフィットするために分割されません。

1
3D空間の2D形状からアスペクト比を計算します
3D空間での2D形状の4つの座標を考慮して、そのアスペクト比を計算します。 3Dスペースは2つの消失点で作成されます。 青でマークされた4つの座標は、ディスプレイ上の2D座標です。この例では、おおよそ(14、5.5)、(19、5)、(20.3、7.3)、(25.3、6)になります。 これが可能かどうかは不明ですが、2つの異なるアスペクト比で2D座標が同じであるという証拠を誰かが見つけた場合、この問題は解決できません。 私の例:

2
この3D効果を生成するには、モデルにどの変換を適用する必要がありますか?
YouTubeで動画を見て、人が透明な結び目のあるピラミッドを使用して、スマートフォンで「ホログラム」を表示しました。(私はまだこれを再現することができていないので、それが機能するかどうかはっきりとはわかりません)。 モデルを考えると、この効果を生成するために必要なさまざまな投影を取得するためにどの変換を適用する必要があるのか​​と思いましたか。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.