Tôi mới phát triển trò chơi / đồ họa và tôi đang chơi xung quanh với các hạt (ở dạng 2D). Tôi muốn vẽ các hạt gần nhau như một đốm màu, giống như chất lỏng / nước. Tôi không muốn vẽ các vòng tròn lớn chồng lên nhau vì blob sẽ không được trơn tru (và quá lớn). Tôi không thực sự biết vật lý nhưng tôi cho rằng những gì tôi muốn là thứ gì đó trông tương tự như sức căng bề mặt.
Tôi chưa thể tìm thấy bất cứ điều gì trên stackexchange hoặc trên Google (có thể tôi không biết từ khóa chính xác?). Cho đến nay tôi đã tìm thấy hai giải pháp khả thi, nhưng tôi không thể tìm thấy bất kỳ thông tin cụ thể nào về thuật toán.
Một trong số đó là tính toán vỏ lõm của các hạt mà tôi coi là một đốm màu. Tôi có thể tính toán blob bằng cách tạo một lớp tương đương (trên mối quan hệ "gần nhau"). Thật kỳ lạ, tôi không thể tìm thấy bất kỳ thuật toán nào giải thích cách tính vỏ tàu lõm. Nhiều bài đăng (và trong số stackexchange) liên kết đến các thư viện hoặc sản phẩm thương mại làm điều này (tôi cần các thư viện để làm việc trong C #), nhưng không bao giờ có bất kỳ thuật toán nào. Ngoài ra, giải pháp này có thể có vấn đề với một vòng tròn các hạt, sẽ không phát hiện ra khoảng trống ở giữa.
Trong khi nghiên cứu thân tàu lõm, tôi tình cờ phát hiện ra một thứ gọi là hình dạng alpha. Dường như đó chính xác là những gì tôi muốn làm, tuy nhiên cũng giống như với thân tàu lõm tôi không tìm thấy bất kỳ nguồn nào giải thích cách chúng thực sự hoạt động. Tôi đã tìm thấy một số tài liệu thuyết trình nhưng không đủ để tiếp tục. Nó giống như một bí mật lớn mà mọi người đều biết ngoại trừ tôi: - /
Sau khi tính toán thân tàu lõm hoặc hình dạng alpha, tôi muốn biến nó thành một đường cong Bézier để làm cho nó mịn và đẹp.
Mặc dù tôi thấy cách tiếp cận của mình hơi phức tạp, nhưng có lẽ tôi đang cố gắng giải quyết điều này sai cách? Nếu bạn có thể đề xuất bất kỳ giải pháp nào khác cho vấn đề của tôi, hoặc giải thích những phần tôi đang thiếu tôi sẽ rất vui và biết ơn :-)
Cảm ơn.