Một trong những chiêu bài đặc trưng nhất của Captain America có lẽ là chiêu tung khiên không khác mấy phong cách trò Pinball trên Windows XP ngày nào.
Captain America liên tục "ghi điểm" chỉ bằng một cú ném.
Nhìn có vẻ dễ nhưng thực sự để ước lượng được góc bắn cũng như sức ném cần bỏ ra thực ra không hề dễ. Nếu không xác định chính xác quỹ đạo bay của khiên, chiếc khiên tượng trưng cho “Công lý” sẽ liên tục lạc vào tay kẻ thù hoặc bay lên nóc nhà.
Và cảnh Captain America leo lên nóc nhà nhặt khiên cả ngày có lẽ sẽ ảnh hưởng đến hình ảnh của đội Avengers cũng như chất lượng công việc trong các nhiệm vụ giải cứu thế giới của mình.
Để tạo ra một phần mềm mô phỏng quỹ đạo bay của khiên và giúp bạn cảm thông với những gian nan mà Captain America trải qua hàng ngày, một lần nữa ta sẽ cậy nhờ Vật lý.
Quỹ đạo khiên thực tế ra sao?
Đầu tiên ta cần đặt ra một số giả định về điều kiện chung trong các pha vung khiên của Captain America:
1. Quỹ đạo của khiên đủ mạnh để lướt như cánh của chiếc máy bay, nghĩa là khi đang bay thì tạm thời khiên gần như không bị chịu ảnh hưởng từ lực hút trái đất. Ta sẽ không xét đến tốc độ và sức mạnh của khiên mà để cho Captain America lo liệu khoản này.
2. Vành khiên được làm từ chất liệu siêu đàn hồi. Vì tính chất làm tiêu biến lực của Vibranium, khả năng bật nảy của nó có thể không thực sự ấn tượng. Một cách giải thích khác là khiên Vibranium chỉ có tác dụng làm tiêu biến lực đến từ một phía.
3. Vì khả năng siêu đàn hồi, ta tiếp tục giả định góc nảy của khiên và góc tới của khiên tương đương nhau.
Nếu giả định này không hoàn toàn ăn khớp với các tình huống Captain America gặp ngoài đời, một lần nữa ta cần đặt niềm tin vào khả năng tung và đón khiên của anh.
Với ba giả định này, một mô hình “bắt chước” khả năng ném khiên của Captain America có thể được lập ra.
Bằng phương pháp thiết kế mô hình giả lập vật lý không khác nhiều cách thiết kế game, ta cần xác định 3 điều:
- Khiên có đánh trúng tường không?
- Thời điểm và địa điểm va đập xảy ra
- Góc bay sau khi va đập của khiên.
Việc xác định 3 yếu tố này sẽ được thực hiện bằng kiến thức toán cơ bản và logic game
Hành trình xác định 3 yếu tố ngoài động vào kiến thức toán hoặc sẽ áp dụng cách giải quyết vấn đề linh hoạt của một lập trình viên game.
Giả sử ta có một chiếc tường với hai đầu là 2 điểm P1 và P2, tổng chiều dài của tường là L. Nối P1 và P2 với điểm trên vành khiên (điểm đỏ) sẽ va chạm với tường ta sẽ có r1 và r2.
Hai đoạn này lần lượt là khoảng cách giữa P1 với điểm đỏ và giữa P2 và điểm đỏ.
Như được học trong chương trình trung học cơ sở, bất cứ 2 cạnh nào củ tam giác đều lớn hơn cạnh còn lại, và nếu điểm đỏ không va chạm với tường nó sẽ luôn tạo ra hình tam giác với P1 và P2.
Và ngược lại nếu điểm đỏ nằm trên tường, nghĩa là vào thời điểm va chạm xảy ra, tổng chiều dài của r1 và r2 sẽ tương đương L.
Vậy đơn giản ta sẽ cho chương trình liên tục kiểm tra xem khi nào biểu thức này đúng, vì khi đúng, có nghĩa là khiên đang va chạm với tường.
Đến lúc tính đến góc bật của khiên sau khi va đập với tường. Vì ta giả định khiên bay trên một mặt phẳng, mô hình 2D này sẽ được dựng trên mặt phẳng x-y thay vì có thêm một trục z.
Trong hình véc-tơ a là trục vuông góc của tường tại điểm va đập. Véc-tơ vi là hướng bay của khiên trước khi gặp vật cản.
Trong hình trên vr là véc-tơ hướng bay của khiên sau va chạm. α là góc giữa hướng bay ban đầu và trục a. Sử dụng cách tính tích vô hướng ta có thể tính được góc α bằng công thức:
Tích vô hướng và lực véc-tơ có thể được tính ra dễ dàng nếu có vị trí chính xác của nó theo các trục x, y, z.
Vấn đề còn lại chỉ còn là việc tính ra góc θ để biết được quỹ đạo khiên sẽ phải xoay đi bao nhiêu sau khi va đập, và góc báy của khiên sau khi va chạm với tường có cách tính đơn giản là:
Sau khi thu thập các công thức tính toán và chuyển chúng thành code Python sử dụng Vpython ta có một chương trình mô phỏng 1.0 đầu tiên của chúng ta.
Cách sử dụng mô hình giả lập này rất đơn giản, bạn chỉ việc kéo chiếc mũi tên và thả ra làm sao “khiên đỏ” đập vào chiếc tường ở góc trên và bật lại trúng quả bóng xanh. Nếu trúng, bóng xanh sẽ tự chuyển thành màu vàng.
Nếu muốn chơi lại bạn ấn vào chữ Run ngay trên thanh công cụ.
Phiên bản 2.0 của mô hình giả lập quỹ đạo khiên của Captain America
Cung như Iron Man, không chịu thỏa lòng với các phiên bản áo giáp Mark I rồi Mark II, mô hình của chúng ta rõ ràng có thể cải tiến lên nhiều.
Nếu cẩn thận bạn thậm chí có thể đánh trúng mục tiêu ngay lần đầu với phiên bản 1.0 trên. Để làm cho mọi thứ thú vị lên phiên bản 2.0 sẽ sử dụng khối hình tròn thay vì hình chữ nhật như trước.
Về mặt tính toán thì thật ra khối hình tròn còn dễ xác định va chạm hơn là bức tường hình chữ nhật.
Đơn giản ta sẽ bắt máy tính cập nhật vị trí của chiếc khiên liên tục cho đến khi khoảng cách giữa vành khiên và tâm hình tròn bằng với bán kính hình tròn thì chứng tỏ khiên đang va chạm với khối tròn.
Mô hình 2.0 chắc chắn sẽ khó hơn trước vì chỉ cần va chạm lệch ra một chút, hướng bay của khiên sẽ lệch theo gấp nhiều lần vì sự thay đổi của trục vuông góc của khối cầu tại điểm va chạm.
Và đây là kết quả:
Có lẽ giống với công việc thường ngày của Captain America hơn khi anh liên tục thực hiện những cú combo ném hạ đo ván 4,5 kẻ thù một lúc chỉ bằng một cú tung khiên.
Nếu bạn có thành công trong việc đánh trúng quả bóng xanh sau khi va đập liên tục với khối tròng và tường chữ nhật, hãy khoan cho rằng mình đủ xứng đáng để cầm chiếc khiên huyền thoại này.
Captain America có thể đánh trúng các mục tiêu trong khi tính toán được quỹ đạo làm sao cho nó trở về với anh. Trong thế giới Marvel mới chỉ có Hawkeye và Winter Soldier từng thể hiện khả năng tương tự này.
Quả không hổ danh đội trưởng đội Avengers (hoặc chí ít là nửa đội Avengers).
Tham khảo Wired