Coding
[ C++ ] Chapter 6.3 : 배열과 반복문
# 배열과 반복문 int main() { const int num_students = 5; int scores[num_students] = { 84, 92, 32, 51, 21 }; int total_score = 0; for (int i = 0; i < num_students; ++i) { total_score += scores[i]; } } # 배열의 크기 구하기 배열의 크기 = sizeof(배열의 이름) / sizeof(데이터 타입; int main() { /*const int num_students = 5;*/ int scores[] = { 84, 92, 32, 51, 21 }; const int num_students = sizeof(scores) / sizeof(int);// 20 / 4 = ..
[ C++ ] Chapter 6.1 : 배열 기초
# 배열 배열은 동일한 크기의 연속된 메모리 공간 int a = 1; int b = 2; int c = 3; // array int num[3] = {1, 2, 3}; int를 담을 수 있는 4byte 크기의 메모리 공간을 연속으로 3개 빌려오는 것. ( 총 12bytes ) # 배열의 선언과 초기화 int num[3] = {1, 2, 3}; int num[] = {1, 2, 3}; int nym[]{1, 2, 3};// C++11버전에서는 가능해짐. 배열의 개수는 런타임중에 초기화 불가능. 컴파일 타임에서 정해줘야함. # 구조체와 배열 struct Rectangle { int length; int width; }; int main() { cout
[ C++ ] Chapter 5.10 : std::cin 잘 쓰기
# std::cin std::cin은 공백 단위로 입력 받음. 입력 받은 것들을 버퍼에 넣은 후, 하나씩 꺼내는 방식. #include using namespace std; int getInt() { cout > x; return x; } char getOperactor() { cout > op; return op; } void printResult(int x, char op, int y) { if (op == '+') cout
[ C++ ] Chapter 5.9 : 난수 random numbers
# 난수 컴퓨터는 난수를 생성하지 못한다. 계산에 의해 마치 난수처럼, 상관없는 숫자들을 출력하는 것뿐. # 난수를 생성하는 원리 #include using namespace std; unsigned int PRNG() { static unsigned int seed = 5523; // 임의로 선택된 시드 값 "5523". seed = 8235729 * seed + 2396403; // OverFlow를 이용. return seed % 32768; // [ 0, 32768 ] 사이의 수를 반환. } int main() { for (int count = 1; count < 100; ++count) // 난수 100개 생성. { cout
< P5.JS > 기말 작품 아이디어 스케치와 최종 작품
기말 작품 아이디어 스케치 #00 : Nature 에 대한 것 사전적 정의 자연, 본질, 근원, 본성 Nature 에 대한 고민, 생각 Nature -> 본성 -> 인간 -> 성향 -> 직관적인 성향 같은 뜻임에도 다른 표현방식의 제시로 한가지 표현 방식에만 주목하게 하는 ‘틀짜기 효과’처럼, 인간이 가지는 직관적 사고(보여지는 것에만 의존하는 성향)를 글자와 다양한 사물로 표현해보면 어떤 시각적 모습으로 표현 할 수 있을까? #01 : 아이디어 스케치 1 1-1. 스케치 마치 창문으로 세상 밖의 사물을 볼 수 있듯이, 글자 ‘N’ 으로 보여지는 것과 보여지지 않는 것을 분리하기 위해 표현한다. 글자가 아닌 공간을 클릭하면 마우스 커서 위치에서 파티클이 떨어진다. 글자를 클릭하여 움직일 수 있다. #02..
< P5.JS > Particle system
Particle System_Nature Of Code #01 : Particle System_Nature Of Code #4.1 ## 4.1 강의 개요 4.1의 강좌의 Description 을 보면, Mover 클래스를 Particle 클래스로 클래스의 이름을 변환하고, 추가로 객체 파티클의 수명을 더한다. 마지막으로 이 수명이 더해진 파티클을 배열을 활용하여 여러 개의 객체를 만드는 것으로 보여진다. ## 새롭게 알게 된 부분 객체의 무한한 생성 draw() 함수안에서 객체를 생성해주면, draw() 함수는 프로그램이 실행되는 동안 반복해서 실행이 되니, 객체를 무한히 생성할 수 있다. 배열들은 투명해지면서 없어진 것처럼 보이지만, 실제로 없어진 것이 아니라 투명해진 것이기 때문에 계속 생성하면 과부..
< P5.JS > 중간창작
프로그램적 오류가 만들어 내는 일상의 반복 #01 : 지난 과제 회고하기_이해가 높아진 부분 [회고_과정] The Nature of Code_Vector #08 : Interactivity with Acceleration 저널링을 하는 과정 중, 발생한 궁금증에 대해 이해가 높아진 부분 저널링 중 파티클이 마우스를 따라오게 하는 예제에서, update() 부분의 정규화 원리를 이해하는데에 어려움이 있었음. update() { this.mouse = createVector(mouseX, mouseY); this.dir = this.mouse.sub(this.pos); this.dir.normalize(); // 왜 벡터 정규화를 시키는 것일까? this.dir.mult(0.5); // 왜 정규화를 시킨 값..
< P5.js > Kadenze_Session2_Vector / Forces
Kadenze_Session2_Vector / Forces #01 : Newton's Laws of Motion_뉴턴의 운동법칙 Force(힘) 은 질량을 지닌 물체를 가속하는 벡터 물리량이다. 제 1의 법칙 ( 관성의 법칙 ) 날아가는 화살이 공기저항을 받지않는다면, 같은 방향으로 속도가 변하지 않고 계속 날아갈 수 있듯이, 정지하고 있는 물체는 항상 정지, 운동하는 물체는 항상 같은 속력과 방향으로 운동하려는 것. 힘이 없거나, 물체에 가해지는 힘이 서로 상쇄된다면 즉, 알짜 힘이 0이되면 물체의 속도는 일정하게 유지된다는 것을 ‘평형(epuilibrium)’ 이라고 함 *알짜힘은 물체에 가해지는 모든 힘들의 벡터(속력,방향)를 합하여 계산한 것. F = MA / 힘은 질량 곱하기 가속. A = F/..