Tôi đang phát triển Ứng dụng Canvas HTML5 và liên quan đến việc đọc tệp xml mô tả vị trí của mũi tên, hình chữ nhật và các hình dạng khác tôi cần vẽ trên canvas.HTML5 Canvas: Tính điểm x, y khi xoay
Ví dụ về cách bố trí XML:
<arrow left="10" top="20" width="100" height="200" rotation="-40" background-color="red"/>
<rect left="10" top="20" width="100" height="200" rotation="300" background-color="red"/>
Nếu đối tượng được luân chuyển nó liên quan đến việc tính toán vị trí của một điểm (gọi tắt là P vị trí mới của đối tượng sau khi luân chuyển) khi quay xung quanh một điểm khác (trái, hàng đầu). Tôi đang cố gắng để đưa ra một chức năng chung/công thức tôi có thể sử dụng để tính toán điểm P nhưng Toán học của tôi là một chút yếu & Tôi không thể xác định công thức arc/tangent mà tôi muốn sử dụng.
Bạn có thể hỗ trợ tôi để đưa ra công thức mà tôi có thể sử dụng để tính điểm P cho các phép quay có thể dương cả là & không?
Trong ví dụ trên: Điểm (14.446) là bên trái, điểm đầu & điểm (226.496) là điểm giữa của đối tượng khi không xoay nên điểm = (trái + chiều rộng/2 , đầu + chiều cao/2) và chấm màu xanh lam là điểm giữa khi xoay. Tôi biết cách tính toán độ dài của đường thẳng giữa các điểm (14.446) & (226.496) nhưng không phải cách tính điểm màu xanh x, vị trí y - BTW: độ dài của đường này giống như đường giữa điểm màu xanh & (14,446)
len = sqrt((496-446)^2 + (226-14)^2);
= 227.56;
Có một điều cần được nhắc tới khi bạn đối phó với arctangent ... Nó sẽ cung cấp cho các góc tương tự khi (x, y) là trong I hoặc ở góc phần tư III và (x, y) nằm trong phần tư II hoặc IV. Giá trị đúng cho góc phải được chọn dựa trên các dấu hiệu của x và y. – Cheery