Tôi đang tìm cách điều chỉnh thuật toán tiếng ồn Perlin 3D để giảm kích thước, nhưng tôi gặp sự cố với hàm gradient, vì tôi không hiểu đầy đủ lý do.Perlin noise gradient function
Hàm Perlin gốc ban đầu có bốn đối số: hash
và tọa độ ba chiều (x, y, z)
. Kết quả của hàm được trả về dựa trên giá trị của hash mod 16
, như được liệt kê bên dưới.
0
:x + y
1
:-x + y
2
:x - y
3
:-x - y
4
:x + z
5
:-x + z
6
:x - z
7
:-x - z
8
:y + z
9
:-y + z
10
:y - z
11
:-y - z
12
:y + x
13
:-y + z
14
:y - x
15
:-y - z
Các giá trị trả lại 0
-11
làm cho một loại mô hình, vì mỗi sự kết hợp được biểu diễn một lần. Tuy nhiên, bốn cái cuối cùng là bản sao. Tại sao họ được chọn để phù hợp với bốn giá trị trả lại cuối cùng? Và những trường hợp hậu môn nào có hai số (x, y)
và một kích thước (x)
?
Cảm ơn câu trả lời! Tôi luôn vô cùng biết ơn những anh hùng đã xông vào để cứu những câu hỏi đã quên lãng cũ. –