2016-07-30 4 views
-3

Я просто здесь, я хочу спросить формулу, чтобы рассчитать получение боксов, если она включена или нет.Функция или формула для вычисления 2 стороны бокса

enter image description here enter image description here

мне нужна формула, чтобы знать, если box2 или box1 находятся в одних и тех же сторон

+0

Значит, box2 должен быть в пределах ширины box1? В красных линиях? – MasterXD

+1

Я не могу понять смысл вопроса. –

+1

@DavidHeffernan, мое лучшее предположение о том, чтобы выяснить, имеют ли два внутренних прямоугольника коллинеарные вертикальные стороны (что довольно тривиально в декартовых координатах). –

ответ

0

Если я правильно понял ваш вопрос, вам нужен метод, который проверяет, если две коробки (прямоугольники) являются выровнен (слева или справа)? Вот очень быстрое решение:

public enum Side { 
    Left, 
    Right 
} 

public bool CheckIfAligned(Rect box1, Rect box2, Side side) { 
    if(side == Side.Left) 
     return box1.Location.X == box2.Location.X; 
    else // side == Side.Right 
     return box1.Location.X + box1.Width == box2.Location.X + box2.Width; 
} 
+0

На самом деле 2 коробки перемещаются внутри основной коробки, так что, если оба box1 и box2 имеют ту же сторону, что и влево или вправо, то это формула, которую я ищу, спасибо. –

Смежные вопросы