123LuckyNumber는 브라우저 안의 실감 나는 3D 추첨기로 번호를 뽑아 주는 무료 로또 번호 생성기예요. 공정함과 개인정보 보호를 목표로 만들었어요. 모든 번호는 암호학적으로 안전한 난수 생성기에서 나오고, 나 자신이나 내 추첨에 관한 어떤 정보도 서버로 보내지 않아요.
추첨 작동 방식, 단계별로
- 번호를 먼저 뽑아요. 공이 움직이기 전에 브라우저의 Web Crypto API(
crypto.getRandomValues)가 조합의 모든 번호를 뽑아요. 추첨할 때마다 거부 샘플링(rejection sampling)을 써서 어떤 번호도 다른 번호보다 조금이라도 더 잘 나오지 않게 하고, 로또 번호 그룹은 추첨기에서 공을 꺼내듯 중복 없이 뽑아요. - 추첨기는 스스로 돌아가요. 공기 분사가 실제 물리 법칙에 따라 통 안에서 공을 날려요. 중력, 튕김, 공끼리의 충돌까지 계산해요. 위쪽의 흡입구는 공기가 실어 오는 공을 잡아요.
- 번호를 맞춰 옮겨요. 같은 색 공은 번호만 빼고 똑같아 보이므로, 뽑힌 번호를 곧 잡힐 공으로 옮겨요. 이때 두 번호 모두 보이지 않을 때만 옮겨요. 공 더미 깊숙이 있거나, 추첨기 부품 뒤에 가려 있거나, 번호가 반대쪽을 향할 때예요. 추첨기는 화면에 보이는 것보다 조금 앞서 돌아가므로 이런 순간을 기다릴 수 있고, 제때 그런 순간이 오지 않을 때만 보이는 상태에서 번호가 바뀌어요. 공이 받침대로 가기 시작하면 그 번호는 절대 바뀌지 않아요.
- 공이 받침대로 굴러가고, 그 번호가 화면 위쪽의 결과에 추가돼요.
왜 물리 엔진이 번호를 고르게 하지 않나요?
시뮬레이션은 공정한 난수원이 아니기 때문이에요. 시작 위치, 시간 간격, 반올림 같은 작은 차이 때문에 어떤 공이 다른 공보다 더 자주 나올 수 있고, 그렇지 않다고 증명할 수 있는 사람도 없어요. 암호학적 생성기는 예측할 수 없고 고르게 분포하도록 설계되고 검증되었어요. 둘을 분리하면 양쪽의 장점을 모두 얻을 수 있어요. 진짜처럼 보이는 추첨과 믿을 수 있는 결과예요.
복권 정보
각 프리셋은 플레이어가 복권 용지에서 고르는 번호예요. Powerball이라면 1~69 중 번호 5개와 1~26 중 1개예요. Pick 3나 4D 같은 자릿수 게임은 자리마다 별도의 공 열 개에서 숫자를 뽑으므로 같은 숫자가 반복될 수 있어요. 각 형식은 운영사 공식 웹사이트와 대조해 확인했지만, 형식은 때때로 바뀌므로 항상 해당 복권의 공식 규칙이 우선해요. 추첨기는 방문할 때마다 한 번 IP 주소로 찾은 내 나라의 복권으로 시작하며(개인정보처리방침 참고), 다른 복권으로 바꾸거나 사용자 지정 추첨을 설정할 수 있어요.
사용한 기술
- 3D 렌더링: three.js(MIT 라이선스)
- 이 추첨기를 위해 직접 만든 작은 공 물리 엔진
- IP-국가 데이터: DB-IP(CC BY 4.0)
- 서버는 순수 PHP로 돌아가며, 데이터베이스도, 계정도, 추적도 없어요
모든 파일은 외부 CDN이 아닌 이 사이트에서 제공하므로, 페이지가 다른 곳의 코드를 불러오는 일이 없어요.
123 패밀리
123LuckyNumber는 123DiceRoller, 123SpinWheel 등 가입 없이 쓰는 저희의 무료 도구 가운데 하나예요. 질문, 아이디어, 버그 제보가 있다면 hello@123luckynumber.com으로 이메일을 보내 주세요.
최종 업데이트: