最終的にエリアがどのように見えるかは重要ではなく、そのサイズは両方のエリアを組み合わせたものと同じであることが重要です。近付い無限の可能性がそうでない場合とがある
、私はあなたが(0.5,80000)
ではなく、よりバランスのとれた(200,200)
のような愚かなベクトルで終わらない単純な理由で、x = y
結果に自分自身を制限するつもりです。面積を計算
float result_area = first_area + second_area;
簡単です:あなたは代数的にそれを見たときに
は、これはすべてのことは難しいことではありません
float area = myVector.X * myVector.Y;
このようにも簡単面積の合計をレンダリング:
float result_area = myFirstVector.X * myFirstVector.Y + mySecondVector.X * mySecondVector.Y;
たとえば、first_area = 50
ととしましょうとなり、結果としてresult_area = 400
となる。
float theSquareRoot = Math.Sqrt(result_area);
myResultVector.X = theSquareRoot;
myResultVector.Y = theSquareRoot;
私が言ったように、他の多くの可能な結果のベクトルがあります。
は、我々は結果x = y
に限定されているので、結果は平方根エリアのです。他のケースでは、与えられた比率を定義する必要があります(たとえば、1 : 4
の割合は同じ例では(10,40)
となります)。しかし、計算が少し難しくなります。とにかく正確な形。
平方根を計算することなく、X = result_area
とY = 1
(またはその逆)のベクトルを作ることもできます。
あなたはそれを強調したことに注意してください。オブジェクトの面積は一次元の値(数値)です。 2次元値(数字の組)を使って表現しています。
特定のX/Y値については気にしないので、可能な限りベクトルを避けることをお勧めしますので、不必要に複雑にしないでください。
いくつかのコード例を追加すると、より多くの感覚が得られます –
あなたが達成しようとしているものの画像も参考になります。 – ryeMoss
私は写真をアップロードし、より明確に私の問題を説明しようとしました – Zarazas