디지털 룰렛 돌리기 & 제비뽑기 추첨기
점심 메뉴, 벌칙, 당첨자 추첨용 커스텀 Canvas 회전 룰렛 및 랜덤 제비뽑기
지금 계산한 분들이 함께 많이 사용하는 도구
사용 방법 및 안내
디지털 룰렛 돌리기 & 제비뽑기 추첨기는 점심 메뉴 추천, 회식 자리 배정, 사내 경품 추첨, 발표 순서 정하기 등 공정한 무작위 추첨이 필요한 상황에서 100% 브라우저 기반으로 동작합니다. 모든 난수는 암호학적으로 안전한 Web Cryptography API(crypto.getRandomValues)를 사용하여 편향 없이 생성됩니다.
암호학적 난수(CSPRNG) 및 감속 물리 회전 알고리즘
룰렛 엔진은 클릭 시점에 수학적 균등 확률로 당첨자를 사전 확정하고 자연스러운 감속 궤적을 렌더링합니다:
- 암호학적 균등 분포: 예측 가능한 일반
Math.random()대신 OS 하드웨어 엔트로피를 사용하는crypto.getRandomValues를 호출하여 완전한 난수성을 보장합니다. - 조작 방지 락(Lock): 회전 또는 추첨이 진행되는 동안 항목 추가·삭제와 탭 전환이 잠겨 중간 조작을 원천 차단합니다.
추첨 모드별 기술 규격 및 기능 사양표
| 추첨 방식 | 통계적 추출 모델 | 지원 용량 및 기능 |
|---|---|---|
| 룰렛 돌리기 | 복원 추출 (각 항목이 동일한 2π/N 각도 점유) | 2개 ~ 12개 항목, 60fps 부드러운 Canvas 렌더링 |
| 제비뽑기 | 비복원 추출 (당첨된 항목은 남은 풀에서 자동 제외) | 최대 30명, 다중 인원 동시 추첨 지원 |
| 난수 엔진 | Web Cryptography API (암호학적 CSPRNG) | 100% 클라이언트 로컬 메모리 처리 (서버 전송 0%) |
기술적 한계 고지 및 유의사항
본 추첨기는 모임, 발표, 이벤트 등 일상적 의사결정을 돕기 위한 도구이며 사행행위 등 규제 및 처벌 특례법에 따른 법정 공인 추첨기나 도박용 기기가 아닙니다. 브라우저 메모리에서만 동작하므로 페이지 새로고침 시 기존 추첨 이력이 초기화됩니다.
자주 묻는 질문 (FAQ)
룰렛 추첨 결과는 완전히 공정한가요?
네. 브라우저 Web Cryptography API의 crypto.getRandomValues로 당첨 인덱스를 먼저 고른 뒤, 그 칸이 상단 포인터에 오도록 목표 각도를 계산해 회전합니다. 각 항목은 동일한 각도(1/N)를 차지하며 편향이 발생하지 않습니다.
룰렛과 제비뽑기는 어떻게 다른가요?
룰렛은 같은 목록에서 반복해서 한 명을 뽑을 수 있는 복원 추첨입니다. 제비뽑기는 뽑힌 이름을 주머니에서 빼는 비복원 추출이라 남은 인원만 다음에 뽑히며, 발표 순서나 경품 순번을 정할 때 적합합니다.
제비뽑기에서 이미 뽑힌 사람이 다시 나올 수 있나요?
없습니다. 한 번 뽑힌 이름은 남은 명단에서 즉시 제외됩니다. 같은 구성으로 다시 뽑으려면 초기화 버튼으로 원래 명단을 주머니에 되돌리면 됩니다.
돌리는 도중에 항목을 변경하여 조작할 수 있나요?
불가능합니다. 추첨 중이거나 제비를 뽑는 동안 목록 추가·삭제와 탭 전환이 잠깁니다. 당첨이 난수로 먼저 확정된 뒤 그 각도로만 움직이므로 중간 조작이 원천 차단됩니다.