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...
  • Ігри

КОМЕНТАРІ • 50

  • @mannguyenduy8168
    @mannguyenduy8168 Місяць тому +2

    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)

    • @lds8455
      @lds8455  Місяць тому +1

      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

  • @tinvotrong1260
    @tinvotrong1260 Місяць тому +2

    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!

  • @khoabuh5653
    @khoabuh5653 2 дні тому

    Ngài đỉnh quá orz

  • @longtranha8695
    @longtranha8695 29 днів тому +1

    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 đủ

    • @lds8455
      @lds8455  28 днів тому

      mình cảm ơn bạn nhiều ạaa

  • @nguyendoquang4657
    @nguyendoquang4657 18 днів тому

    Đỉnh

  • @WildlifeAnimalsful
    @WildlifeAnimalsful 13 днів тому +1

    hi, nice video, what software do you use for editing video?

    • @lds8455
      @lds8455  13 днів тому +1

      I used after effects but i highly recommend 1brown3blue python library

  • @hocgamede_unity
    @hocgamede_unity 28 днів тому +1

    Sebastian Lague phiên bản Việt Nam, quá tuyệt vời! 😄😄

    • @lds8455
      @lds8455  28 днів тому

      Mình cảm ơn nhiều ạaa!!

  • @jirotaurus7457
    @jirotaurus7457 23 дні тому +1

    Quá hay bạn ơi, ủng hộ bạn làm thêm các vid chất lượng hơn!

    • @lds8455
      @lds8455  23 дні тому

      Mình cảm ơn ạaa

  • @giangnguyentbk
    @giangnguyentbk 26 днів тому +1

    Đồ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.

    • @lds8455
      @lds8455  26 днів тому +1

      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 ạ

  • @quanguocnguyen3125
    @quanguocnguyen3125 Місяць тому +1

    video rất hay và bổ ích :D cảm ơn bạn đã chia sẻ

    • @lds8455
      @lds8455  Місяць тому

      Mình cảm ơn ạaa

  • @28_vovanthinh75
    @28_vovanthinh75 Місяць тому +1

    Video hay quá ạ cảm ơn a đã chia sẻ 😊

    • @lds8455
      @lds8455  Місяць тому

      Cảm ơn bạn nhiềuu ạ!

  • @mongalexi584
    @mongalexi584 26 днів тому

    hay đấy bạn, làm tiếp đi bạn ơi

  • @kienbuitrung7555
    @kienbuitrung7555 Місяць тому +1

    Đỉnh thật sự , cảm ơn anh đã chia sẻ😁

    • @lds8455
      @lds8455  Місяць тому

      Mình cảm ơn ạa

  • @poxgaming9663
    @poxgaming9663 Місяць тому +1

    video rất hay, mong anh ra nhiều video như thế nữa ạ

    • @lds8455
      @lds8455  Місяць тому

      Cảm ơn bạn ạ!!

  • @thai643
    @thai643 23 дні тому +1

    Share kiến thức rất hay 👍

    • @lds8455
      @lds8455  21 день тому

      Mình cảm ơn ạaa

  • @huynhminhquan7609
    @huynhminhquan7609 Місяць тому +2

    vid đẹp, giọng đọc hay quá anh ơi

    • @lds8455
      @lds8455  Місяць тому +1

      Mình cảm ơn nhiều ạaa!

  • @bachgia6871
    @bachgia6871 21 день тому +1

    Đỉnh đỉnh, bạn học trường gì mà giỏi thế

    • @lds8455
      @lds8455  21 день тому

      Ô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ỹ!

  • @ccauvang
    @ccauvang 22 дні тому +1

    wow nổ não thật

  • @dungtien3705
    @dungtien3705 28 днів тому +1

    vid khá hay mong bạn ra nhiều vid như này

    • @lds8455
      @lds8455  28 днів тому

      Mình cảm ơn nhiều ạaa

  • @uocthanh8830
    @uocthanh8830 Місяць тому +1

    Mong anh ra thêm nhiều video nữa ❤

    • @lds8455
      @lds8455  Місяць тому +1

      Mình cảm ơn bạn ạ

  • @kc8879
    @kc8879 Місяць тому +1

    Đỉnh qué ❤

    • @lds8455
      @lds8455  Місяць тому

      Mình cảm ơn ạa

  • @elabtech_DIY
    @elabtech_DIY 25 днів тому +1

    video rất bổ ích

    • @lds8455
      @lds8455  23 дні тому

      Mình cảm ơn ạaa

  • @CallmeAnythingXD
    @CallmeAnythingXD 29 днів тому +1

    má đỉnh thật sự

    • @lds8455
      @lds8455  28 днів тому

      Minh cảm ơn nhiều ạaa

  • @hungnguyenthai5537
    @hungnguyenthai5537 Місяць тому +1

    Bổ ích quá anh ơi ❤

    • @lds8455
      @lds8455  29 днів тому

      Mình cảm ơn ạaa

  • @quyphanang6354
    @quyphanang6354 29 днів тому +1

    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

    • @lds8455
      @lds8455  29 днів тому

      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)

    • @lds8455
      @lds8455  29 днів тому

      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,...

    • @lds8455
      @lds8455  29 днів тому

      github.com/shawnchin/kd3 mình thấy link này rất hay

    • @quyphanang6354
      @quyphanang6354 29 днів тому

      @@lds8455 cảm ơn bạn

  • @baothaiquoc3928
    @baothaiquoc3928 Місяць тому +1

    vd bổ X

    • @lds8455
      @lds8455  Місяць тому

      Cảm ơn bạn, nếu có thể bạn cho mình 1 star trên github nha!