0

ここ数時間、私は小さな四角形から任意の角度で四角形を作ろうと試みてきました。私はこのようなことを想像しましたhttp://i.stack.imgur.com/Ymakk.png

[ 黒い線は構築された長方形の輪郭を表し、赤い線はそれを構築する三角形を表します。赤い長方形も完全にまっすぐにする必要があります。]

明らかに、レンダリングしようとするときに非常に小さなインクリメントがない限り、あまり定義されたようには見えませんが、最終製品は、所定の角度で長方形のように見えることを願っています.

画面は、左上隅が (0, 0) で、右下隅が (1, 1) になるように設定されています。どうすればいいですか?実際のコード、疑似コード、または説明を特に探しているわけではありませんが、おそらくいくつかの数学..素晴らしいでしょう! 前もって感謝します。

4

1 に答える 1

0

ここにちょっとしたジオメトリがあります:

長方形が完全に揃っていれば、大きな長方形を 1 つ描くだけで勝ちです。

どの角度から見てもわずかでも線は単純な方程式で表現できます

y = m * x + c

ここで、両方のエッジの x と y を挿入して m と c (実際には非常に簡単な手順) を計算するか、m = tan(角度) を計算できます。

次に、y、c、および m の値を方程式に挿入して x を解くことにより、y 座標を「ただ」下って、長方形に属する左右の線上の対応する x 位置を取得できます。

長方形の画像を見ると、基本的に 3 つの部分があることがわかります。最初の部分は、下から左下端まで続いています。それは左側の長辺をたどり、左側でエッジに遭遇します。その後、両方の短辺を右にたどり、右上端に出くわして左上隅に上がります (もちろん、これを上から下に行うこともできます)。

左側または右側の 2 つの線の間の端に到達したかどうかを注意深く確認し、適切なタイミングで m と c の値を切り替える必要があります。

これで解決に近づくと思います

于 2013-07-14T21:19:59.147 に答える