問題タブ [2d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 球面上の光線とポリゴンの交点
ポイント (緯度/経度) と、このポイントが移動する方向 (真北) を度単位で持っています。凸面である場合とそうでない場合がある多数の静止ポリゴン (緯度/経度で定義されたポイント) があります。
私の質問は、ポリゴンとの最も近い交点がある場合、どのように計算するかです。レイ トレーシングに関する紛らわしい投稿をいくつか見てきましたが、レイとポリゴンが同じ平面上になく、ポリゴンが凸状でなければならない場合、それらはすべて 3D に関連しているようです。
c++ - glCopyTexSubImage2D が正方形を正しくコピーしないのはなぜですか?
ここに出力があります: http://i43.tinypic.com/9a5zyx.png 物事が私が望むように機能していれば、左の四角の色は右の四角の色と一致します。この件に関して何か助けてくれてありがとう
math - シンプルな物理ベースの動き
私はいくつかの基本的な物理コードを使用してオブジェクトを最高速度に加速しようとしている 2D ゲームに取り組んでいます。
その擬似コードは次のとおりです。
これは、質量や実際の摩擦に依存しない非常に単純化されたアプローチです (コード内の摩擦は、動きに対して作用する単なる一般的な力です)。「速度 *= 摩擦;」としてうまく機能します。一部は、速度が特定のポイントを超えないようにします。しかし、私が少し迷っているのは、この最高速度と、加速と摩擦との関係です。
私がやりたいのは、最高速度とそれに到達するのにかかる時間を設定し、それらを使用して加速度と摩擦の値を導き出すことです。
つまり、
iphone - iPhone の Quartz 2D で回転変換を行うときに原点を移動できますか?
これが明らかであるか、他の場所でカバーされている場合は申し訳ありませんが、私は一日中グーグルで検索しており、実際に機能する解決策を見つけていません.
私の問題は次のとおりです。現在、フルスクリーンの UIView で画像を描画しています。たとえば、画像が UIView の右下隅にあるとします。その画像の中心で回転変換(CGAffineTransformMakeRotation)を実行したいのですが、デフォルトでは、回転コマンドはUIView自体の中心を中心に回転します。その結果、回転すると、画像が所定の位置にとどまり、独自の中心を中心に回転するのではなく、画像が画面の周りを移動します。
私が収集したものから、原点(UIViewの中心)が画像の中心になるようにコンテキストを翻訳し、回転させてから、元の場所に翻訳してコンテキストを復元する必要があります。
以下は、私が作業した最も近いものですが、問題は、画像が回転している間、回転中に下に移動することです。これは、移動の開始点と終了点が同じになることに気付くのではなく、最初のステップの移動と 3 番目のステップの移動をアニメーションでトゥイーンすることが原因だと思います...
CGContextTranslateCTM や CGContextSaveGState/UIGraphicsPushContext なども試しましたが、ほとんど効果がないようです。
私はこれと何日も戦ってきましたが、現在の解決策は近いようですが、その翻訳トゥイーンを取り除く方法がわかりません。これに対する解決策、またはこれを行うためのより良い方法はありますか?
[更新]当分の間、UIviewの中心を中心にして画像を描画し、UIView.centerプロパティを回転させたい原点に設定してから、回転コマンドを実行しています。ちょっとしたハックのように思えますが、実際の翻訳が機能するようになるまでは、それが唯一の選択肢です。ありがとう!
c++ - コーナー スティッチ データ構造、オープン ソースの実装はありますか?
角縫いのデータ構造について何年も前に学んだことを思い出し、それ以来ずっと魅了されてきました。これは、Ousterhoutの論文に端を発しています。
私は検索しましたが、フリー/オープンな実装を見つけることができませんでした。私は C++ 実装を好みますが、この時点では、人々が持っている可能性のあるポインターをすべて受け入れます。
注: コーナー ステッチ データ構造は、挿入された要素間の空白を明示的に維持しながら、2 次元の四角形データを格納する方法です。これは、挿入されたデータ要素を格納するだけの四分木とは対照的です。多くのトレードオフがあります。私は主に実装に興味がありますが、同様のプロパティを持つ代替手段も受け入れます。
c - Cで2D畳み込みを実装する高速な方法
9x9のラプラシアンオブガウスフィルターを使用したプレフィルターステージを含むビジョンアルゴリズムを実装しようとしています。高速フィルターの実装を簡単に説明しているドキュメントを指摘できますか?最も効率的なフィルタリングにはFFTを利用する必要があると思います。
iphone - iPhoneで複数のアニメーションを作成するにはどうすればよいですか?
ゲームの複数のピースをアニメーション化したいのですが、それらのピースを異なる方向に移動させたいので、ビュー全体をアニメーション化する現在の方法は機能しなくなります。
一度に複数のアイテムをアニメーション化するためのベストプラクティスは何でしょうか。(私は2Dでレンダリングしているので、現在3Dソリューションには興味がないことに注意してください。)
ありがとう!
c++ - 2つのエッジの交差を計算します
2D空間のエッジと頂点のこの大きなグラフがあります。大きなグラフは、C++ライブラリで計算された関数によって返されます。私はこのグラフを読み、それを使用してそのエッジのすべての交点(線のセグメント)を計算しています。スイープアルゴリズムを使用します。2つのエッジの交差を検出するために、いくつかの問題があります。2つのエッジが交差するかどうかをテストし、肯定的な場合はそれらの交差を計算して保持する4つの異なる方法があります。
2つのエッジがポリゴンの対角線であるかどうかをテストするもの。つまり、もう一方の線の方程式に挿入された一方の線のエッジの座標は、異なる符号を持っています。
毎回交差点を計算し、見つかった交差点が両方のセグメントの端点の間にあるかどうかを確認するもの。
ただし、C++で実装されたこのリンクのコードです。
この質問でJasonCohenによって提案された最初の方法を実装するもの 。
「問題はこの質問に帰着します:AからBとCからDの2本の線が交差しますか?それからあなたはそれを4回尋ねることができます(線と長方形の4つの辺のそれぞれの間)。
これを行うためのベクトル数学です。AからBへの線が問題の線であり、CからDへの線が長方形の線の1つであると仮定します。私の表記では、Axは「Aのx座標」であり、Cyは「Cのy座標」です。また、「*」は内積を意味します。たとえば、次のようになります。
このh番号が鍵です。hが0と1の間にある場合、線は交差します。そうでない場合、線は交差しません。F Pがゼロの場合、もちろん計算はできませんが、この場合、線は平行であるため、明らかな場合にのみ交差します。正確な交点はC+ Fhです。hが正確に0または1の場合、線は終点で接触します。これは「交差点」と見なすことができますが、適切と思われる場合はそうではありません。」
私が作成したデータ(2倍の値を持つ小さなデータ)については、実装された4つのメソッドすべてで良好な結果が得られました。大きなグラフのデータに対してC++で実装されたこれらのメソッドのいずれかを使用すると、毎回異なる結果が得られますが、良い結果は得られません。
メソッドは、必要な交差点をはるかに多く返します(すべてのポイントがグラフ上にあります)が、取得するポイントが多すぎます。
何があっても常に0の交差点を取得します。
1よりもはるかに多くの交差点があります。
いくつかの例では、グラフ上にない(交差点でさえない)ポイントを取得します。しかし、いくつかの例では、交点と他のいくつかの点を取得します。
問題がどこにあるのかわかりません。交差点を計算してテストする方法に関する提案やその他のアイデアは、歓迎される以上のものです。ありがとう、マダリーナ