본문 바로가기

전체 글176

[Android] Java 안 써본 컴공 4학년의 안드로이드 하루컷하기 안드로이드는 MainActivity.java가 진입점이다. 앱을 실행하면 이 Activity의 인스턴스를 실행하고 레이아웃을 로드한다. activity_main.xml 이런 식으로 xml 파일로 UI 레이아웃을 정의한다. build.gradle은 프로젝트에 하나, 모듈에 하나 같은 이름의 파일이 두 개 있다. 실행이 안될 때는 여기를 참고하자. https://developer.android.com/training/basics/firstapp/running-app 앱 실행 | Android 개발자 | Android Developers 이전 과정에서는 'Hello, World!'를 표시하는 Android 앱을 만들었습니다. 이제 실제 기기 또는 에뮬레이터에서 앱을 실행할 수 있습니다. 실제 기기에서 실행 다.. 2021. 5. 29.
[컴퓨터그래픽스] 기말고사 대체 레포트 1 : Control Point로 Bezier Curve 구성 계산하기 2 : Liang-Barsky 알고리즘으로 Line Clipping 파라미터 값 계산 3 : 3차 Bezier Curve 4 : 3차 Bezier Curve 5 : Homogeneous Coordinate의 개념과 사용 이유 6 : Ray-Tracing 알고리즘 시선 방정식 7 : Open Uniform B-spline Curve와 Bezier Curve 8 : 터틀 그래픽과 symbol 2021. 4. 3.
[컴퓨터그래픽스] 중간고사 대체 레포트 1 : Raster Scan Display와 Random Scan Display의 특징과 구조 2 : 사각형을 직선(일차식의 그래프)을 축으로 하여 회전하기 (matrix 활용 계산) 3 : 3D viewing 좌표계 순서 (Modeling - World - Viewing - Projection - Normalized - Device Coordinates) 4 : 좌표계 변환 계산 (World -> Viewing) (matrix 활용 계산) 5 : Ray-Tracing, Distributed Ray-Tracing 6 : Shading의 종류 - flat, gouraud, phong 2021. 4. 3.
[컴퓨터그래픽스] 키보드 마우스 입력을 통한 화면 변경 #include #include #include #define PI 3.141592 #define CCW 0 #define CW 1 using namespace glm; vec3 my_triangle1[3] = { vec3(-10.f, 0.f, 0.f), vec3(10.f, 0.f, 0.f), vec3(0.f, 10.f, 0.f) }; // CCW vec3 my_triangle2[3] = { vec3(10.f, 0.f, 0.f), vec3(-10.f, 0.f, 0.f), vec3(0.f, 10.f, 0.f) }; // CW vec3 faceNorm[2]; vec3 eyeVec; GLfloat angle[2]; GLint culling = 3; // nothing first GLint isTriangle1.. 2021. 4. 3.
[컴퓨터그래픽스] openGL 사용하지 않고 culling 수행하기 #include #include #include #define PI 3.141592 #define CCW 0 #define CW 1 using namespace glm; vec3 my_triangle1[3] = { vec3(-10.f, 0.f, 0.f), vec3(10.f, 0.f, 0.f), vec3(0.f, 10.f, 0.f) }; // CCW vec3 my_triangle2[3] = { vec3(10.f, 0.f, 0.f), vec3(-10.f, 0.f, 0.f), vec3(0.f, 10.f, 0.f) }; // CW vec3 faceNorm[2]; vec3 eyeVec; GLfloat angle[2]; GLint culling = CW; GLint isTriangle1 = 0; GLint isTr.. 2021. 4. 3.
[컴퓨터그래픽스] gluLookat 변경을 통한 애니메이션 만들기 #include //#include int g_timeDelta = 0, g_prevTime = 0; GLfloat g_x = 0.f; GLfloat g_velocityX = 0.f; void RenderScene(void) { glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); g_x += g_velocityX + (GLfloat)g_timeDelta / 1000.f; //printf("%f", g_x); glLoadIdentity(); gluLookAt(g_x, 0.f, -0.1f, g_x, 0.f, 0.f, 0.f, 1.f, 0.f); glColor3f(1.0f, 1.0f, 1.0f); glRectf(.25, .25, -.25, -.25); glu.. 2021. 4. 3.
[컴퓨터그래픽스] transformation, scale, rotation #include #include #include int g_timeDelta = 0, g_prevTime = 0; int inc_y = 1; GLfloat g_x = 0.f; GLfloat g_y = 1.f; GLfloat g_velocityX = 0.5f; GLfloat g_velocityY = 0.01f; GLfloat vertices[] = { -0.8, -0.8, -0.8, 0.8, -0.8, -0.8, 0.8, 0.8, -0.8, -0.8, 0.8, -0.8, -0.8, -0.8, 0.8, 0.8, -0.8, 0.8, 0.8, 0.8, 0.8, -0.8, 0.8, 0.8 }; GLubyte faces[] = { 7, 5, 6, 7, 4, 5, 3, 2, 1, 3, 1, 0, 2, 6, 5, 2,.. 2021. 4. 3.
[컴퓨터그래픽스] 소용돌이 실습 (함수 사용하지 않기) void RenderScene(void) { glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); GLfloat rotation[16] = { cos(30.0), 0, -sin(30.0), 0, 0, 1, 0, 0, sin(30.0), 0, cos(30.0), 0, 0, 0, 0, 1 }; GLfloat translation[16] = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -0.1, 0, 1 }; glPushMatrix(); glColor3f(0.5f, 0.5f, 0.5f); glPointSize(3); glBegin(GL_POINTS); glVertex4f(0.25f, 0.8f, 0.0f, 1.0f); glEnd();.. 2021. 4. 3.
[자료구조 프로그래밍 연습문제] 선택 정렬, 이진 탐색, 다항식 곱하기 1. selection sort A. 교재 1장 Program 1.4: Selection sort의 함수 sort()는 오름순(non-decreasing order) 정렬과 내림순(non-increasing order) 정렬 중 어느쪽을 수행하는가? 교재의 함수 sort()를 교재의 정렬 순서와 반대 순서로 정렬하도록 수정한 C 코드를 제시하시오. 오름순(non decreasing order) 정렬을 수행한다. void sort(int list[], int n) { int i, j, max, temp; for (i = 0; i list[max]) max = j; SWAP(list[i],.. 2021. 4. 3.