Tôi muốn di chuyển qua các điểm ảnh của một hình ảnh, không phải bằng cách đi từng dòng, cột theo cột theo cách "bình thường". Nhưng bắt đầu tại điểm ảnh trung tâm và đi ra ngoài trong một chuyển động xoắn ốc. Nhưng tôi không chắc chắn làm thế nào để làm điều này. Bất kỳ đề xuất nào về cách thực hiện điều này?C# Di chuyển qua một hình ảnh theo chuyển động xoắn ốc?
Trả lời
Bạn có thể thực hiện điều này bằng cách sử dụng hàm tham số, hàm bán kính là r (t) = R và x (t) = Rcos (t) và y (t) = Rsin (t). Bạn có ý nghĩa gì đó giống như this?
Điều đó trông giống như những gì tôi muốn. Cảm ơn nhiều! –
Sẽ hữu ích khi suy nghĩ về điều này ngược lại. Ví dụ, bắt đầu từ góc trên cùng bên trái và di chuyển theo chiều kim đồng hồ, bạn sẽ di chuyển dọc theo hàng trên cùng, sau đó xuống phía bên tay phải, dọc theo phía dưới, và lên cạnh trái tới điểm ảnh dưới điểm xuất phát. .
Sau đó di chuyển dọc theo hàng thứ hai và tiếp tục theo hình xoắn ốc.
Tùy thuộc vào kích thước của hình ảnh bạn sẽ kết thúc bằng một cột đơn pixel hoặc một hàng pixel và sẽ di chuyển lên/xuống hoặc trái/phải.
Từ điểm kết thúc này, bạn có thể làm theo các bước của mình về phía sau và xử lý tất cả các pixel khi cần.
Để tìm ra vị trí bắt đầu bằng toán học, bạn cần biết chiều rộng/chiều cao của hình ảnh cũng như pixel bạn muốn kết thúc và hướng bạn muốn di chuyển khi bạn đến điểm ảnh cuối cùng .
Something như thế này nên làm điều đó:
int x = width/2;
int y = height/2;
int left = width * height;
int dir = 0;
int cnt = 1;
int len = 2;
int[] move = { 1, 0, -1, 0, 1 };
while (left > 0) {
if (x >= 0 && x < width && y >= 0 && y < height) {
// here you do something with the pixel at x,y
left--;
}
x += move[dir % 4];
y += move[(dir % 4) + 1];
if (--cnt == 0) {
cnt = len++/2;
dir++;
}
}
Nếu hình ảnh không phải là hình vuông, đường xoắn ốc sẽ tiếp tục bên ngoài tọa độ của hình ảnh cho đến khi toàn bộ hình ảnh đã được bảo hiểm. Điều kiện trong tuyên bố if
đảm bảo rằng chỉ các tọa độ là một phần của hình ảnh được xử lý.
- 1. Di chuyển hình động
- 2. cách vẽ hình xoắn ốc bằng cách sử dụng opengl
- 3. Vẽ các điểm cách đều nhau trên hình xoắn ốc
- 4. Sử dụng đường cong Bezier để vẽ hình xoắn ốc
- 5. Hiển thị tooltip trên di chuyển div qua hình ảnh
- 6. Nhận index xoắn ốc từ vị trí
- 7. Cocos2d di chuyển hình ảnh động trên đường dẫn
- 8. winform di chuyển hình ảnh bên trong hình tượng
- 9. di chuyển progressbar của tôi với một hình ảnh android
- 10. Làm mờ dần khi di chuyển hình ảnh bằng CSS3?
- 11. Magento - Di chuyển một thể loại theo chương trình
- 12. va_copy - chuyển sang hình ảnh C++?
- 13. Di chuyển hình ảnh từ A sang B bằng JavaScript
- 14. Tìm phần tử vị trí thứ n của hình xoắn ốc lát hình chữ nhật?
- 15. WPF. Cách dễ nhất để di chuyển hình ảnh sang (X, Y) theo lập trình?
- 16. jQuery chuyển đổi hình ảnh động
- 17. C: Chuyển mảng vào một hàm 'đang di chuyển'
- 18. Di chuyển các tệp theo python
- 19. javascript - bản đồ google như di chuyển hình ảnh
- 20. Di chuyển mô hình đường ray sau khi di chuyển
- 21. Di chuyển tài nguyên theo WEB-INF
- 22. Di chuyển hình ảnh trong khi kéo và thả
- 23. Java - Di chuyển hình ảnh bằng cách kéo chuột
- 24. Cách di chuyển hình ảnh có thể nhìn thấy theo đường chéo?
- 25. di chuyển một phần hình ảnh ra khỏi màn hình trong android
- 26. Thực hiện di chuyển hình ảnh trên trang web thông qua CSS vs HTML5 Canvas
- 27. Di chuyển uiimageview hoạt hình
- 28. DateTimePicker tự động di chuyển đến ngày tiếp theo
- 29. Di chuyển cây Z3_ast trong C/C++
- 30. Làm hình nền động android với di chuyển sai lệch
Bạn có thể rõ ràng hơn về cách bạn mong đợi điều này hoạt động trên một hình ảnh không vuông? ... chỉ những hình ảnh vuông sẽ hoạt động hoàn hảo với hình xoắn ốc, bất kỳ thứ gì khác bạn sẽ nhấn vào một bộ cạnh trước ... – jerryjvl