파이썬 플레이그라운드
도서명:파이썬 플레이그라운드
저자/출판사:마헤시,벤키타찰람/에이콘출판
쪽수:432쪽
출판일:2016-11-18
ISBN:9788960779259
목차
1부. 워밍업
1장. 아이튠즈 재생목록 다루기
__아이튠즈 재생목록 파일 분석
__요구사항
__코드
____중복곡 찾기
____중복곡 추출하기
____둘 이상의 재생목록에 공통되는 트랙 찾기
____통계 값 수집하기
____데이터를 플롯으로 나타내기
____명령 라인 옵션
__전체 코드
__프로그램 실행
__정리
__실습!
2장. 스파이로그래프
__매개변수 방정식
____스파이로그래프의 방정식
____turtle 모듈의 그래픽
__요구사항
__코드
____Spiro 생성자
____초기설정을 수행하는 함수들
____restart() 메소드
____draw() 메소드
____애니메이션 만들기
____SpiroAnimator 클래스
____genRandomParams() 메소드
____프로그램 재시작
____update() 메소드
____커서를 보이거나 숨기기
____곡선 저장하기
____명령 라인 인수 파싱과 초기화
__전체 코드
__스파이로그래프 애니메이션 실행
__정리
__실습!
2부. 생명체 시뮬레이션
3장. 콘웨이의 생명게임
__동작 원리
__요구사항
__코드
____그리드 표현하기
____초기 조건
____경계 조건
____규칙 구현하기
____프로그램에 명령 라인 인수 전달하기
____시뮬레이션 초기화하기
__전체 코드
__생명게임 시뮬레이션 실행
__정리
__실습!
4장. 카플러스 스트롱 알고리즘을 이용한 배음 생성
__동작 원리
____시뮬레이션
____WAV 파일 생성하기
____단 5음계
__요구사항
__코드
____deque로 원형 버퍼 구현하기
____카플러스 스트롱 알고리즘 구현하기
____WAV 파일 기록하기
____pygame으로 WAV 파일 재생하기
____main() 메소드
__전체 코드
__시뮬레이션 실행
__정리
__실습!
5장. 보이즈: 군집 시뮬레이션
__동작 원리
__요구사항
__코드
____새들의 위치 및 속도 계산하기
____경계 조건 설정하기
____새 그리기
____규칙 적용하기
____새 추가하기
____새들을 분산시키기
____명령 라인 인수
____Boids 클래스
__전체 코드
__보이즈 시뮬레이션 실행
__정리
__실습!
3부. 이미지 갖고 놀기
6장. 아스키 아트
__동작 원리
__요구사항
__코드
____그레이스케일 레벨과 그리드 정의하기
____평균 밝기 계산하기
____이미지로부터 아스키 콘텐츠 생성하기
____명령 라인 옵션
____아스키 아트 문자열을 텍스트 파일에 기록하기
__전체 코드
__아스키 아트 생성 프로그램 실행
__정리
__실습!
7장. 포토모자이크
__동작 원리
____타깃 이미지 분할하기
____색상 값의 평균 구하기
____이미지 대조하기
__요구사항
__코드
____타일 이미지 읽기
____입력 이미지의 평균 색상 값 계산하기
____타깃 이미지 분할하기
____타일과 가장 비슷한 이미지 찾기
____이미지 그리드 생성하기
____포토모자이크 생성하기
____명령 라인 옵션 추가하기
____포토모자이크의 크기 제어하기
__전체 코드
__포토모자이크 생성 프로그램 실행
__정리
__실습!
8장. 오토스테레오그램
__동작 원리
____오토스테레오그램 내의 깊이 지각하기
____깊이맵
__요구사항
__코드
____주어진 타일 반복하기
____임의의 원으로 타일 생성하기
____오토스테레오그램 만들기
____명령 라인 옵션
__전체 코드
__오토스테레오그램 생성 프로그램 실행
__정리
__실습!
4부. 3D 입문
9장. OpenGL의 이해
__올드스쿨 OpenGL
__현대적인 OpenGL: 3D 그래픽 파이프라인
____지오메트리 프리미티브
____3D 변환
____셰이더
____버텍스 버퍼
____텍스처 매핑
____OpenGL을 화면에 표시하기
__요구사항
__코드
____OpenGL 창 생성하기
____콜백 설정하기
____Scene 클래스
__전체 코드
__OpenGL 애플리케이션 실행
__정리
__실습!
10장. 입자 시스템
__동작 원리
____입자의 움직임 모델링하기
____최대 스프레드 설정하기
____입자를 렌더링하기
____현실적인 스파크를 생성하기 위해 OpenGL 블렌딩 사용하기
____빌보딩 사용하기
____애니메이션 생성하기
__요구사항
__입자 시스템을 구현하는 코드
____입자의 지오메트리 정의하기
____입자들의 시간차 배열 정의하기
____입자의 초기 속도 설정하기
____버텍스 셰이더 생성하기
____프래그먼트 셰이더 생성하기
____렌더링
____Camera 클래스
__입자 시스템의 전체 코드
__박스 코드
__메인 프로그램의 코드
____시간 단계별로 입자 갱신하기
____키보드 핸들러
____메인 프로그램 루프 관리하기
__메인 프로그램의 전체 코드
__프로그램 실행
__정리
__실습!
11장. 볼륨 렌더링
__동작 원리
____데이터 포맷
____광선 생성하기
____OpenGL 창 표시하기
__요구사항
__프로젝트 코드의 개요
____3D 텍스처 생성하기
__3D 텍스처의 전체 코드
__광선 생성
____컬러 큐브의 지오메트리 정의하기
____프레임 버퍼 객체 생성하기
____큐브의 후면 렌더링하기
____큐브의 전면 렌더링하기
____큐브 전체를 렌더링하기
____크기 변경 핸들러
__광선 생성의 전체 코드
__볼륨 레이 캐스팅
____버텍스 셰이더
____프래그먼트 셰이더
__볼륨 레이 캐스팅의 전체 코드
__2D 슬라이싱
____버텍스 셰이더
____프래그먼트 셰이더
____2D 슬라이싱을 위한 사용자 인터페이스
__2D 슬라이싱의 전체 코드
__코드 종합
__메인 파일의 전체 코드
__프로그램 실행
__정리
__실습!
5부. 하드웨어 해킹
12장. 아두이노 소개
__아두이노
__아두이노 생태계
____언어
____IDE
____커뮤니티
____주변장치
__요구사항
__광센서 회로 구축
____회로의 동작 원리
____아두이노 스케치
____실시간 그래프 생성하기
__파이썬 코드
__전체 파이썬 코드
__프로그램 실행
__정리
__실습!
13장. 레이저 오디오 디스플레이
__레이저 패턴 생성
____모터 제어
____고속 푸리에 변환
__요구사항
____레이저 디스플레이 만들기
____모터 드라이버 배선하기
__아두이노 스케치
____아두이노의 디지털 출력 핀 설정하기
____메인 루프
____모터 정지하기
__파이썬 코드
____오디오 장치 선택하기
____입력 장치로부터 데이터 읽기
____데이터 스트림의 FFT 계산하기
____FFT 값에서 주파수 정보 추출하기
____주파수를 모터 속도와 방향으로 변환하기
____모터 설정 테스트하기
____명령 라인 옵션
____수동 테스트
__전체 파이썬 코드
__프로그램 실행
__정리
__실습!
14장. 라즈베리파이 기반의 날씨 모니터
__하드웨어
____DHT11 온도 및 습도 센서
____라즈베리파이
____라즈베리파이 설정하기
__소프트웨어 설치와 구성
____운영체제
____초기 설정
____와이파이 설정
____프로그래밍 환경 설정하기
____SSH를 통한 연결
____보틀 웹 프레임워크
____flot으로 그래프 그리기
____라즈베리파이 종료하기
__하드웨어 제작
__코드
____센서 데이터 요청 처리하기
____데이터를 그래프로 나타내기
____update() 메소드
____LED를 처리하는 자바스크립트 핸들러
____대화식 기능 추가하기
__전체 코드
__프로그램 실행
__정리
__실습!
부록 A. 소프트웨어 설치
__프로젝트의 소스 코드 설치
__윈도우에 설치하기
____GLFW 설치
____각 모듈별로 사전에 빌드된 바이너리 설치
____그 밖의 옵션들
__OS X에 설치하기
____Xcode와 MacPorts 설치
____모듈 설치
__리눅스에 설치하기
부록 B. 실용 전자공학의 기초
__일반적인 부품
__필수 도구
__회로 제작
__더 많은 내용 배우기
부록 C. 라즈베리파이 팁
__와이파이 설정
__라즈베리파이 연결 여부 검사
__와이파이 어댑터의 절전 모드 방지
__라즈베리파이의 코드와 데이터 백업
__라즈베리파이 전체 OS 백업
__SSH로 라즈베리파이에 로그인
__라즈베리파이 카메라 사용
__라즈베리파이의 사운드 활성화
__라즈베리파이의 텍스트-음성 변환 기능 사용
__HDMI 사용
__라즈베리파이를 모바일 기기로 만들기
__라즈베리파이 하드웨어의 버전 확인