Tôi đang cố gắng viết mã bằng MATLAB mô phỏng một con trỏ laser theo cách mà con mèo của tôi sẽ thích thú theo đuổi trên màn hình. Đây là những gì tôi đã thực hiện cho đến nay:mô phỏng một con trỏ laser hiệu quả cho con mèo của tôi bằng cách sử dụng Matlab
figure('menubar','none','color','k')
h = plot(0,'r.','MarkerSize',20);
xlim([-1 1]); ylim([-1 1])
axis off
phi1=(1+sqrt(5))/2;
phi2=sqrt(3);
step= 0.0001; % change according to machine speed
for t=0:step:100
set(h,'xdata',sin(t+phi1*t),'ydata',cos(phi2*t))
drawnow
end
Các "vấn đề" với mã này như sau:
con trỏ di chuyển nhiều hơn hoặc ít hơn ở một tốc độ không đổi và không làm chậm đến một điểm dừng gần và sau đó bất ngờ tiến hành.
Quỹ đạo có phần lặp lại chính nó, mặc dù tôi đã cố gắng để làm cho nó bằng cách sử dụng số vô tỉ, chuyển động tổng thể là liên tục từ phải sang trái. Tôi nghĩ rằng một sự thay đổi quỹ đạo sắc nét hơn sẽ giúp ích.
Tôi biết đây không phải là câu hỏi lập trình truyền thống nhưng tôi vẫn muốn giải quyết vấn đề lập trình. Tôi đánh giá cao sự giúp đỡ của bạn và tất nhiên mở ra những cách mới để trả lời câu hỏi của tôi mà không sử dụng mã tôi đã thêm vào.
dự án Fantastic . Nhưng với chi phí có khả năng hy sinh một màn hình ?! – voxeloctree
bạn có thể thực hiện khái niệm vị trí, vận tốc và gia tốc, với các tham số để kiểm soát từng vị trí. Tìm kiếm nguồn cảm hứng trong http://gamedev.stackexchange.com – Amro
Thú vị. Bạn thậm chí có thể tìm hiểu một số công cụ mới trong việc thực hiện nó. Mô phỏng [kẻ thu hút lạ] (http://mathworld.wolfram.com/StrangeAttractor.html) hoặc người thu hút hỗn loạn khác. :-) [Lorenz attractor] nổi tiếng (http://en.wikipedia.org/wiki/Lorenz_attractor) khá dễ làm. Hoặc xem xét [các bước đi ngẫu nhiên 2 chiều] (http://en.wikipedia.org/wiki/Random_walk) và [quy trình Wiener] (http://en.wikipedia.org/wiki/Wiener_process) để biết cách thêm tiếng ồn cho một số hệ thống/quy trình khác. – horchler