Tôi đang cố gắng viết chương trình C ++ lấy các đầu vào sau từ người dùng để xây dựng hình chữ nhật (từ 2 đến 5): chiều cao, chiều rộng, x-pos, y-pos. Tất cả các hình chữ nhật này sẽ tồn tại song song với trục x và trục y, đó là tất cả các cạnh của chúng sẽ có độ dốc bằng 0 hoặc vô cùng.
Tôi đã cố gắng thực hiện những gì được đề cập trong câu hỏi này nhưng tôi không gặp nhiều may mắn.
Việc triển khai hiện tại của tôi thực hiện như sau:
// Gets all the vertices for Rectangle 1 and stores them in an array -> arrRect1
// point 1 x: arrRect1[0], point 1 y: arrRect1[1] and so on...
// Gets all the vertices for Rectangle 2 and stores them in an array -> arrRect2
// rotated edge of point a, rect 1
int rot_x, rot_y;
rot_x = -arrRect1[3];
rot_y = arrRect1[2];
// point on rotated edge
int pnt_x, pnt_y;
pnt_x = arrRect1[2];
pnt_y = arrRect1[3];
// test point, a from rect 2
int tst_x, tst_y;
tst_x = arrRect2[0];
tst_y = arrRect2[1];
int value;
value = (rot_x * (tst_x - pnt_x)) + (rot_y * (tst_y - pnt_y));
cout << "Value: " << value;
Tuy nhiên tôi không chắc chắn nếu (a) tôi đã triển khai thuật toán mà tôi đã liên kết chính xác hay liệu tôi đã làm chính xác cách giải thích điều này?
Bất kỳ đề xuất?