Cách thực hiện ma sát trong động cơ vật lý dựa trên Vật lý nâng cao Vật lý nâng cao


8

Tôi đã thực hiện một công cụ vật lý dựa trên các khái niệm trong văn bản cổ điển Vật lý nhân vật nâng cao của Thomas Jakobsen. Ma sát chỉ được thảo luận rất ngắn gọn trong bài viết và chính Jakobsen lưu ý làm thế nào "các mô hình ma sát khác và tốt hơn so với điều này có thể và nên được thực hiện."

Nói chung làm thế nào người ta có thể thực hiện một mô hình ma sát đáng tin cậy trên đầu các khái niệm từ bài viết được đề cập? Và làm thế nào ma sát tìm thấy có thể được dịch thành xoay trên một vòng tròn?


Tôi không muốn câu hỏi này liên quan đến việc triển khai cụ thể của tôi mà là về cách kết hợp các ý tưởng của Jakobsens với một hệ thống ma sát tuyệt vời nói chung. Nhưng đây là bản demo trực tiếp cho thấy trạng thái hiện tại của động cơ của tôi không xử lý ma sát theo bất kỳ cách nào: http://jsfiddle.net/Z7ECB/embedded/result/


Dưới đây là hình ảnh hiển thị và ví dụ về cách phát hiện va chạm có thể hoạt động trong động cơ dựa trên giấy. Trong tích hợp Verlet, vị trí hiện tại và trước đó luôn được lưu trữ. Dựa trên những vị trí mới được tính toán. Trong mỗi khung tôi tính khoảng cách giữa các vòng tròn và các đường. Nếu khoảng cách này nhỏ hơn bán kính vòng tròn, sẽ xảy ra va chạm và vòng tròn được chiếu vuông góc ra khỏi đường vi phạm theo kích thước của lớp phủ (bù trên hình).

Vận tốc tiềm ẩn do tích hợp Verlet nên việc thay đổi vị trí cũng thay đổi vận tốc. Những gì tôi cần biết là bằng cách nào đó xác định lượng ma sát trên vòng tròn và di chuyển ngược lại song song với đường thẳng để giảm tốc độ của nó. picure cho thấy làm thế nào va chạm xảy ra


Bài viết rất hay! Ma sát của bạn như thế nào bây giờ?
Mikael Högström

Đúng. Đó là một bài viết tuyệt vời. Nó rất đơn giản nhưng tôi đã có một toàn bộ động cơ phù hợp với mục đích của tôi hoạt động dựa trên nó. Ngoại trừ ma sát;)
paldepind

Và video đẹp quá. Trông đầy hứa hẹn!
Mikael Högström

Câu trả lời:


4

Bạn nên xem bài báo "động lực học dựa trên vị trí" của Mathias Mueller et all. Về cơ bản nó giống như giấy của Jacobsons và anh ta có thể cung cấp cho bạn thêm thông tin về ma sát.

http://www.matthiasmueller.info/publications/poseBasingDyn.pdf

Họ nói rằng ma sát về cơ bản là làm giảm vận tốc của hạt trong mặt phẳng va chạm bởi một số giá trị vô hướng.

Lưu ý rằng điều này không cung cấp cho bạn bất kỳ hiệu ứng ma sát coulomb nào (lượng động lượng khi va chạm không ảnh hưởng đến cường độ của lực ma sát) nhưng bạn có thể có được điều đó bằng cách xem xét vận tốc của hạt vào mặt phẳng va chạm.


1
Điều gì sẽ xảy ra nếu, khi áp dụng một xung cho một cơ thể đứng yên khác, bạn kiểm tra một ngưỡng nhất định. Nếu thành phần của xung trên bề mặt tiếp xúc thấp hơn ngưỡng đó, bạn có thể đặt nó thành 0 để bắt chước các tác động của ma sát tĩnh . Từ đó trở đi, ma sát động chính xác là cách bạn mô tả nó. +1
teodron

0

Trong một động cơ cơ thể cứng "bình thường", bạn sẽ mô hình ma sát như các xung vuông góc với bình thường. Tôi đoán rằng trong bối cảnh này có nghĩa là thay vì các xung đặt vị trí của hạt bị ảnh hưởng một cách thích hợp. Với các ràng buộc tại chỗ, nếu tôi hiểu bài viết một cách chính xác, thì lặp đi lặp lại đạt đến trạng thái ma sát cũng ảnh hưởng đến việc quay. Tôi đoán rằng bằng "mô hình tốt hơn", tác giả có nghĩa là cách xác định lượng ma sát tốt hơn so với phép chiếu tuyến tính xen kẽ. Tuy nhiên, đây là một phỏng đoán về phía tôi vì tôi chưa bao giờ thực hiện vật lý bằng phương pháp này.

BIÊN TẬP:

Để tính kích thước của lực ma sát, bạn có giá trị offset trong ảnh. Khi bạn đang sử dụng verlet với dấu thời gian cố định, chúng tôi biết rằng phần bù này thực sự là vận tốc mà tiếp điểm có hướng tiếp xúc bình thường (cũng không chính xác, và tôi nghĩ đây là ý nghĩa của tác giả khi tạo ra ma sát gần đúng hơn ). Biết vận tốc dọc theo tiếp xúc bình thường là điều cần thiết vì chúng ta có thể sử dụng nó để xác định xung lực. Cách tốt nhất là áp dụng ma sát dưới dạng xung trong mỗi khung có tiếp xúc. Kích thước của ma sát trong các trục song song với mặt phẳng tiếp xúc được xác định bởi hệ số ma sát (được xác định bởi các vật liệu, ví dụ 0,7 cho ma sát khá cao). Ma sát tối đa bạn có thể có là hệ số ma sát nhân với phần bù. Xin lưu ý rằng giá trị này có thể lớn hơn vận tốc thực tế dọc theo một trong các trục. Trong trường hợp đó, bạn có ma sát tĩnh và hạt không nên di chuyển chút nào trong trục đó. Nếu giá trị nhỏ hơn hạt đó sẽ di chuyển một chút nhưng bị chậm lại, tức là ma sát động.


Bạn nói đúng. Phần khó nhất, đối với tôi ít nhất, là xác định làm thế nào để "thiết lập vị trí của hạt bị ảnh hưởng một cách thích hợp".
paldepind

Ahh ok, sau đó tôi thấy bạn đang ở đâu. Tôi có một ý tưởng cho một giải pháp, tôi sẽ chỉnh sửa câu trả lời
Mikael Högström

Đó chính xác là kỹ thuật được mô tả trong bài báo;). Tôi nghĩ rằng tôi sẽ thử thực hiện nó và xem nó có đủ tốt cho dự án của tôi không.
paldepind

Ahh tôi đoán vậy ... Có vẻ như phương pháp này gần giống như đối với một động cơ cơ thể cứng nhắc, chỉ cần tính đến sự tích hợp verlet và áp dụng các xung khi thay đổi vị trí thay thế.
Mikael Högström
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.