ฉันเคยเห็นตัวสร้างตัวเลขสุ่มหลอกเพื่อใช้ในเฉดสีที่อ้างถึงที่นี่และที่นั่นในเว็บ :
float rand(vec2 co){
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
มีหลายชื่อเรียกว่า "canonical" หรือ "ซับเดียวที่ฉันพบในเว็บที่ไหนสักแห่ง"
ที่มาของฟังก์ชันนี้คืออะไร? ค่าคงที่เป็นไปตามอำเภอใจตามที่ดูเหมือนหรือมีศิลปะในการเลือกหรือไม่? มีการพูดคุยเกี่ยวกับข้อดีของฟังก์ชันนี้หรือไม่?
แก้ไข: การอ้างอิงที่เก่าแก่ที่สุดของฟังก์ชันนี้ที่ฉันเจอคือไฟล์เก็บถาวรนี้ตั้งแต่เดือนกุมภาพันธ์ 2551ซึ่งตอนนี้หน้าเดิมหายไปจากเว็บแล้ว แต่ไม่มีการอภิปรายเกี่ยวกับเรื่องนี้มากไปกว่าที่อื่น