問題タブ [rectangles]
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.
optimization - ダーティな四角形の最適セット
ここでは、特定のプログラミング言語に依存しないアルゴリズムを探しています。
問題:
2 次元の表示領域があります (ピクセルの単純なバッファを考えてください)。定期的に、一部のピクセルが変更されます。変更されたすべてのピクセルをカプセル化する長方形のセットを見つける必要があります。
変更されたすべてのピクセルをカプセル化する、潜在的に大きい単一の四角形を計算することは簡単ですが、望ましくありません。むしろ、指定された最小サイズ (変更可能な変数) まで、複数の、より小さく、ぴったりと収まる四角形を使用したいと考えています。
たとえば、表示領域全体で、左上隅の数ピクセルと右下隅の数ピクセルが変化したとします。領域全体の 1 つのダーティな四角形を計算する必要はありません。代わりに、2 つのダーティな四角形が必要です。1 つは左上に、もう 1 つは右下にあります。
パフォーマンスは重要であるため、この質問です。
この問題は、間違いなくビデオコーデックとリモートデスクトップ圧縮領域で常に発生していると思います. 私の場合、共有領域で複数のユーザーが同時に描画するグラフィカルな画像操作中に繰り返し発生する問題です。
これについて公開されているアルゴリズムを知っている人、または過去に使用したソリューションを知っている人はいますか?
ありがとう!
java - Java: 2 つの長方形の間の衝突を判断するのに役立ちます
特にコースワークの一環としてパックマンというゲームを作成していますが、長方形を使用した衝突検出に関して問題があります。
私が経験している問題は、画面上ではキャラクターが衝突していないことは明らかですが、交差をチェックすると、事実上常に true が返されることです。以下の出力は、私が何を意味するかを説明しています。
Pacman の詳細: x 17.0 y 16.0 Inky の詳細: x 22.0 y 13.0 intersects() 呼び出し後の衝突: true Pacman の詳細: x 18.0 y 16.0 Inky の詳細: x 23.0 y 13.0 intersects() の呼び出し後の衝突: true
Rectangles を次のように設定しました。
高さと幅はテスト目的でハードコーディングされていますが、これらは実際の画像サイズです。
JPanel が再描画されるたびに、次のように衝突をチェックしています。
この時点で、この問題を解決する方法についてのアイデアがほとんどなくなったので、アドバイスをいただければ幸いです。
algorithm - 重なり合うことなく四角形のセットをカバーする最小の四角形を見つけるためのアルゴリズム
四角形のセットがあり、そのセットを「縮小」して、元のセットと同じ領域を表す四角形の数を最小限に抑えたいと考えています。可能であれば、高速化も望んでいますが、長方形の数をできるだけ少なくすることに関心があります。私は今、ほとんどの場合に機能するアプローチを持っています。
現在、左上の長方形から始めて、長方形を維持したまま右と下に拡張できるかどうかを確認します。拡張できなくなるまでこれを行い、交差するすべての長方形を削除して分割し、拡張された長方形をリストに追加します。次に、左上にある次の長方形からプロセスを再開します。しかし、場合によってはうまくいきません。例えば:
この 3 つの四角形のセットを使用すると、正しい解は次のように 2 つの四角形になります。
ただし、この場合、私のアルゴリズムは青い四角形を処理することから始めます。これは下に展開し、黄色の長方形を (正しく) 分割します。しかし、黄色の四角形の残りの部分が処理されると、下に拡張するのではなく、最初に右に拡張し、以前に分割された部分を取り戻します。次に、最後の四角形が処理され、右にも下にも拡張できないため、元の四角形のセットが残されます。アルゴリズムを微調整して、最初に下に展開し、次に右に展開することができます。これでこのケースは修正されますが、反転した同様のシナリオで同じ問題が発生します。
編集:明確にするために、元の長方形のセットは重ならず、接続する必要はありません。また、長方形のサブセットが接続されている場合、それらを完全に覆う多角形に穴が開く可能性があります。
java - 回転した長方形のJava衝突検出?
私は最初のJavaゲームを書いていますが、これまでのところ:
WSAD で歩き回れる四角形を作成しました。彼は常にマウスが指している方向を向いています。また、クリックすると、マウスが指している場所に弾丸が発射されます (弾丸はその方向に回転します)。私はあなたの周りを追いかける敵も作りました.彼らはあなたのキャラクターに向かって回転します. 私が抱えている問題は、私が書いた衝突検出が、回転する前のオブジェクト (キャラクター、敵、弾丸) の衝突のみを検出することです (.intersects() を使用)。これは、描画時に体の一部が重なることを意味します。
私は周りを見回してきましたが、自分の状況に理解できる、または適用できる解決策が見つかりませんでした。これまで、各オブジェクトの Graphics2D グリッドを回転させてきたので、実際には回転しているのではなく、引き出されているだけです。実際に形状を回転させてから .intersects() のようなものを使用する方法はありますか?
ヘルプや提案をいただければ幸いです。
x軸上を移動して衝突するかどうかを確認するために使用するものは次のとおりです。
algorithm - 画像を小さな画像に分割して空白の量を減らし、最大量の長方形を指定するアルゴリズム
いくつかの制約付きで、画像を小さな画像に分割できるアルゴリズムを探しています。制約の 1 つは、空のピクセルを意味する「空白」を最小限に抑えることです。もう 1 つは、分割する画像の最大量を指定することです。
たとえば、下の画像を見てみましょう。その中にはたくさんの「空白」があります。この画像を他のいくつかの画像に分割して、この画像が占めるメモリの量を減らし、この画像が必要とする「描画」の量を減らしたいと思います。
画像を最大4つの画像に分割したいとしましょう。可能な解決策は以下のようになります。
誰かがこれのためのアルゴリズムを持っているか、これを行うアルゴリズムの名前を知っていますか? しばらく探していて、関連するアルゴリズムをいくつか見つけましたが、見つけたアルゴリズムは空白を考慮していません。たとえば、画像を非透明ピクセルのみをカバーする長方形に分割し、膨大な量の長方形になります。私が扱っている実際のデータは 1024*1024 ピクセルの画像であり、それらを最大 16 の部分に減らしたいと考えています。秘訣は、最小限の空白を使用して 16 個の画像を抽出することです。
c# - StackPanel の四角形
スタックパネルに複数の四角形を挿入しようとしていますが、「要素は既に別の要素の子です。」というエラーが表示され続けます。キャンバスを使用しても同じことが起こります。
例:
...いくつかの長方形をリストに入れます
長方形を水平方向に動的に挿入できるようにしたい。インターネットによると、私はこれを(少なくとも手動で)できるはずですが...
どうしよう、どうしよう。:)
collision-detection - 回転した長方形を使用した衝突処理
私は小さな2Dゲームを開発しようとしています。パースペクティブはトップダウンのようであるため、プレーヤーのハドのみを見ることができます。WASDを使用してプレーヤーを移動すると、プレーヤーの中央にある彼と彼の衝突ボックスがマウスの位置に回転します。世界には、プレイヤーが衝突できる回転した壁がいくつかあります。
長方形を2回転させて衝突検出する機能がありますが、どうしたらいいのかわかりません。
誰かに機能があり、2つの回転した衝突ボックスを取得して正しい位置に戻します。または誰かがそのような問題の例を持っていますか?
screen - OCR 用の画面の特定領域の画面キャプチャ
OCRで使用できるスクリーンキャプチャを実現する方法について、ライブラリやアイデアを知っている人はいますか?
私が必要としているのは、画面上に 3 つまたは 4 つの長方形を記録できるようにすることです (これらの領域の外側は無視します)。これを使用して、ある時点でこれらの領域内に表示されるテキストを認識できます。
理想的には、vb.net / c#.net または同様のものが役立ちます...
誰かがこれに関する経験を持っていますか、それとも有益なアドバイスを提供できますか?
どうもありがとう
wpf - 四角形の RadiusX を四角形の ActualHeight にバインドし、Expression Blend 4 (または VS) で数値を掛けるにはどうすればよいですか?
現在、私は「不正行為」をしており、次のものを使用しています。
これx:Code
は実行時に完全に機能し、私が望むものを達成します。しかし、私は本当に次のようなことをして、すぐに変更したいと思ってArtboard
います:
しかし、これを含める方法はありません.5*(...)
。これを達成する別の方法はありますか?
wpf - WPFの四角形でUIElementsを見つけるにはどうすればよいですか?
UIElement
(rectangle/area/bounds) で sを見つける必要があります。
私は次のことをやっています:
- マウスダウンを開始位置として登録します。
- マウスアップ位置を登録します。
- ここで、開始位置と終了位置の間の長方形で ll (ボタン、テキストボックスなど) を見つける必要があります。
私はmsdnでHitTest
アプローチを見つけましたが、それは一点だけです。作成された四角形のすべてのポイントを歩くと、パフォーマンスが低下すると思います。
http://msdn.microsoft.com/en-us/library/ms752097.aspx
MVVM パターンに基づく私のコード:
他のアイデアやより良いアプローチはありますか?
ありがとう