2012-03-16 24 views
23

Tôi đã vẽ một hình chữ nhật. Tôi biết (x1, y1) trên cùng bên trái và (x2, y2) dưới cùng bên phải tọa độ .. Tôi cũng có chiều cao h và chiều rộng w của hình chữ nhật vẽ .. Làm thế nào tôi có thể tìm thấy các tọa độ trung tâm (x, y)?Cách tìm Center Coordinate of Rectangle?

Tôi hiện đang sử dụng công thức sau.

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

Nó cung cấp tọa độ y chính xác nhưng không may mắn trong x.

+0

LOL đáng tiếc -me! Tôi đã tham gia các tọa độ x sai :) – casper123

+7

Câu hỏi này dường như không có chủ đề vì đó là về toán học không liên quan đến lập trình. – Stijn

Trả lời

44
The center of rectangle is the mid point of the diagonal end points of rectangle. 
Here the midpoint is ((x1 +x2)/2 ,(y1 + y2)/2). 
that means xCenter = (x1 +x2)/2 
      yCenter = (y1 + y2)/2 

Hãy cho tôi biết mã của bạn.

+0

Tôi nghĩ rằng nó cũng có thể là - ((x1 * 2)/2, (y1 * 2)/2) –

17

Trung tâm x =
x + 1/2 chiều rộng
Trung tâm y =
y + 1/2 chiều cao

Nếu bạn biết chiều rộng và chiều cao đã sau đó bạn chỉ cần một bộ tọa độ.

2

Chúng tôi có thể tính toán bằng điểm giữa của công thức dòng,

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