Tôi đang trong quá trình phát triển một thế giới giống như Minecraft, nơi địa hình được chia thành các voxels. Tuy nhiên, tôi cũng muốn các cấu hình cảnh quan không ổn định bị sụp đổ có thể dự đoán được. Ví dụ, phần nhô ra quá nặng sẽ làm gãy và vỡ ra ở các voxels 'căng thẳng cao' , cũng như sự hình thành trụ cột với phần đế bị xói mòn không đối xứng . Tôi đã suy nghĩ về việc thêm một trường 'vectơ căng thẳng' vào mỗi voxel trong địa hình và thực hiện các thao tác sau (mã giả):
foreach voxel in terrain
foreach neighbor in voxel.neighbor_voxels()
if magnitude(voxel.stress - neighbor.stress) > stressThreshold
detach_voxels(voxel, neighbor)
Nhưng vấn đề là tôi không biết mình sẽ tính toán những căng thẳng riêng lẻ này như thế nào. Có một số loại thuật toán dựa trên FEA chuyên biệt cho sự phân biệt voxel mà tôi có thể sử dụng để tính toán các ứng suất trên cơ sở per-voxel không? Hay tôi đang tiếp cận tất cả những điều này sai và có một số cách khác để làm điều này?