与えられた長方形内subtriangleを識別するためにどのように長方形の座標
-
22-09-2019 - |
解決
aboveRed = x*h > y*w;
aboveGreen = (w-x)*h > y*w;
if (aboveRed)
{
if (aboveGreen) return "C"; else return "B";
}
else
{
if (aboveGreen) return "D"; else return "A";
}
他のヒント
グリーンラインの式:h * x + w * y = h * w
赤い線の式:x * h - y * w = 0
Public Function GetTriangleNumber(ByVal x As Integer, ByVal y As Integer)
As Integer
Dim overGreenLine As Boolean = ((((h * x) + (w * y)) - (h * w)) < 0)
Dim overRedLine As Boolean = (((h * x) - (w * y)) > 0)
If overGreenLine Then
Return IIf(overRedLine, 2, 3)
End If
Return IIf(overRedLine, 1, 0)
End Function
私は左上と右上の角からポイントまでの線の角度を検討します。それは両方の場合に45度未満(エッジの基部方向を調整)である場合、点はC.他の組み合わせであり、他の3つの三角形をカバーします。
線の長さの比率はあなたに十分な情報(と罪(45)...というか罪(PI / 4を与えるように、あなたが実際に)、これを実行するために計算逆三角関数を必要としないです固定値)。
所属していません StackOverflow