Как найти координату центра прямоугольника?

Я нарисовал прямоугольник. Я знаю его (x1, y1) верхние левые и (x2, y2) нижние правые координаты. У меня также есть высота h и ширина w нарисованного прямоугольника. Как я могу найти координаты центра (x, y)?

В настоящее время я использую следующую формулу.

(x,y) = (x2 + x1)/2, (y2+y1)/2

Это дает правильную координату y, но не повезло с x.


person casper123    schedule 16.03.2012    source источник
comment
LOL жаль меня! Я брал неправильные координаты x :)   -  person casper123    schedule 24.03.2012
comment
Этот вопрос кажется не по теме, потому что он касается математики, не связанной с программированием.   -  person user247702    schedule 26.03.2014
comment
В программировании есть такая вещь, как математика, и поэтому иногда то, как вы получаете этот математический результат, может потребовать некоторого объяснения того, как его достичь на языке, на котором вы программируете. Я не думал, что это совсем не по теме.   -  person Fütemire    schedule 15.07.2019


Ответы (3)


Центр прямоугольника - это середина концов диагоналей прямоугольника.

Здесь середина ( (x1 + x2) / 2, (y1 + y2) / 2 ).

Это означает:
xCenter = (x1 + x2) / 2
yCenter = (y1 + y2) / 2

Дайте мне знать ваш код.

person Prasad G    schedule 16.03.2012
comment
Я думаю, что это также может быть - ( (x1*2)/2 , (y1*2)/2 ) - person Orlov Andrey; 29.10.2016

Center x = x + 1/2 of width

Center y = y + 1/2 of height 

Если вы уже знаете ширину и высоту, вам нужен только один набор координат.

person frog    schedule 21.09.2013

Мы можем рассчитать, используя формулу средней точки линии,

centre (x,y) =  new Point((boundRect.tl().x+boundRect.br().x)/2,(boundRect.tl().y+boundRect.br().y)/2)
person Vinayak    schedule 21.11.2013