Tôi đang cố gắng hiển thị địa hình trơn tru bằng Direct3D. Tôi đã có lưới 50 * 50 với tất cả các giá trị y = 0 và một tập hợp các điểm 3D biểu thị vị trí trên lưới và độ sâu hoặc chiều cao của "thung lũng" hoặc "đồi". Tôi cần làm cho các giá trị y của các đỉnh lưới cao hơn hoặc thấp hơn tùy thuộc vào mức độ gần với từng điểm 3D. Vì vậy, cuối cùng tôi nên có một trình kết xuất địa hình trơn tru.
Tôi không chắc chắn bằng cách nào tôi có thể làm điều này. Tôi đã thử thay đổi chiều cao của các đỉnh dựa trên khoảng cách đến từng điểm chỉ bằng cách sử dụng công thức cơ bản này:
dist = sqrt(a² + b² + c²)
trong đó a, b và c là khoảng cách x, y và z từ một đỉnh đến một điểm 3D. Kết quả tôi nhận được với điều này là không suôn sẻ chút nào.
Tôi nghĩ có lẽ có một cách tốt hơn.
Dưới đây là ảnh chụp màn hình về những gì tôi đã có trong thời điểm này: https://dl.dropbox.com/u/2562049/terrain.jpg
$dist = \sqrt{a^2 + b^2 + c^2}$
.