전체 글 161

[자연 환경] 농약의 장점과 단점/ 농약이 환경과 인간에게 미치는 영향

21세기에 농약은 없어서는 안되지만 환경에 좋지 않은 영향을 미친다. 현재 사용하는 농약을 대체 할 수 있는 해결 방안이 있어야 한다. 농약 이란? 농약이란 농사를 짓는데 필요한 약이다. 사람의 질병을 치료하는데 약을 사용하는 것처럼 농식물의 질병을 치료하는데 농약이 사용된다. 농약의 장점 - 작물 수확량 증진 - 농산물 해충 방제 - 인류의 보건 증진과 식량 증신에 크게 이바지 함 농약의 문제점 - 환경 오염 - 농약에 내성이 생긴 해충 출현 - 생태계 파괴 - 익충 피해 농약이 생태계에 미치는 영향 농약을 사용할 때 해충만 선택 적으로 죽이기는 어렵다. 따라서 농약 살포 시 이로운 익충 까지도 모두 죽게 된다. 또한 농약 사용 후 빈 통을 버리지 않고 강물에 버리는 경우가 많아 수생생물에게도 영향을 ..

기타 2024.02.22

[자연 환경] 도도새의 멸종

인간의 욕심으로 도도새는 멸종되었다. 도도새 인도양에 있는 아프리카 쪽 모리셔스 섬에 도도새는 살고 있었다. 도도새는 섬에 천적이 없어 날개가 퇴화되었다. 덕분에 새 임에도 불구하고 날지 못하고 덩치는 커지는 방향으로 진화했다. 그림 출처 : https://terms.naver.com/entry.naver?docId=1082790&cid=40942&categoryId=32604 도도새 비둘기목 도도과의 멸종된 새. 인도양의 모리셔스에 서식했던 새이다. 칠면조보다 크고, 몸무게는 23㎏ 정도이며, 큰 머리에 깃털은 청회색이다. 검은색을 띠는 부리는 약 23㎝이며, 부리 끝은 구 terms.naver.com 도도새 멸종 이유 대항해 시대 1505년 포르투칼인들이 모리셔스 섬에 도착 했다. 날지 못하는 도도새..

기타 2024.02.21

[OpenGL] 쉐이더(shader)/ 쉐이딩 구현 하기

쉐이더 란? 쉐이더는 색상, 명암, 색조 등을 조절 해준다는 뜻을 가지고 있다. teapot, wireCube, sphere 등은 쉐이더 구현이 안되므로 직접 model 데이터를 제작해서 rgb 값을 할당 후 쉐이딩을 해줘야 한다. 쉐이딩 기법 순서 1. 삼각형을 그리기 위해서 3개의 vertex를 찍어 준다. 2. vertex 마다 다르게 색상을 준다. 3. GL_FLAT 나 GL_SMOOTH를 사용해서 RGB를 filling 해준다. 4. 결과가 나온다. GL_SMOOTH 로 쉐이딩 해주기 삼각형을 그리고 GL_SMOOTH 모드로 쉐이딩 해주는 코드. #include #include void draw(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClear(GL..

OpenGL 2024.02.19

[OpenGL] 줌 인, 줌 아웃 구현하기

사진 찍을 때 확대, 축소 하는 것 처럼 OpenGL도 구현이 가능하다. 줌 아웃 애니메이션 만들기 #include #include void draw(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(1.0, 1.0, 1.0, 1.0); // 배경 색상 glColor4f(0.0, 0.0, 1.0, 1.0); //그림 색상 float ws = 0; for (int i = 0; i < 10; i++) { glColor4f(1.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); printf("%f\n", ws); ws +..

OpenGL 2024.02.18

[OpenGL] 도형 애니메이션 만들기

애니메이션 도형이나 물체가 알아서 움직이는 것을 애니메이션, 비디오라고 불린다. sphere가 움직이는 애니메이션 만들기 sphere가 우측으로 5번, 좌측으로 5번 움직이는 코드다. #include #include void draw(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(1.0, 1.0, 1.0, 1.0); // 배경 색상 glColor4f(0.0, 0.0, 1.0, 1.0); //그림 색상 float Tx; for (int i = 0; i < 10; i++) { glClear(GL_COLOR_BUFFER_BIT); // 그림 초기화 if (i ..

OpenGL 2024.02.17

[OpenGL] 주전자(Teapot) 그리기, 도형 회전 시키기, 도형 이동 시키기

주전자(Teapot) 그리기 glutWireTeapot() 함수를 사용 해 주전자를 그려준다. #include void draw(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f);//배경 색 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor4f(0.0f, 0.0f, 1.0f, 1.0f);//사물 색 설정 glutWireTeapot(0.5);//주전자 그리기, 사이즈 glFlush(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA | GLUT_DEPTH); glutInitWindow..

OpenGL 2024.02.16

[OpenGL] 점(point) 그리기

점 4개 그리기 glPointSize() 함수로 점의 크기를 선언해 주지 않으면 점이 안 보인다. #include void draw(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //배경 색상 설정(흰색) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 화면 초기화 glColor3f(0.0f, 1.0f, 0.0f); // glPointSize(10.0f); // 점 사이즈 glBegin(GL_POINTS); // 점 그리기 모드 glVertex2f(-0.5f, 0.5f); glVertex2f(-0.5f, -0.5f); glVertex2f(0.5f, 0.5f); glVertex2f(0.5f, -0.5f); glEnd();..

OpenGL 2024.02.15

[OpenGL] 선 그리기

선을 그리는 방식 중 아래 3가지를 많이 사용한다. GL_LINES GL_LINE_STRIP GL_LINE_LOOP 직접 사용해 보면서 차이점을 알아보면 된다. 선 1개 그리기 GL_LINES로 가로 선 그리기 #include void draw(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //배경 색상 설정(흰색) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 화면 초기화 glColor3f(1.0f, 0.0f, 0.0f); //빨간색 //glBegin() ~ glEnd() 사이에 코드 구현. glBegin(GL_LINES); //도형 선택. glVertex2f(-0.5f, 0.0f); glVertex2f(0.5f, ..

OpenGL 2024.02.14

[OpenGL] 사각형, 삼각형 그리기

사각형, 삼각형 그리는 방법에 대한 예제다. 사각형 그리기 lgVertex2f 함수로 꼭짓점을 4개 찍어서 사각형을 그렸다. #include void draw(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //배경 색상 설정(흰색) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 화면 초기화 glColor3f(0.0f, 0.0f, 1.0f); //그림 색상 r,g,b(파란색) //glBegin() ~ glEnd() 사이에 코드 구현. glBegin(GL_POLYGON); //도형 그리. glVertex2f(-0.5f, -0.5f); // 꼭짓점 위치 선택 glVertex2f(0.5f, -0.5f); glVertex2f(..

OpenGL 2024.02.13