400 likes | 1.24k Views
201311308 전세진 201311279 백승대 201311302 이정우. 큐브공식 시뮬레이션. Linear Algebra with Matlab. 개요. 큐브공식 시뮬레이션 ? 시연 GUI 코드 데이터 처리 및 내부동작함수 전체적 구조 확장가능 성. 본프로젝트의 개념. 큐브공식 시뮬레이션 ?. 컴퓨터 스스로 루빅스큐브 솔루션에 따라 큐브를 맞춰주는 프로그램. 큐브공식 시뮬레이션 ?. 큐브의 상태를 이미지 로 표현 ( 프로세싱 연동 )
E N D
201311308 전세진 201311279 백승대 201311302 이정우 큐브공식 시뮬레이션 Linear Algebra with Matlab
개요 • 큐브공식 시뮬레이션? • 시연 • GUI 코드 • 데이터 처리 및 내부동작함수 • 전체적 구조 • 확장가능성
큐브공식 시뮬레이션? 컴퓨터 스스로 루빅스큐브 솔루션에 따라 큐브를 맞춰주는 프로그램
큐브공식 시뮬레이션? 큐브의 상태를 이미지로 표현 (프로세싱 연동) 공식에 따라 해결과정을 한 단계씩 보여줌 사용자가 직접 맞추는 것 역시 가능 큐브의회전/확대/축소 기능으로 관찰이 용이 큐브 공식개발 등의 연구에 적합할 것으로 예상
신경 쓸 것은 크게 둘 1. 데이터 전달 2. 큐브 구현
GUI 코드 – 데이터 전달 hist, cube cube
GUI 코드 – 데이터 전달 VARIABLES
GUI 코드 – 큐브 구현 조각 하나하나가 ‘객체’
GUI 코드 – 큐브 구현 ㆍ ㆍ ㆍ
데이터 & 내부동작함수 - 개요 • 데이터 - variables.m(A~Z & 1~6) • 내부동작함수 – turn 시리즈 • 내부동작함수 – mixup.m • 내부동작함수 – 공식의 적용
우선 • if : 경우의 수가 너무 많음 find를 쓰더라도 결국 if의 사용이 불가피 • while : while과 find가여사건관계– find 쓰면 경우의 수가 너무 많아짐
내부동작함수 – turn series 가장 많은 파일 수를 차지
함수호출 로그를 저장 • Processing 부분에서는 로그만을 가져감 • 한 번에 한 단계씩 보여주기 위함 • cube 변수 처리 • cube : 전체 큐브 모양을 담는 변수 • 큐브공식의 진행단계를 확인하기 위함 • 매우 많은 단순 대입연산
내부동작함수 – mixup.m 큐브를랜덤하게 섞어주는 함수
랜덤값6개를 받음 • 0~3 사이의 정수 • 시드를 받기 때문에 실행시마다 다른 값 • 섞는 작업 • U, D, F, B, R, L 의 6군데에서 • 3번 이하의 횟수로 큐브를 돌려줌
내부동작함수 – 공식의 적용 57개의 OLL, 21개의 PLL 등등 – 디버거 정우에게 경의를...
그래서 모든 경우의 수를 조사하기로 -> 승대가 제안, 승대가 해결, 대단한승대
ㆍ ㆍ ㆍ
전체적 구조 cube=[A,B,C,…,Z]; hist=[’Fn’;’Bp’;’Rn’;…]; matlabCube(); returnCubeStatus(); cube hist = []; % 초기화
제시할 확장의 전제조건 노가다
확장가능성1– 사용자 지정 큐브상태 사용자가 공식을 보며 따라할 수 있도록 큐브 해부하듯 조각의 클릭을 통한 교환
확장가능성2– n×n×n큐브 조각 데이터 갈아엎기 - 2n^2+(n-2)(2n+2(n-2)) 개 필요 회전함수 추가 - 6n개 필요 공식 입력 - 하….