Phát Hiện Va Chạm Bằng Thuật Toán QuadTree C++ | Đồ Họa Máy Tính Cơ Bản
Вставка
- Опубліковано 17 тра 2024
- ĐỒ HOẠ MÁY TÍNH CƠ BẢN: VA CHẠM GIỮA HAI HÌNH TRÒN VÀ TỐI ƯU BẰNG QUADTREE
Mình rất hay chơi game và đa phần là các game đồ hoạ và gameplay rất hay (microsoft flight sim 2020, euro truck sim, cs2, gta v,…). Trong suốt qua trình chơi những tựa game, mình đã ấn tượng và tò mò bởi các hiệu ứng vật lý, logic,… có trong game. Vì thế mình đã bắt đầu tìm hiểu thêm về đồ hoạ máy tính và biết được các khái niệm cơ bản về va chạm và các thuật toán tối ưu.
Đây là video chỉ thuật toán đầu tay nên sẽ còn nhiều sai sót. Những video sau mình sẽ học thêm thư viện vẽ của 3blue1brown.
Tài liệu:
Truyền cảm hứng: • Building Collision Sim...
Thư viện SFML: sfml-dev.org
Verlet: algorithm-archive.org/content...
Va chạm đàn hồi hai hình tròn: imada.sdu.dk/u/rolf/Edu/DM815...
Github: github.com/lds217/Simple_Phys... - Ігри
Ko biết cách này có dư thừa ko nhưng ở đoạn 5:34, để tách 2 hình tròn ra 1 cách chính xác hơn, giả sử ở frame đầu khi 2 hình tròn chưa chồng lên nhau, gọi thời điểm này là t = 0, frame kế tiếp khi chúng đã chồng nhau rồi, gọi thời điểm này là t = 1, thì mình có thể tính đc thời điểm t' khi chúng mới vừa chạm nhau ( 0 < t' < 1 ), bằng cách viết phương trình tính khoảng cách giữa 2 hình tròn theo thời điềm t, sẽ là 1 ptrinh bậc 2, giải ptrinh bậc 2 đó sẽ ra đc 2 nghiệm là 2 thời điểm mà 2 hình tròn đó chạm sát nhau ( khoảng cách = tổng bán kính 2 htron)
Dạ đúng rồi ạ, trong link dưới phần mô tả “truyền cảm hứng” tác giả có nói đó là nội suy gì đó để có thể tính chính xác hơn khi bị lặp ạ. Em chưa học toán nhiều nên ưu tiên xử lí bằng Tin
Tuyệt vời! Mình thích cách bạn giải thích về việc phát hiện va chạm bằng quadtree một cách dễ hiểu. Video rất hữu ích và thú vị. Chúc mừng bạn đã có video thật sự chất lượng! Mình tin rằng kênh của bạn sẽ phát triển nhanh chóng. Đã đăng ký kênh và chờ đợi video tiếp theo!
Ngài đỉnh quá orz
Ui trời, một trong những khó khăn nhất của học thuật toán chính là khả năng edit của các giảng viên trong trường :)) . Cảm ơn kênh rất nhiều nha, dễ hình dung mà còn đầy đủ
mình cảm ơn bạn nhiều ạaa
Đỉnh
hi, nice video, what software do you use for editing video?
I used after effects but i highly recommend 1brown3blue python library
Sebastian Lague phiên bản Việt Nam, quá tuyệt vời! 😄😄
Mình cảm ơn nhiều ạaa!!
Quá hay bạn ơi, ủng hộ bạn làm thêm các vid chất lượng hơn!
Mình cảm ơn ạaa
Đồng môn CLA, chào bạn. Great works 👍 Mình LK14, cũng lâu lắm rồi chưa về lại trường.
Em chào anh ạ, em là Đạt đến từ THPT Đức Hoà em có luyện tuyển qg ở CLA và có tham gia media các clb ở CLA ạ
video rất hay và bổ ích :D cảm ơn bạn đã chia sẻ
Mình cảm ơn ạaa
Video hay quá ạ cảm ơn a đã chia sẻ 😊
Cảm ơn bạn nhiềuu ạ!
hay đấy bạn, làm tiếp đi bạn ơi
Đỉnh thật sự , cảm ơn anh đã chia sẻ😁
Mình cảm ơn ạa
video rất hay, mong anh ra nhiều video như thế nữa ạ
Cảm ơn bạn ạ!!
Share kiến thức rất hay 👍
Mình cảm ơn ạaa
vid đẹp, giọng đọc hay quá anh ơi
Mình cảm ơn nhiều ạaa!
Đỉnh đỉnh, bạn học trường gì mà giỏi thế
Ôi bạn ơi mình học trường Purdue Indy nhé
Thúc đẩy sự phát triển mang tính chuyển đổi, khuôn viên đô thị toàn diện đầu tiên của Đại học Purdue sẽ mang đến những cơ hội đặc biệt cho sinh viên và giảng viên của Boilermaker.
Chúng tôi sẽ mở rộng tuyển sinh. Chúng tôi sẽ xây dựng các công ty khởi nghiệp. Chúng ta sẽ tạo ra kiến thức mới.Chúng tôi sẽ kết nối tài năng và ngành công nghiệp. Chúng tôi sẽ phát huy tối đa những thế mạnh độc đáo của Indy như thể thao và công nghệ y sinh.
Các cơ sở ở Purdue hiện nằm gần Hành lang Công nghệ Cứng: 65 dặm nối Indy và West Lafayette với Khu Đổi mới LEAP ở điểm giữa. Chúng ta sẽ cùng nhau tạo ra nhân tài, việc làm và sự đổi mới ở trung tâm nước Mỹ!
wow nổ não thật
vid khá hay mong bạn ra nhiều vid như này
Mình cảm ơn nhiều ạaa
Mong anh ra thêm nhiều video nữa ❤
Mình cảm ơn bạn ạ
Đỉnh qué ❤
Mình cảm ơn ạa
video rất bổ ích
Mình cảm ơn ạaa
má đỉnh thật sự
Minh cảm ơn nhiều ạaa
Bổ ích quá anh ơi ❤
Mình cảm ơn ạaa
cảm ơn bạn videos rất hữu ích nếu mình ứng dụng quadtree vào hình ảnh 3D (ví dụ như các khối cầu) thì không biết độ phức tạp của thuật toán vẫn là O(nlogn) ko vậy. Srrr do mình không chuyên bên máy tính mà ứng dụng hiện tại của mình thì lại là tráng va chạm trên trên 3D nên không biết ứng dụng thuật toán này có ổn không
mình cũng không rõ, nhưng bạn có thể xem ở đây stackoverflow.com/questions/13487953/difference-between-quadtree-and-kd-tree Quadtree phụ thuộc vào không gian nên 3d sẽ rất nặng thời gian, mặt khác KD-Tree không phụ thuộc quá về không gian nên mình nghĩ sẽ tố ưu hơn (theo mình biết thì KD sẽ tìm median của 1 tập hợp điểm rồi chia vùng)
tuy nhiên mình nghĩ đa số trường hợp ứng dụng thực tế o(n^2) là đủ, các phần mềm còn nhiều cách tối ưu hơn là làm thuật toán, như phân vùng gpu để xử lí song song,...
github.com/shawnchin/kd3 mình thấy link này rất hay
@@lds8455 cảm ơn bạn
vd bổ X
Cảm ơn bạn, nếu có thể bạn cho mình 1 star trên github nha!