IT/Computer Science 8

[The Physics Engine] 물리엔진의 기본

최초의 컴퓨터 에니악은 탄도를 계산하기 위한 목적으로 만들어졌다. 세상의 물리를 컴퓨터 속으로 구현한 것이다. 이처럼 게임, 영화, 가상현실에서 물체에 작용하는 물리 현상 ex) Gravity or Inertia을 처리하는 엔진을 물리 엔진이라 한다. 게임 부문에서는 '하프라이프 2'가 물리 엔진에 큰 업적을 끼쳤다. 기존에는 게임 플레이어가 할 수 있는 역할이 고정되어 있었는데, 하프라이프 2에서 비교적 자유로운 물리 엔진을 오브젝트에 모두 적용하면서 신박한 플레이가 가능해졌다. 예를 들자면 낙하해서 적을 깔아뭉개 죽이는 등의 플레이도 가능했다. 물리 엔진은 현재는 거의 모든 가상현실 게임에 쓰이고 있다. 4진 트리(평면)와 8진 트리(공간) 등이 Broad Phase에서 광역으로 충돌 가능성을 탐지하..

IT/Computer Science 2022.05.20

[Python] 데이터 처리 & 시각화

Tree_data.csv - height 정렬 후 가장 큰 나무 한그루 출력 import pandas as pd df=pd.read_csv("./data/tree_data.csv") df=df.sort_values(by='height', ascending=False) print(df.head(1)) race.csv를 읽어 데이터 시각화 처리하는 법 from matplotlib import pyplot as plt import pandas as pd df = pd.read_csv("./data/race.csv") df.set_index("시간", inplace=True) x = df["토끼"] y = df["거북이"] fig, ax = plt.subplots() ax.plot(x, label = "토끼")..

IT/Computer Science 2021.08.22

[Big Data] Gas station market analysis - based on oil price data

Project Goal [한국석유공사 제품별 주유소 판매가격 Data]의 (가격,지역,브랜드,셀프여부)를 분석하여 주유소 시장 인사이트 도출 * 탐색적 데이터 분석(EDA) 활용 [인사이트 예시] 1. 주유소 개업, 폐업 현황 분석 및 연도별 수치 분석 2. 브랜드별 가격경쟁력 및 시장점유율 분석 with Line Plot & Stacked Bar Plot - Heatmap 3. 주유소 및 지역별 가격 편차 분석 - Boxplot 1. 데이터 전처리 Data Cleansing & Feature Engineering 그러나 다음의 데이터 전처리 필요성 발견 To many 지역 개수: 229 상표 개수는 9개로 적절 휘발유 min 값이 문제 있음 기간은 수치로 인식되면 안됨 2. 데이터 시각화 3. 결과 [..

IT/Computer Science 2021.08.21

[C언어] 자연수 N의 자릿수 합 구하기, 문자열 내림차순 정렬

[C언어] 자연수 N의 자릿수 합 구하기 입력값 풀이 출력값 123 1+2+3 6 9876 9+8+7+6 30 풀이: %(나머지 구하기 사용) #include #include #include int solution(int n) { int answer = 0; scanf("%d", &n); while(1){ if(n==0){break;} answer = answer + (n % 10); n = n / 10 ; } return answer; } [C언어] 문자열 내림차순으로 정렬 입력 풀이 출력 abcdAB 내림차순 정렬 dcbaBA dbasDCA 내림차순 정렬 sdbaDCA 풀이: 버블정렬 사용 #include #include #include char* solution(const char* s) { cha..

IT/Computer Science 2021.07.17

[IT] Servlet(서블렛)의 정의와 특징

Servlet이란? Servlet은 한마디로 사용자의 요청에 동적으로 웹페이지를 생성하는 서버 측 프로그램 or 사양입니다. 또한, Servlet은 Java로 웹을 만들기 위해 필요한 기술이며, 클라이언트가 요청을 했을 때 그 결과를 전송해줍니다. 예를 들어 사용자가 웹에서 특정 행동을 할 때, 그 행동을 확인 후 그 결과에 맞는 다음 페이지를 보여주는 것이 바로 Servlet입니다. 웹은 정적인 페이지(이미 개발자가 보여주려고 미리 만들어 놓은 페이지를 보여줌, 포트폴리오와 비슷)가 많습니다. 그러나 동적인 페이지(사용자와 상호작용하며 데이터를 가공처리하여 페이지를 생성하여 보여줌)를 만들기 위해서 이러한 Servlet은 필요합니다. Servlet의 특징 1. 이전에 말했던 MVC패턴에서 Control..

IT/Computer Science 2021.07.08

[IT] MVC 패턴이란?

MVC 패턴이란? MVC(Model-View-Controller)는 모델-뷰-컨트롤러로 이루어진 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 3가지 구성요소에 대한 설명은 아래와 같다. 모델은 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이러한 통보로 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다. (알고리즘, 데이터 처리) 뷰는 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다. HTML, XML 등을 생성해서 컨트롤러에 보낸다. (웹 페이지) 컨트롤러는 모델에 명령을 보내 모델의 상태를 변경할 수 있다. 또한, 관련된 뷰에 명령을 보내 모델의 표시 방법을 바꿀 수 있다. MVC 패턴의 작동..

IT/Computer Science 2021.03.09