본문 바로가기

두들낙서15

PyOpenGL로 3차원 색상구(球) 만들기 1편 - HSV와 HSL 얼마전 갑자기 아이디어가 떠올라서 만들어본 프로젝트. 3차원이기 떄문에 색상환은 아니고 색상구(球)라 하는 게 맞을 듯하다. 결과물은 대충 이렇게 생겼다. 일반적인 컴퓨터 모니터는 빨강, 초록, 파랑 LED를 사용하기 때문에, 컴퓨터에서 색을 저장할 때 보통 빨강, 초록, 파랑 LED의 밝기, 즉 RGB로 색을 나타내곤 한다. 각막의 원뿔세포가 빨강, 초록, 파랑에 해당하는 파장의 빛에 반응해 뇌로 신호를 보내면 뇌가 어떤 색깔인지를 인식한다. 그런데 대부분의 사람들은 색깔을 단순한 RGB 정보로 인식하는 데 익숙하지 않다. '빨간 빛 50%, 초록 빛 30%, 파란 빛 10%가 섞인 색'이라 말하면 그래픽이나 웹 디자인 쪽에 일하는 사람이 아닌 이상 어떤 색인지 감을 잡기 힘들다. 참고로 그 색은 이렇.. 2020. 2. 29.
음수 진법이 가능할까? 10진법으로 1234라고 적으면 $$1234=1\times10^3 + 2\times10^2 + 3\times10^1 + 4\times10^0$$ 을 의미한다. 마찬가지로 8진법으로 1234라고 적으면 $$1234_{(8)}=1\times8^3 + 2\times8^2 + 3\times8^1 + 4\times8^0$$ 을 의미하게 된다. 참고로 계산해보면 10진법으로 668이 나온다. 10진법은 자릿수로서 0~9의 숫자를 사용하고, 8진법은 0~7까지의 숫자를 사용한다. 또 10진법에서 한 자리가 올라갈 때마다 자리의 크기(계수)가 10배씩 증가하고, (1의 자리, 10의 자리, 100의 자리, ...) 8진법은 8배씩 증가한다. (1의 자리, 8의 자리, 64의 자리, ...) 즉 n진법은 0부터 n-1까.. 2019. 9. 1.
[C/C++] 정수를 뒤집는 5가지 방법 목표는 간단하다. 입력 받은 정수를 거꾸로 뒤집은 정수를 출력하면 된다. 물론 뒤집었을 때 0으로 시작하는 경우는 0을 출력하지 않는다. 입력 예 1024 출력 예 4201 입력 예 12300 출력 예 321 1. 문자열 변환 후 뒤집고 정수 변환 (C++ 스타일) 가장 직관적이고, 단순한 방법이다. string 타입을 사용한다. 문자열로 변환하기 위해서는 to_string 함수를, 정수로 변환하기 위해서는 atoi 함수를 쓴다. atoi 함수는 원래 에 들어 있으나 웬만한 라이브러리에 이미 include 되어 있다. #include #include using namespace std; int rev(int n) { string s = to_string(n); reverse(s.begin(), s.end.. 2019. 6. 2.
[주관적인 화성학] 6. 조성 주의: 이 시리즈는 독자적으로 화성학을 연구하며 알게 된 것들을 바탕으로, 실제 화성학 이론을 주관적으로 해석한 내용입니다. 정식 화성학 이론과는 다를 수 있습니다. 코드의 필수적인 구성요소는 근음(빵), 5음(치즈) 그리고 3음(소스)이라 했다. 말이 나온 김에, 친구가 반례로 소스가 없는 피자를 찾았는데, 고르곤졸라 피자는 빵과 치즈만 있고 소스가 없다. 꿀이 소스고 소스를 찍어먹는 거라고 반박하면 할말이 없긴 한데, 그냥 예외로 보고, 앞으로도 3음은 계속 소스에 비유하기로 하자. 이번 편에서는 조성의 본질에 대해 설명해 보려고 한다. 과정은 복잡할 수 있는데, 결론이 굉장히 중요하다. 7음계에서 '도' 찾기 7음계의 '도레미파솔라시'의 인접한 두 음 사이의 간격은 온-온-반-온-온-온-반 이라고 .. 2019. 3. 19.
[주관적인 화성학] 5. 코드의 구성 주의: 이 시리즈는 독자적으로 화성학을 연구하며 알게 된 것들을 바탕으로, 실제 화성학 이론을 주관적으로 해석한 내용입니다. 정식 화성학 이론과는 다를 수 있습니다. 코드(chord)는 3개 이상의 음이 동시에 들리는 것을 말한다. 난 이 정의를 좀더 엄격하게 하고 싶다. 코드의 필수 요소 내가 생각하는 코드는 다음과 같은 조건을 만족해야 한다. 근음이 있어야 한다. 5음이 있어야 한다. 3음이 있어야 한다. 근음은 코드의 뿌리가 되는 음이다. 코드의 구성 음 중 알맞게 하나를 고르면 그게 근음이다.5음이란, 근음에서 5도만큼 올라간 음을 이야기한다. 단, 증5도(단6도와 같음), 감5도(TT)도 특별히 5도로 인정한다. 3음이란, 근음에서 장3도 또는 단3도만큼 올라간 음을 말한다. 단, 감3도(장2도.. 2019. 3. 18.