Tôi đang làm việc trên một chương trình nhỏ hiển thị thuyền chèo di chuyển. Phần sau cho thấy một mã mẫu đơn giản (Python 2.x):Mã giống với hành trình chèo thuyền
import time
class Boat:
def __init__(self, pace, spm):
self.pace = pace #velocity of the boat in m/s
self.spm = spm #strokes per minute
self.distance = 0 #distance travelled
def move(self, deltaT):
self.distance = self.distance + (self.pace * deltaT)
boat1 = Boat(3.33, 20)
while True:
boat1.move(0.1)
print boat1.distance
time.sleep(0.1)
Như bạn có thể thấy một chiếc thuyền có tốc độ và hàng với số lần đột quỵ mỗi phút. Mỗi khi phương pháp move(deltaT)
được gọi là nó di chuyển một khoảng cách nhất định theo tốc độ.
Thuyền trên chỉ đi với tốc độ không đổi, không thực tế. Một chiếc thuyền chèo thực sự tăng tốc vào đầu của một cơn đột quỵ và sau đó giảm tốc sau khi lưỡi chèo thuyền rời khỏi nước. Có rất nhiều biểu đồ trực tuyến mà hiển thị một đường cong đặc trưng chèo (lực đưa ra ở đây, vận tốc trông tương tự):
Nguồn: highperformancerowing.net
Tốc độ nên không đổi theo thời gian, nhưng nó phải thay đổi trong đột quỵ.
Cách tốt nhất để thay đổi vận tốc không đổi thành một đường cong (ít nhất là về cơ bản) giống như đột quỵ chèo thực tế hơn?
Lưu ý: Bất kỳ ý tưởng nào về cách gắn thẻ câu hỏi này tốt hơn? Đây có phải là một vấn đề về thuật toán không?
Sử dụng nội suy spline, ví dụ: từ SciPy. – nwk
Xem thêm trang web SE để thống kê http://stats.stackexchange.com – smci
Và biến đổi làm mịn stat_smooth trong thư viện ggplot. – smci