เชฐเชฎเชคเชจเชพ เชตเชฟเชเชพเชธเชฎเชพเช, เชคเชฎเชพเชฐเซ เชเชฃเซเชตเชพเชฐ เชฐเซเชจเซเชกเชฎเชจเซเชธ เชธเชพเชฅเซ เชเชเชเช เชฌเชพเชเชงเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ: เช เชฎเชพเชเซ เชฏเซเชจเชฟเชเซเชจเซเช เชชเซเชคเชพเชจเซเช เชฐเซเชจเซเชกเชฎ เชเซ, เช
เชจเซ เชคเซเชจเซ เชธเชฎเชพเชเชคเชฐ เชธเชฟเชธเซเชเชฎ. เชฐเซเชจเซเชกเชฎ เชเซ. เชเช เชธเชฎเชฏเซ, เชเช เชชเซเชฐเซเชเซเชเซเช เชชเชฐ, เชฎเชจเซ เชเชตเซ เชเชพเชช เชฎเชณเซ เชเซ เชฌเชเชจเซ เช
เชฒเช เชฐเซเชคเซ เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ (เชเซเชเซ เชคเซเชฎเชจเซ เชชเชพเชธเซ เชธเชฎเชพเชจ เชตเชฟเชคเชฐเชฃ เชนเซเชตเซเช เชเซเชเช).
เชชเชเซ เชคเซเช เชตเชฟเชเชคเซเชฎเชพเช เชเชฏเชพ เชจเชนเซเช - เชคเซ เชชเซเชฐเชคเซเช เชนเชคเซเช เชเซ เชธเชฟเชธเซเชเชฎเชฎเชพเช เชธเชเชเซเชฐเชฎเชฃ. เชฐเซเชจเซเชกเชฎ เชฌเชงเซ เชธเชฎเชธเซเชฏเชพเช เชธเซเชงเชพเชฐเซ เชเซ. เชนเชตเซ เช
เชฎเซ เชคเซเชจเซ เชตเชงเซ เชตเชฟเชเชคเชฎเชพเช เชเซเชตเชพเชจเซเช เช
เชจเซ เชฅเซเชกเซเช เชธเชเชถเซเชงเชจ เชเชฐเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช: "เชชเชเซเชทเชชเชพเชคเซ" เช
เชฅเชตเชพ เช
เชจเซเชฎเชพเชจเชฟเชค RNGs เชเซเชเชฒเชพ เชเซ เช
เชจเซ เชเชฏเซ เชชเชธเชเชฆ เชเชฐเชตเซ. เชคเชฆเซเชชเชฐเชพเชเชค, เชฎเซเช เชคเซเชฎเชจเซ "เชชเซเชฐเชพเชฎเชพเชฃเชฟเชเชคเชพ" เชตเชฟเชถเซ เชตเชฟเชฐเซเชงเชพเชญเชพเชธเซ เชฎเชเชคเชตเซเชฏเซ เชเช เชเชฐเชคเชพ เชตเชงเซ เชตเชพเชฐ เชธเชพเชเชญเชณเซเชฏเชพ เชเซ - เชเชพเชฒเซ เช เชถเซเชงเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเช เชเซ เชตเชพเชธเซเชคเชตเชฟเช เชชเชฐเชฟเชฃเชพเชฎเซ เชเชพเชนเซเชฐ เชเชฐเซเชฒเชพ เชชเชฐเชฟเชฃเชพเชฎเซ เชธเชพเชฅเซ เชเซเชตเซ เชฐเซเชคเซ เชธเชฐเชเชพเชตเซ เชเซ.
เชธเชเชเซเชทเชฟเชชเซเชค เชถเซเชเซเชทเชฃเชฟเช เชเชพเชฐเซเชฏเชเซเชฐเชฎ เช เชฅเชตเชพ RNG เชตเชพเชธเซเชคเชตเชฎเชพเช RNG เชเซ
เชเซ เชคเชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช เชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐ เชเชจเชฐเซเชเชฐเซเชธเชฅเซ เชชเชฐเชฟเชเชฟเชค เชเซ, เชคเซ เชคเชฎเซ เชคเชฐเชค เช "เชชเชฐเซเชเซเชทเชฃ" เชตเชฟเชญเชพเช เชชเชฐ เชเช เชถเชเซ เชเซ.
เชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐเซเชธ (RN) เช เชเซเชเชฒเซเช เชฐเซเชจเซเชกเชฎ (เช เชธเซเชคเชตเซเชฏเชธเซเชค) เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเซเชฆเชพ เชฅเชฏเซเชฒ เชธเชเชเซเชฏเชพเชเชจเซ เชเซเชฐเชฎ เชเซ, เชเซ เชเชจเซเชเซเชฐเซเชชเซเชจเซ เชธเซเชคเซเชฐเซเชค เชเซ. เชเชเชฒเซ เชเซ, เช เชเช เชเชตเซ เชเซเชฐเชฎ เชเซ เชเซ เชเซเชจเชพ เชคเชคเซเชตเซ เชเซเชเชชเชฃ เชเชพเชฃเชฟเชคเชฟเช เชเชพเชฏเชฆเชพ เชฆเซเชตเชพเชฐเชพ เชเชเชฌเซเชเชพ เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒเชพ เชจเชฅเซ - เชคเซเชฎเชจเซ เชชเชพเชธเซ เชเซเช เชเชพเชฐเชฃ เช เชจเซ เช เชธเชฐ เชธเชเชฌเชเชง เชจเชฅเซ.
เชเซ เชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐ เชฌเชจเชพเชตเซ เชเซ เชคเซเชจเซ เชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐ เชเชจเชฐเซเชเชฐ (RNG) เชเชนเซเชตเชพเชฏ เชเซ. เชเชตเซเช เชฒเชพเชเซ เชเซ เชเซ เชฌเชงเซเช เชชเซเชฐเชพเชฅเชฎเชฟเช เชเซ, เชชเชฐเชเชคเซ เชเซ เชเชชเชฃเซ เชธเชฟเชฆเซเชงเชพเชเชคเชฅเซ เชชเซเชฐเซเชเซเชเชฟเชธ เชคเชฐเชซ เชเชเชณ เชตเชงเซเช, เชคเซ เชนเชเซเชเชคเชฎเชพเช เชเชตเชพ เชเซเชฐเชฎ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชธเซเชซเซเชเชตเซเชฐ เช เชฒเซเชเซเชฐเชฟเชงเชฎเชจเซ เช เชฎเชฒ เชเชฐเชตเซ เชเชเชฒเซเช เชธเชฐเชณ เชจเชฅเซ.
เชเชพเชฐเชฃ เชเชงเซเชจเชฟเช เชเซเชฐเชพเชนเช เชเชฒเซเชเซเชเซเชฐเซเชจเชฟเชเซเชธเชฎเชพเช เชธเชฎเชพเชจ เช เชฐเชพเชเชเชคเชพเชจเซ เชเซเชฐเชนเชพเชเชฐเซเชฎเชพเช เชฐเชนเซเชฒเซเช เชเซ. เชคเซเชจเชพ เชตเชฟเชจเชพ, เชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐเซ เชฐเซเชจเซเชกเชฎ เชฌเชจเชตเชพเชจเซเช เชฌเชเชง เชเชฐเซ เชเซ, เช เชจเซ เชคเซเชฎเชจเซเช เชเชจเชฐเซเชเชฐ เชธเซเชชเชทเซเช เชฐเซเชคเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชฆเชฒเซเชฒเซเชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เชเชพเชฐเซเชฏเชฎเชพเช เชซเซเชฐเชตเชพเชฏ เชเซ. เชเชเชเซ เชเซเชทเซเชคเซเชฐเชจเซ เชธเชเชเซเชฏเชพเชฌเชเชง เชตเชฟเชถเซเชทเชคเชพเช เชฎเชพเชเซ, เช เชเช เชเชเชญเซเชฐ เชธเชฎเชธเซเชฏเชพ เชเซ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชธเชเชเซเชคเชฒเชฟเชชเซ), เชชเชฐเชเชคเซ เช เชจเซเชฏ เชฒเซเชเซ เชฎเชพเชเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชธเซเชตเซเชเชพเชฐเซเชฏ เชเชเซเชฒ เชเซ.
เชเชฒเซเชเซเชฐเชฟเชงเชฎ เชฒเชเชตเซเช เชเชฐเซเชฐเซ เชเซ เชเซ เชเซ เชเชฐเซเชเชฐ เชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐเซ เชจ เชนเซเชตเชพ เชเชคเชพเช, เชชเชฐเชค เชเชตเชถเซ, เชชเชฐเชเชคเซ เชคเซเชฎเชจเซ เชถเชเซเชฏ เชคเซเชเชฒเซ เชจเชเซเช - เชเชนเซเชตเชพเชคเชพ เชธเซเชฏเซเชกเซ-เชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐเซเชธ (เชชเซเชเชฐเชเชจ). เช เชเชฟเชธเซเชธเชพเชฎเชพเช เช เชฒเซเชเซเชฐเชฟเชงเชฎเชจเซ เชธเซเชฏเซเชกเซเชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐ เชเชจเชฐเซเชเชฐ (PRNG) เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
PRNG เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฃเชพ เชตเชฟเชเชฒเซเชชเซ เชเซ, เชชเชฐเชเชคเซ เชจเซเชเซเชจเชพ เชฆเชฐเซเช เชฎเชพเชเซ เชธเซเชธเชเชเชค เชฐเชนเซเชถเซ:
- เชชเซเชฐเชพเชฐเชเชญเชฟเช เชชเซเชฐเชพเชฐเชเชญเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชค.
PRNG เชชเชพเชธเซ เชเชจเซเชเซเชฐเซเชชเซเชจเซ เชเซเช เชธเซเชคเซเชฐเซเชค เชจเชฅเซ, เชคเซเชฅเซ เชเชชเชฏเซเช เชเชฐเชคเชพ เชชเชนเซเชฒเชพ เชคเซเชจเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชธเซเชฅเชฟเชคเชฟ เชเชชเชตเซ เชเชตเชถเซเชฏเช เชเซ. เชคเซ เชธเชเชเซเชฏเชพ (เช เชฅเชตเชพ เชตเซเชเซเชเชฐ) เชคเชฐเซเชเซ เชธเซเชชเชทเซเช เชฅเชฏเซเชฒ เชเซ เช เชจเซ เชคเซเชจเซ เชฌเซเช (เชฐเซเชจเซเชกเชฎ เชฌเซเช) เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชฃเซเชตเชพเชฐ, เชชเซเชฐเซเชธเซเชธเชฐ เชเซเชฒเซเช เชเชพเชเชจเซเชเชฐ เช เชฅเชตเชพ เชธเชฟเชธเซเชเชฎ เชธเชฎเชฏเชจเซ เชธเชเชเซเชฏเชพเชคเซเชฎเช เชธเชฎเชเชเซเชทเชจเซ เชฌเซเช เชคเชฐเซเชเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ.
- เชเซเชฐเชฎ เชชเซเชฐเชเชจเชจเชเซเชทเชฎเชคเชพ.
PRNG เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชจเชฟเชฐเซเชฃเชพเชฏเช เชเซ, เชคเซเชฅเซ เชเชฐเชเชญ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเชฒเซเชฒเซเชเชฟเชค เชฌเซเช เช เชจเซเชเซ เชฐเซเชคเซ เชธเชเชเซเชฏเชพเชเชจเซ เชธเชฎเชเซเชฐ เชญเชพเชตเชฟ เชเซเชฐเชฎ เชจเชเซเชเซ เชเชฐเซ เชเซ. เชเชจเซ เช เชฐเซเชฅ เช เชเซ เชเซ เชเช เช เชฌเซเช เชธเชพเชฅเซ เชถเชฐเซ เชเชฐเชพเชฏเซเชฒ เช เชฒเช PRNG (เช เชฒเช เชธเชฎเชฏเซ, เชเซเชฆเชพ เชเซเชฆเชพ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฎเชพเช, เชตเชฟเชตเชฟเชง เชเชชเชเชฐเชฃเซ เชชเชฐ) เชธเชฎเชพเชจ เชเซเชฐเชฎ เชเชจเชฐเซเช เชเชฐเชถเซ.
เชคเชฎเชพเชฐเซ PRNG เชจเซ เชฒเชพเชเซเชทเชฃเชฟเชเชคเชพ เชฆเชฐเซเชถเชพเชตเชคเซ เชธเชเชญเชพเชตเชจเชพ เชตเชฟเชคเชฐเชฃ เชชเชฃ เชเชพเชฃเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ - เชคเซ เชเชฏเชพ เชจเชเชฌเชฐเซ เชเชจเชฐเซเช เชเชฐเชถเซ เช
เชจเซ เชเช เชธเชเชญเชพเชตเชจเชพ เชธเชพเชฅเซ. เชฎเซเชเซเชญเชพเชเซ เช เชเชพเช เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชตเชฟเชคเชฐเชฃ เช
เชฅเชตเชพ เชธเชฎเชพเชจ เชตเชฟเชคเชฐเชฃ เชนเซเชฏ เชเซ.
เชธเชพเชฎเชพเชจเซเชฏ เชตเชฟเชคเชฐเชฃ (เชกเชพเชฌเซ) เช
เชจเซ เชธเชฎเชพเชจ เชตเชฟเชคเชฐเชฃ (เชเชฎเชฃเซ)
เชเชพเชฒเซ เชเชนเซเช เชเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ 24 เชฌเชพเชเซเช เชธเชพเชฅเซ เชตเชพเชเชฌเซ เชฎเซเชคเซเชฏเซ เชเซ. เชเซ เชคเชฎเซ เชคเซเชจเซ เชเซเชธ เชเชฐเซ เชเซ, เชคเซ เชเช เชฎเซเชณเชตเชตเชพเชจเซ เชธเชเชญเชพเชตเชจเชพ 1/24 (เชฌเซเชเชพ เชจเชเชฌเชฐ เชฎเซเชณเชตเชตเชพเชจเซ เชธเชเชญเชพเชตเชจเชพ เชเซเชเชฒเซ เช) เชนเชถเซ. เชเซ เชคเชฎเซ เชเชฃเชพ เชฅเซเชฐเซ เชเชฐเซ เชเซ เช เชจเซ เชชเชฐเชฟเชฃเชพเชฎเซ เชฐเซเชเซเชฐเซเชก เชเชฐเซ เชเซ, เชคเซ เชคเชฎเซ เชเซเชถเซ เชเซ เชฌเชงเซ เชเชฟเชจเชพเชฐเซเช เชฒเชเชญเช เชธเชฎเชพเชจ เชเชตเชฐเซเชคเชจ เชธเชพเชฅเซ เชฌเชนเชพเชฐ เชชเชกเซ เชเซ. เชเชตเชถเซเชฏเชเชชเชฃเซ, เช เชกเชพเชเชจเซ เชธเชฎเชพเชจ เชตเชฟเชคเชฐเชฃ เชธเชพเชฅเซ RNG เชเชฃเซ เชถเชเชพเชฏ.
เชเซ เชคเชฎเซ เชเชฎเชพเชเชฅเซ 10 เชกเชพเชเชธ เชเชเชธเชพเชฅเซ เชซเซเชเชเซ เช เชจเซ เชเซเชฒ เชชเซเชเชจเซเช เชเชฃเซ เชคเซ เชถเซเช เชฅเชถเซ? เชถเซเช เชคเซเชจเชพ เชฎเชพเชเซ เชเชเชฐเซเชชเชคเชพ เชเชณเชตเชพเชถเซ? เชจเชพ. เชฎเซเชเซเชญเชพเชเซ, เชฐเชเชฎ 125 เชชเซเชเชจเซเชเชจเซ เชจเชเซเช เชนเชถเซ, เชเชเชฒเซ เชเซ, เชเซเชเชฒเชพเช เชธเชฐเซเชฐเชพเชถ เชฎเซเชฒเซเชฏ เชธเซเชงเซ. เช เชจเซ เชชเชฐเชฟเชฃเชพเชฎเซ, เชฅเซเชฐเซ เชเชฐเชคเชพ เชชเชนเซเชฒเชพ เชชเชฃ, เชคเชฎเซ เชญเชพเชตเชฟ เชชเชฐเชฟเชฃเชพเชฎเชจเซ เช เชเชฆเชพเช เชฒเชเชพเชตเซ เชถเชเซ เชเซ.
เชเชพเชฐเชฃ เช เชเซ เชเซ เชธเชฐเซเชฐเชพเชถ เชธเซเชเซเชฐ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ เชธเซเชฅเซ เชตเชงเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชธเชเชฏเซเชเชจเซ เชเซ. เชคเซเชจเชพเชฅเซ เชเซเชเชฒเซเช เชฆเซเชฐ เชเซ, เชเชเชพ เชธเชเชฏเซเชเชจเซ - เช เชจเซ เชคเซ เชฎเซเชเชฌ, เชจเซเชเชธเชพเชจเชจเซ เชธเชเชญเชพเชตเชจเชพ เชเชเซ เชเซ. เชเซ เช เชกเซเชเชพเชจเซ เชตเชฟเชเซเชฏเซเช เชฒเชพเชเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ, เชคเซ เชคเซ เช เชธเซเชชเชทเซเชเชชเชฃเซ เชเชเชเชกเซเชจเชพ เชเชเชพเชฐ เชเซเชตเซเช เชฒเชพเชเชถเซ. เชคเซเชฅเซ, เช เชฎเซเช เชธเซเชเซเชฐเซเช เชธเชพเชฅเซ, 10 เชกเชพเชเชธเชจเซ เชธเชฟเชธเซเชเชฎเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชตเชฟเชคเชฐเชฃ เชธเชพเชฅเซ RNG เชเชนเซ เชถเชเชพเชฏ.
เชฌเซเชเซเช เชเชฆเชพเชนเชฐเชฃ, เชซเชเซเชค เช เชธเชฎเชฏเซ เชชเซเชฒเซเชจเชฎเชพเช - เชฒเชเซเชทเซเชฏ เชชเชฐ เชถเซเชเชฟเชเช. เชถเซเชเชฐ เชเช RNG เชนเชถเซ เชเซ เชเซเชฐเชพเชซ เชชเชฐ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชฏเซเชฒ เชธเชเชเซเชฏเชพเชเชจเซ เชเซเชกเซ (x, y) เชเชจเชฐเซเช เชเชฐเซ เชเซ.
เชธเชเชฎเชค เชฅเชพเช เชเซ เชกเชพเชฌเซ เชฌเชพเชเซเชจเซ เชตเชฟเชเชฒเซเชช เชตเชพเชธเซเชคเชตเชฟเช เชเซเชตเชจเชจเซ เชจเชเซเช เชเซ - เช เชธเชพเชฎเชพเชจเซเชฏ เชตเชฟเชคเชฐเชฃ เชธเชพเชฅเซเชจเซ เชเชฐเชเชจเชเซ เชเซ. เชชเชฐเชเชคเซ เชเซ เชคเชฎเชพเชฐเซ เช
เชเชงเชพเชฐเชพเชตเชพเชณเชพ เชเชเชพเชถเชฎเชพเช เชคเชพเชฐเชพเช เชตเซเชฐเชตเชฟเชเซเชฐ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ, เชคเซ เชเช เชธเชฎเชพเชจ เชตเชฟเชคเชฐเชฃ เชธเชพเชฅเซ RNG เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฎเซเชณเชตเซเชฒ เชฏเซเชเซเชฏ เชตเชฟเชเชฒเซเชช เชตเชงเซ เชฏเซเชเซเชฏ เชเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชนเชพเชฅ เชชเชฐเชจเชพ เชเชพเชฐเซเชฏเชจเชพ เชเชงเชพเชฐเซ เชเชจเชฐเซเชเชฐ เชชเชธเชเชฆ เชเชฐเซ.
เชนเชตเซ เชเชพเชฒเซ PNG เชเซเชฐเชฎเชจเซ เชเชจเซเชเซเชฐเซเชชเซ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซเช. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเช เชเซเชฐเชฎ เชเซ เชเซ เชเชจเซ เชเซเชฎ เชถเชฐเซ เชฅเชพเชฏ เชเซ:
89, 93, 33, 32, 82, 21, 4, 42, 11, 8, 60, 95, 53, 30, 42, 19, 34, 35, 62, 23, 44, 38, 74, 36, 52 18, 58, 79, 65, 45, 99, 90, 82, 20, 41, 13, 88, 76, 82, 24, 5, 54, 72, 19, 80, 2, 74, 36, 71, 9, ...
เชชเซเชฐเชฅเชฎ เชจเชเชฐเชฎเชพเช เช เชธเชเชเซเชฏเชพเช เชเซเชเชฒเซ เชฐเซเชจเซเชกเชฎ เชเซ? เชเชพเชฒเซ เชตเชฟเชคเชฐเชฃ เชคเชชเชพเชธเซเชจเซ เชถเชฐเซ เชเชฐเซเช.
เชคเซ เชเชเชธเชฎเชพเชจเชจเซ เชจเชเซเช เชฒเชพเชเซ เชเซ, เชชเชฐเชเชคเซ เชเซ เชคเชฎเซ เชฌเซ เชธเชเชเซเชฏเชพเชเชจเซ เชเซเชฐเชฎ เชตเชพเชเชเซ เช
เชจเซ เชคเซเชฎเชจเซ เชชเซเชฒเซเชจ เชชเชฐ เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธ เชคเชฐเซเชเซ เช
เชฐเซเชฅเชเชเชจ เชเชฐเซ, เชคเซ เชคเชฎเชจเซ เช เชฎเชณเชถเซ:
เชชเซเชเชฐเซเชจ เชธเซเชชเชทเซเชเชชเชฃเซ เชฆเซเชถเซเชฏเชฎเชพเชจ เชฌเชจเซ เชเซ. เช
เชจเซ เชคเซเชฏเชพเชฐเชฅเซ เชเซเชฐเชฎเชฎเชพเชเชจเซ เชกเซเชเชพ เชเซเชเซเชเชธ เชฐเซเชคเซ เชเชฐเซเชกเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ (เชเชเชฒเซ โโโโเชเซ, เชคเซเชจเซ เชเชจเซเชเซเชฐเซเชชเซ เชเชเซ เชเซ), เช เชคเซ เชเซเชฌ เช "เชชเซเชฐเซเชตเชเซเชฐเชน" เชจเซ เชเชจเซเชฎ เชเชชเซ เชถเชเซ เชเซ. เชเชเชพเชฎเชพเช เชเชเชพ, เชเชตเชพ PRNG เชชเซเชฒเซเชจเชฎเชพเช เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธ เชเชจเชฐเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชฌ เชฏเซเชเซเชฏ เชจเชฅเซ.
เชฌเซเชเซ เชเซเชฐเชฎ:
42, 72, 17, 0, 30, 0, 15, 9, 47, 19, 35, 86, 40, 54, 97, 42, 69, 19, 20, 88, 4, 3, 67, 27, 42 56, 17, 14, 20, 40, 80, 97, 1, 31, 69, 13, 88, 89, 76, 9, 4, 85, 17, 88, 70, 10, 42, 98, 96, 53, ...
เชชเซเชฒเซเชจเชฎเชพเช เชชเชฃ เช
เชนเซเช เชฌเชงเซเช เชธเชพเชฐเซเช เชฒเชพเชเซ เชเซ:
เชเชพเชฒเซ เชตเซเชฒเซเชฏเซเชฎเชฎเชพเช เชเซเชเช (เชเช เชธเชฎเชฏเซ เชคเซเชฐเชฃ เชธเชเชเซเชฏเชพเช เชตเชพเชเชเซ):
เช
เชจเซ เชซเชฐเซเชฅเซ เชชเซเชเชฐเซเชจ. เชเชพเชฐ เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเช เชตเชฟเชเซเชฏเซเชฒเชพเชเชเซเชถเชจ เชฌเชจเชพเชตเชตเซเช เชนเชตเซ เชถเชเซเชฏ เชจเชฅเซ. เชชเชฐเชเชคเซ เชชเซเชเชฐเซเชจ เช เชชเชฐเชฟเชฎเชพเชฃ เชชเชฐ เช
เชจเซ เชฎเซเชเชพ เชชเชฐ เช
เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชนเซเช เชถเชเซ เชเซ.
เชเซเชฐเชฟเชชเซเชเซเชเซเชฐเชพเชซเซเชฎเชพเช, เชเซเชฏเชพเช PRNGs เชชเชฐ เชธเซเชฅเซ เชเชกเช เชเชตเชถเซเชฏเชเชคเชพเช เชฒเชพเชฆเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเชตเซ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชธเซเชชเชทเซเชเชชเชฃเซ เช เชธเซเชตเซเชเชพเชฐเซเชฏ เชเซ. เชคเซเชฅเซ, เชคเซเชฎเชจเซ เชเซเชฃเชตเชคเซเชคเชพเชจเซเช เชฎเซเชฒเซเชฏเชพเชเชเชจ เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชฟเชถเซเชท เช เชฒเซเชเซเชฐเชฟเชงเชฎเซเชธ เชตเชฟเชเชธเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ, เชเซเชจเซ เชเชชเชฃเซ เชนเชตเซ เชธเซเชชเชฐเซเชถ เชเชฐเซเชถเซเช เชจเชนเซเช. เชตเชฟเชทเชฏ เชตเซเชฏเชพเชชเช เชเซ เช เชจเซ เชเช เช เชฒเช เชฒเซเชเชจเซ เชชเชพเชคเซเชฐ เชเซ.
เชชเชฐเซเชเซเชทเชฃ
เชเซ เชเชชเชฃเซ เชเชพเชคเชฐเซเชชเซเชฐเซเชตเช เชเชเชเช เชเชพเชฃเชคเชพ เชจเชฅเซ, เชคเซ เชคเซเชจเซ เชธเชพเชฅเซ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชตเซเช? เชเซ เชคเชฎเชจเซ เชเชฌเชฐ เชจ เชนเซเชฏ เชเซ เชเช เชเซเชฐเชพเชซเชฟเช เชฒเชพเชเช เชคเซเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เชคเซ เชถเซเช เชคเซ เชฐเชธเซเชคเซ เชเซเชฐเซเชธ เชเชฐเชตเชพ เชฏเซเชเซเชฏ เชเซ? เชชเชฐเชฟเชฃเชพเชฎเซ เช เชฒเช เชนเซเช เชถเชเซ เชเซ.
เชคเซ เช เชฏเซเชจเชฟเชเซเชฎเชพเช เชเซเชเซเชฏเชพเชค เชฐเซเชจเซเชกเชฎเชจเซเชธ เชฎเชพเชเซ เชเชพเชฏ เชเซ. เชเซ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ เชเชฐเซเชฐเซ เชตเชฟเชเชคเซ เชฆเชฐเซเชถเชพเชตเซ เชเซ เชคเซ เชคเซ เชธเชพเชฐเซเช เชเซ, เชชเชฐเชเชคเซ เชฒเซเชเชจเซ เชถเชฐเซเชเชคเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชตเชพเชฐเซเชคเชพ เชเชเซเชเชฟเชค เชตเชฟเชถเชฟเชทเซเชเชคเชพเชเชจเชพ เช เชญเชพเชตเชจเซ เชเชพเชฐเชฃเซ เชเซเชเซเชเชธเชชเชฃเซ เชฌเชจเซ เชนเชคเซ.
เช เชจเซ เชเซ เชคเชฎเชจเซ เชเชฌเชฐ เชจเชฅเซ เชเซ เชธเชพเชงเชจ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ, เชคเซ เชคเชฎเซ เชคเซเชจเซ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชถเซ เชจเชนเซเช. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชเชเชพเชฎเชพเช เชเชเชพ เชตเชฟเชคเชฐเชฃ เชตเชฟเชถเซ เชเชเชฐเซ เชเชพเชคเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชชเซเชฐเชฏเซเช เชคเชชเชพเชธเชตเชพเชจเซ เช เชจเซ เชนเชพเชฅ เชงเชฐเชตเชพเชจเซ เชธเชฎเชฏ เชเชตเซ เชเชฏเซ เชเซ.
เชเชเซเชฒ เชธเชฐเชณ เช เชจเซ เช เชธเชฐเชเชพเชฐเช เชนเชคเซ - เชเชเชเชกเชพ เชเชเชคเซเชฐเชฟเชค เชเชฐเซ, เชเชฆเซเชฆเซเชถเซเชฏ เชกเซเชเชพ เชฎเซเชณเชตเซ เช เชจเซ เชชเชฐเชฟเชฃเชพเชฎเซ เชเซเช.
เช เชญเซเชฏเชพเชธเชจเซ เชตเชฟเชทเชฏ
เชฏเซเชจเชฟเชเซเชฎเชพเช เชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐ เชเชจเชฐเซเช เชเชฐเชตเชพเชจเซ เชเชฃเซ เชฐเซเชคเซ เชเซ - เช เชฎเซ เชชเชพเชเชเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเชฐเซเชฏเซเช เชเซ.
- System.Random.Next(). เชเชชเซเชฒ เชฎเซเชฒเซเชฏเซเชจเซ เชถเซเชฐเซเชฃเซเชฎเชพเช เชชเซเชฐเซเชฃเชพเชเชเซ เชเชจเชฐเซเช เชเชฐเซ เชเซ.
- System.Random.NextDouble(). [0 เชฅเซ เชถเซเชฐเซเชฃเซเชฎเชพเช เชกเชฌเชฒ เชเซเชเชธเชพเช เชจเชเชฌเชฐเซ เชฌเชจเชพเชตเซ เชเซ; 1).
- UnityEngine.Random.Range(). เชเชชเซเชฒ เชฎเซเชฒเซเชฏเซเชจเซ เชถเซเชฐเซเชฃเซเชฎเชพเช เชเชเชฒ เชเซเชเชธเชพเช เชจเชเชฌเชฐเซ (เชซเซเชฒเซเชเซเชธ) เชเชจเชฐเซเช เชเชฐเซ เชเซ.
- UnityEngine.Random.value. [0 เชฅเซ เชถเซเชฐเซเชฃเซเชฎเชพเช เชเชเชฒ เชเซเชเชธเชพเช เชจเชเชฌเชฐเซ (เชซเซเชฒเซเชเซเชธ) เชเชจเชฐเซเช เชเชฐเซ เชเซ; 1).
- Unity.Mathematics.Random.NextFloat(). เชจเชตเซ Unity.Mathematics เชชเซเชธเซเชคเชเชพเชฒเชฏเชจเซ เชญเชพเช. เชเชชเซเชฒ เชฎเซเชฒเซเชฏเซเชจเซ เชถเซเชฐเซเชฃเซเชฎเชพเช เชเชเชฒ เชเซเชเชธเชพเช เชจเชเชฌเชฐเซ (เชซเซเชฒเซเชเซเชธ) เชเชจเชฐเซเช เชเชฐเซ เชเซ.
เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃเชฎเชพเช เชฒเชเชญเช เชฆเชฐเซเช เชเชเซเชฏเชพเช UnityEngine.Random.value (เชเซเชฏเชพเช เชตเชฟเชคเชฐเชฃ เชจเชฟเชฐเซเชฆเชฟเชทเซเช เชจ เชนเชคเซเช, เชชเชฐเชเชคเซ UnityEngine.Random.Range() เชฏเซเชจเชฟเชซเซเชฐเซเชฎ เชธเชพเชฅเซ เชธเชฎเชพเชจเชคเชพ เชฆเซเชตเชพเชฐเชพ เชชเชฃ เช เชชเซเชเซเชทเชฟเชค เชนเชคเซเช) เช เชจเซ Unity.Mathematics.Random เชจเชพ เช เชชเชตเชพเชฆ เชธเชพเชฅเซ, เชเช เชธเชฎเชพเชจ เชตเชฟเชคเชฐเชฃเชจเซ เชเชฒเซเชฒเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ. .NextFloat() (เชเซเชฏเชพเช เชเชงเชพเชฐเชฎเชพเช xorshift เช เชฒเซเชเซเชฐเชฟเชงเชฎ เชเซ, เชเซเชจเซ เช เชฐเซเชฅ เชเซ เชเซ เชคเชฎเชพเชฐเซ เชซเชฐเซเชฅเซ เชเช เชธเชฎเชพเชจ เชตเชฟเชคเชฐเชฃ เชฎเชพเชเซ เชฐเชพเชน เชเซเชตเซ เชชเชกเชถเซ).
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เช เชชเซเชเซเชทเชฟเชค เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชคเชฐเซเชเซ เชฒเซเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชคเชพ.
เชชเชฆเซเชงเชคเชฟ
เช เชฎเซ เชเช เชจเชพเชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฒเชเซ เชเซ เชเซเชฃเซ เชชเซเชฐเชธเซเชคเซเชค เชชเชฆเซเชงเชคเชฟเชเชฎเชพเชเชฅเซ เชฆเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชตเซเชฏเชตเชธเซเชฅเชฟเชค เชธเชเชเซเชฏเชพเชเชจเซ เชเซเชฐเชฎ เชเชจเชฐเซเช เชเชฐเซเชฏเซ เชเซ เช เชจเซ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชเชเชณเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฎเชพเชเซ เชธเชพเชเชตเซเชฏเชพ เชเซ.
เชฆเชฐเซเช เชเซเชฐเชฎเชจเซ เชฒเชเชฌเชพเช 100 เชธเชเชเซเชฏเชพเช เชเซ.
เชฐเซเชจเซเชกเชฎ เชธเชเชเซเชฏเชพเชเชจเซ เชถเซเชฐเซเชฃเซ [0, 100) เชเซ.
เชเซเชเชฒเชพเช เชฒเชเซเชทเซเชฏ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชชเชฐเชฅเซ เชกเซเชเชพ เชเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ:
- เชตเชฟเชจเซเชกเซเช
โ Unity v2018.3.14f1, เชเชกเชฟเชเชฐ เชฎเซเชก, เชฎเซเชจเซ, .NET เชธเซเชเชพเชจเซเชกเชฐเซเชก 2.0 - MacOS
โ Unity v2018.3.14f1, เชเชกเชฟเชเชฐ เชฎเซเชก, เชฎเซเชจเซ, .NET เชธเซเชเชพเชจเซเชกเชฐเซเชก 2.0
โ เชฏเซเชจเชฟเชเซ v5.6.4p4, เชเชกเชฟเชเชฐ เชฎเซเชก, เชฎเซเชจเซ, .NET เชธเซเชเชพเชจเซเชกเชฐเซเชก 2.0 - , Android
โ Unity v2018.3.14f1, เชเชชเชเชฐเชฃ เชฆเซเช เชฌเชฟเชฒเซเชก, Mono, .NET เชงเซเชฐเชฃ 2.0 - iOS
โ Unity v2018.3.14f1, เชเชชเชเชฐเชฃ เชฆเซเช เชฌเชฟเชฒเซเชก, il2cpp, .NET เชงเซเชฐเชฃ 2.0
ะ ะตะฐะปะธะทะฐัะธั
เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชฐเซเชจเซเชกเชฎ เชจเชเชฌเชฐเซ เชเชจเชฐเซเช เชเชฐเชตเชพเชจเซ เชเชฃเซ เชเซเชฆเซ เชเซเชฆเซ เชฐเซเชคเซ เชเซ. เชคเซเชฎเชพเชเชจเชพ เชฆเชฐเซเช เชฎเชพเชเซ, เช เชฎเซ เชเช เช เชฒเช เชฐเซเชชเชฐ เชตเชฐเซเช เชฒเชเซเชถเซเช, เชเซ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเซเช เชเซเชเช:
- เชฎเซเชฒเซเชฏเซเชจเซ เชถเซเชฐเซเชฃเซ เชธเซเช เชเชฐเชตเชพเชจเซ เชถเชเซเชฏเชคเชพ [เชฎเชฟเชจเชฟเช/เชฎเชนเชคเซเชคเชฎ). เชเชจเซเชธเซเชเซเชฐเชเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
- MF เชชเชฐเชค เชเชฐเชตเชพเชจเซ เชชเชฆเซเชงเชคเชฟ. เชเชพเชฒเซ เชซเซเชฒเซเชเชจเซ เชชเซเชฐเชเชพเชฐ เชคเชฐเซเชเซ เชชเชธเชเชฆ เชเชฐเซเช, เชเชพเชฐเชฃ เชเซ เชคเซ เชตเชงเซ เชธเชพเชฎเชพเชจเซเชฏ เชเซ.
- เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชเชฟเชนเซเชจเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชเชจเชฐเซเชถเชจ เชชเชฆเซเชงเชคเชฟเชจเซเช เชจเชพเชฎ. เชธเชเชตเชก เชฎเชพเชเซ, เช เชฎเซ เชฎเซเชฒเซเชฏ เชคเชฐเซเชเซ เชตเชฐเซเชเชจเซเช เชชเซเชฐเซเช เชจเชพเชฎ + MF เชเชจเชฐเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชชเชฐเชพเชคเซ เชชเชฆเซเชงเชคเชฟเชจเซเช เชจเชพเชฎ เชเชชเซเชถเซเช.
เชชเซเชฐเชฅเชฎ, เชเชพเชฒเซ เชเช เชเชฌเซเชธเซเชเซเชฐเซเชเซเชถเชจ เชเชพเชนเซเชฐ เชเชฐเซเช เชเซ IRandomGenerator เชเชจเซเชเชฐเชซเซเชธ เชฆเซเชตเชพเชฐเชพ เชฐเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ:
namespace RandomDistribution
{
public interface IRandomGenerator
{
string Name { get; }
float Generate();
}
}
System.Random.Next() เชจเซเช เช เชฎเชฒเซเชเชฐเชฃ
เช เชชเชฆเซเชงเชคเชฟ เชคเชฎเชจเซ เชฎเซเชฒเซเชฏเซเชจเซ เชถเซเชฐเซเชฃเซ เชธเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชชเซเชฐเซเชฃเชพเชเชเซ เชเชชเซ เชเซ, เชชเชฐเชเชคเซ เชซเซเชฒเซเชเซเชธ เชเชฐเซเชฐเซ เชเซ. เชคเชฎเซ เชชเซเชฐเซเชฃเชพเชเชเชจเซ เชซเซเชฒเซเช เชคเชฐเซเชเซ เชธเชฐเชณเชคเชพเชฅเซ เช เชฐเซเชฅเชเชเชจ เชเชฐเซ เชถเชเซ เชเซ, เช เชฅเชตเชพ เชคเชฎเซ เชฎเชฟเชกเชฐเซเชจเซเชเชจเซ เชฆเชฐเซเช เชชเซเชขเซ เชธเชพเชฅเซ เชคเซเชฎเชจเซ เชตเชณเชคเชฐ เชเชชเซเชจเซ เชฎเซเชฒเซเชฏเซเชจเซ เชถเซเชฐเซเชฃเซเชจเซ เชฎเซเชเซเชจเชฟเชเซเชฏเซเชกเชจเชพ เชเซเชเชฒเชพเช เชเชฐเซเชกเชฐ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชธเซเชคเซเชค เชเชฐเซ เชถเชเซ เชเซ. เชชเชฐเชฟเชฃเชพเชฎ เชเชชเซเชฒ เชเซเชเชธเชพเชเชจเชพ เชเซเชฐเชฎ เชธเชพเชฅเซ เชจเชฟเชถเซเชเชฟเชค-เชฌเชฟเชเชฆเซ เชเซเชตเซเช เชเชเชเช เชนเชถเซ. เช เชฎเซ เช เชตเชฟเชเชฒเซเชชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช เชเชพเชฐเชฃ เชเซ เชคเซ เชตเชพเชธเซเชคเชตเชฟเช เชซเซเชฒเซเช เชฎเซเชฒเซเชฏเชจเซ เชจเชเซเช เชเซ.
using System;
namespace RandomDistribution
{
public class SystemIntegerRandomGenerator : IRandomGenerator
{
private const int DefaultFactor = 100000;
private readonly Random _generator = new Random();
private readonly int _min;
private readonly int _max;
private readonly int _factor;
public string Name => "System.Random.Next()";
public SystemIntegerRandomGenerator(float min, float max, int factor = DefaultFactor)
{
_min = (int)min * factor;
_max = (int)max * factor;
_factor = factor;
}
public float Generate() => (float)_generator.Next(_min, _max) / _factor;
}
}
System.Random.NextDouble() เชจเซเช เช เชฎเชฒเซเชเชฐเชฃ
เช เชนเซเช เชฎเซเชฒเซเชฏเซเชจเซ เชจเชฟเชถเซเชเชฟเชค เชถเซเชฐเซเชฃเซ [0; 1). เชคเซเชจเซ เชเชจเซเชธเซเชเซเชฐเชเซเชเชฐเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชเช เชชเชฐ เชชเซเชฐเซเชเซเชเซเช เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชธเชฐเชณ เช เชเชเชเชฃเชฟเชคเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช: X * (เชฎเชนเชคเซเชคเชฎ โ เชฎเชฟเชจเชฟเช) + เชฎเชฟเชจเชฟเช.
using System;
namespace RandomDistribution
{
public class SystemDoubleRandomGenerator : IRandomGenerator
{
private readonly Random _generator = new Random();
private readonly double _factor;
private readonly float _min;
public string Name => "System.Random.NextDouble()";
public SystemDoubleRandomGenerator(float min, float max)
{
_factor = max - min;
_min = min;
}
public float Generate() => (float)(_generator.NextDouble() * _factor) + _min;
}
}
UnityEngine.Random.Range() เชจเซเช เช เชฎเชฒเซเชเชฐเชฃ
UnityEngine.Random เชธเซเชเซเชเชฟเช เชเซเชฒเชพเชธเชจเซ เช เชชเชฆเซเชงเชคเชฟ เชคเชฎเชจเซ เชฎเซเชฒเซเชฏเซเชจเซ เชถเซเชฐเซเชฃเซ เชธเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เช เชจเซ เชซเซเชฒเซเช เชชเซเชฐเชเชพเชฐ เชชเชฐเชค เชเชฐเซ เชเซ. เชคเชฎเชพเชฐเซ เชเซเชเชชเชฃ เชตเชงเชพเชฐเชพเชจเชพ เชชเชฐเชฟเชตเชฐเซเชคเชจเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
using UnityEngine;
namespace RandomDistribution
{
public class UnityRandomRangeGenerator : IRandomGenerator
{
private readonly float _min;
private readonly float _max;
public string Name => "UnityEngine.Random.Range()";
public UnityRandomRangeGenerator(float min, float max)
{
_min = min;
_max = max;
}
public float Generate() => Random.Range(_min, _max);
}
}
UnityEngine.Random.value เชจเซเช เช เชฎเชฒเซเชเชฐเชฃ
เชธเซเชฅเชฟเชฐ เชตเชฐเซเช UnityEngine. เชฐเซเชจเซเชกเชฎ เชจเซ เชฎเซเชฒเซเชฏ เชเซเชฃเชงเชฐเซเชฎ เชฎเซเชฒเซเชฏเซเชจเซ เชจเชฟเชถเซเชเชฟเชค เชถเซเชฐเซเชฃเซเชฎเชพเชเชฅเซ เชซเซเชฒเซเช เชชเซเชฐเชเชพเชฐ เชชเชฐเชค เชเชฐเซ เชเซ [0; 1). เชเชพเชฒเซ เชคเซเชจเซ เชเชชเซเชฒ เชถเซเชฐเซเชฃเซ เชชเชฐ เชคเซ เช เชฐเซเชคเซ เชชเซเชฐเซเชเซเชเซเช เชเชฐเซเช เชเซ เชฐเซเชคเซ System.Random.NextDouble() เชจเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเชคเซ เชตเชเชคเซ.
using UnityEngine;
namespace RandomDistribution
{
public class UnityRandomValueGenerator : IRandomGenerator
{
private readonly float _factor;
private readonly float _min;
public string Name => "UnityEngine.Random.value";
public UnityRandomValueGenerator(float min, float max)
{
_factor = max - min;
_min = min;
}
public float Generate() => (float)(Random.value * _factor) + _min;
}
}
Unity.Mathematics.Random.NextFloat() เชจเซเช เช เชฎเชฒเซเชเชฐเชฃ
Unity.Mathematics.Random เชเซเชฒเชพเชธเชจเซ NextFloat() เชชเชฆเซเชงเชคเชฟ เชซเซเชฒเซเช เชชเซเชฐเชเชพเชฐเชจเซ เชซเซเชฒเซเชเชฟเชเช เชชเซเชเชจเซเช เชเชชเซ เชเซ เช เชจเซ เชคเชฎเชจเซ เชฎเซเชฒเซเชฏเซเชจเซ เชถเซเชฐเซเชฃเซเชจเซ เชเชฒเซเชฒเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชเชเชฎเชพเชคเซเชฐ เชเซเชเชเชพเช เช เชเซ เชเซ Unity.Mathematics.Random เชจเชพ เชฆเชฐเซเช เชฆเชพเชเชฒเชพเชจเซ เช เชฎเซเช เชฌเซเช เชธเชพเชฅเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเซ เชชเชกเชถเซ - เช เชฐเซเชคเซ เชเชชเชฃเซ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชธเชฟเชเซเชตเชจเซเชธ เชเชจเชฐเซเช เชเชฐเชตเชพเชจเซเช เชเชพเชณเซเชถเซเช.
using Unity.Mathematics;
namespace RandomDistribution
{
public class UnityMathematicsRandomValueGenerator : IRandomGenerator
{
private Random _generator;
private readonly float _min;
private readonly float _max;
public string Name => "Unity.Mathematics.Random.NextFloat()";
public UnityMathematicsRandomValueGenerator(float min, float max)
{
_min = min;
_max = max;
_generator = new Random();
_generator.InitState(unchecked((uint)System.DateTime.Now.Ticks));
}
public float Generate() => _generator.NextFloat(_min, _max);
}
}
เชฎเซเชเซเชฏ เชจเชฟเชฏเชเชคเซเชฐเชเชจเซเช เช เชฎเชฒเซเชเชฐเชฃ
IRandomGenerator เชจเชพ เชเชฃเชพ เช เชฎเชฒเซเชเชฐเชฃเซ เชคเซเชฏเชพเชฐ เชเซ. เชเชเชณ, เชคเชฎเชพเชฐเซ เชธเชฟเชเซเชตเชจเซเชธ เชเชจเชฐเซเช เชเชฐเชตเชพเชจเซ เช เชจเซ เชชเชฐเชฟเชฃเชพเชฎเซ เชกเซเชเชพเชธเซเชเชจเซ เชชเซเชฐเซเชธเซเชธเชฟเชเช เชฎเชพเชเซ เชธเชพเชเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชฏเซเชจเชฟเชเซเชฎเชพเช เชเช เชธเซเชจ เช เชจเซ เชเช เชจเชพเชจเซ เชฎเซเชเชจเชเชเชเซเชฐเซเชฒเชฐ เชธเซเชเซเชฐเชฟเชชเซเช เชฌเชจเชพเชตเซเชถเซเช, เชเซ เชคเชฎเชพเชฎ เชเชฐเซเชฐเซ เชเชพเชฎ เชเชฐเชถเซ เช เชจเซ เชคเซ เช เชธเชฎเชฏเซ UI เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชนเชถเซ.
เชเชพเชฒเซ เชกเซเชเชพเชธเซเชเชจเซเช เชเชฆ เช เชจเซ MF เชฎเซเชฒเซเชฏเซเชจเซ เชถเซเชฐเซเชฃเซ เชธเซเช เชเชฐเซเช, เช เชจเซ เชเช เชชเชฆเซเชงเชคเชฟ เชชเชฃ เชฎเซเชณเชตเซเช เชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เช เชจเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเชจเชฐเซเชเชฐเซเชธเชจเซ เชถเซเชฐเซเชฃเซ เชเชชเซ เชเซ.
namespace RandomDistribution
{
public class MainController : MonoBehaviour
{
private const int DefaultDatasetSize = 100000;
public float MinValue = 0f;
public float MaxValue = 100f;
...
private IRandomGenerator[] CreateRandomGenerators()
{
return new IRandomGenerator[]
{
new SystemIntegerRandomGenerator(MinValue, MaxValue),
new SystemDoubleRandomGenerator(MinValue, MaxValue),
new UnityRandomRangeGenerator(MinValue, MaxValue),
new UnityRandomValueGenerator(MinValue, MaxValue),
new UnityMathematicsRandomValueGenerator(MinValue, MaxValue)
};
}
...
}
}
เชนเชตเซ เชกเซเชเชพเชธเซเช เชฌเชจเชพเชตเซเช. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชกเซเชเชพ เชเชจเชฐเซเชถเชจเชจเซ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชเซเชเซเชธเซเช เชธเซเชเซเชฐเซเชฎเชฎเชพเช (csv เชซเซเชฐเซเชฎเซเชเชฎเชพเช) เชฐเซเชเซเชฐเซเชก เชเชฐเชตเชพ เชธเชพเชฅเซ เชเซเชกเชตเชพเชฎเชพเช เชเชตเชถเซ. เชฆเชฐเซเช IRandomGenerator เชจเชพ เชฎเซเชฒเซเชฏเซเชจเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเซเชจเซ เชชเซเชคเชพเชจเซ เช เชฒเช เชเซเชฒเชฎ เชซเชพเชณเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ เชชเซเชฐเชฅเชฎ เชฒเชพเชเชจเชฎเชพเช เชเชจเชฐเซเชเชฐเชจเซเช เชจเชพเชฎ เชนเซเชฏ เชเซ.
namespace RandomDistribution
{
public class MainController : MonoBehaviour
{
...
private void GenerateCsvDataSet(TextWriter writer, int dataSetSize, params IRandomGenerator[] generators)
{
const char separator = ',';
int lastIdx = generators.Length - 1;
// write header
for (int j = 0; j <= lastIdx; j++)
{
writer.Write(generators[j].Name);
if (j != lastIdx)
writer.Write(separator);
}
writer.WriteLine();
// write data
for (int i = 0; i <= dataSetSize; i++)
{
for (int j = 0; j <= lastIdx; j++)
{
writer.Write(generators[j].Generate());
if (j != lastIdx)
writer.Write(separator);
}
if (i != dataSetSize)
writer.WriteLine();
}
}
...
}
}
เชเซ เชฌเชพเชเซ เชเซ เชคเซ GenerateCsvDataSet เชชเชฆเซเชงเชคเชฟเชจเซ เชเซเชฒ เชเชฐเชตเชพเชจเซเช เชเซ เช เชจเซ เชชเชฐเชฟเชฃเชพเชฎเชจเซ เชซเชพเชเชฒเชฎเชพเช เชธเชพเชเชตเชตเชพเชจเซเช เชเซ, เช เชฅเชตเชพ เชจเซเชเชตเชฐเซเช เชชเชฐเชจเชพ เชกเซเชเชพเชจเซ เช เชเชคเชฟเชฎ เชเชชเชเชฐเชฃเชฎเชพเชเชฅเซ เชชเซเชฐเชพเชชเซเชค เชเชฐเชจเชพเชฐ เชธเชฐเซเชตเชฐ เชชเชฐ เชคเชฐเชค เช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชจเซเช เชเซ.
namespace RandomDistribution
{
public class MainController : MonoBehaviour
{
...
public void GenerateCsvDataSet(string path, int dataSetSize, params IRandomGenerator[] generators)
{
using (var writer = File.CreateText(path))
{
GenerateCsvDataSet(writer, dataSetSize, generators);
}
}
public string GenerateCsvDataSet(int dataSetSize, params IRandomGenerator[] generators)
{
using (StringWriter writer = new StringWriter(CultureInfo.InvariantCulture))
{
GenerateCsvDataSet(writer, dataSetSize, generators);
return writer.ToString();
}
}
...
}
}
เชชเซเชฐเซเชเซเชเซเชเชจเชพ เชธเซเชคเซเชฐเซ เชฎเซ
เชฐเชฟเชเชฒเซเช
เชเซเช เชเชฎเชคเซเชเชพเชฐ เชฅเชฏเซ เชจเชฅเซ. เชคเซเช เชเซ เช เชชเซเชเซเชทเชพ เชฐเชพเชเซ เชเซ เชคเซ เช เชคเซเชฎเชจเซ เชฎเชณเซเชฏเซเช - เชคเชฎเชพเชฎ เชเชฟเชธเซเชธเชพเชเชฎเชพเช, เชเชพเชตเชคเชฐเชพเชเชจเชพ เชธเชเชเซเชค เชตเชฟเชจเชพ เชธเชฎเชพเชจ เชตเชฟเชคเชฐเชฃ. เชฎเชจเซ เชชเซเชฒเซเชเชซเซเชฐเซเชฎเซเชธ เชฎเชพเชเซ เช เชฒเช เชเซเชฐเชพเชซ เชฎเซเชเชตเชพเชจเซ เชฎเซเชฆเซเชฆเซ เชฆเซเชเชพเชคเซ เชจเชฅเซ - เชคเซ เชฌเชงเชพ เชฒเชเชญเช เชธเชฎเชพเชจ เชชเชฐเชฟเชฃเชพเชฎเซ เชฆเชฐเซเชถเชพเชตเซ เชเซ.
เชตเชพเชธเซเชคเชตเชฟเชเชคเชพ เชเซ:
เชคเชฎเชพเชฎ เชชเชพเชเช เชชเซเชขเซ เชชเชฆเซเชงเชคเชฟเชเชฎเชพเชเชฅเซ เชชเซเชฒเซเชจ เชชเชฐ เชธเชฟเชเซเชตเชจเซเชธเชจเซเช เชตเชฟเชเซเชฏเซเชฒเชพเชเชเซเชถเชจ:
เช
เชจเซ 3D เชฎเชพเช เชตเชฟเชเซเชฏเซเชฒเชพเชเชเซเชถเชจ. เชนเซเช เชซเชเซเชค System.Random.Next() เชจเซเช เชชเชฐเชฟเชฃเชพเชฎ เช เชเซเชกเซเชถ เชเซเชฅเซ เชธเชฎเชพเชจ เชธเชพเชฎเชเซเชฐเซเชจเซ เชธเชฎเซเชน เชเชคเซเชชเชจเซเชจ เชจ เชฅเชพเชฏ.
UnityEngine เชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เชตเชฟเชคเชฐเชฃ เชตเชฟเชถเซเชจเซ เชชเชฐเชฟเชเชฏเชฎเชพเช เชเชนเซเชตเชพเชฎเชพเช เชเชตเซเชฒเซ เชตเชพเชฐเซเชคเชพ. เชฐเซเชจเซเชกเชฎ เชชเซเชคเชพเชจเซ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชเชฐเชคเซเช เชจเชฅเซ: เชเชพเช เชคเซ เชคเซ เชถเชฐเซเชเชคเชฎเชพเช เชญเซเชฒเชญเชฐเซเชฒเซเช เชนเชคเซเช, เช
เชฅเชตเชพ เชคเซเชฏเชพเชฐเชฅเซ เชเชจเซเชเชฟเชจเชฎเชพเช เชเชเชเช เชฌเชฆเชฒเชพเชฏเซเช เชเซ. เชชเชฐเชเชคเซ เชนเชตเซ เช
เชฎเชจเซ เชเชพเชคเชฐเซ เชเซ.
เชธเซเชฐเซเชธ: www.habr.com