KR102392074B1 - 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법 - Google Patents

대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법 Download PDF

Info

Publication number
KR102392074B1
KR102392074B1 KR1020200078009A KR20200078009A KR102392074B1 KR 102392074 B1 KR102392074 B1 KR 102392074B1 KR 1020200078009 A KR1020200078009 A KR 1020200078009A KR 20200078009 A KR20200078009 A KR 20200078009A KR 102392074 B1 KR102392074 B1 KR 102392074B1
Authority
KR
South Korea
Prior art keywords
terrain
data
environment information
display unit
volume
Prior art date
Application number
KR1020200078009A
Other languages
English (en)
Other versions
KR20220000266A (ko
Inventor
김건우
정우식
나하나
Original Assignee
인제대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인제대학교 산학협력단 filed Critical 인제대학교 산학협력단
Priority to KR1020200078009A priority Critical patent/KR102392074B1/ko
Publication of KR20220000266A publication Critical patent/KR20220000266A/ko
Application granted granted Critical
Publication of KR102392074B1 publication Critical patent/KR102392074B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30192Weather; Meteorology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 언리얼 엔진 4와 볼륨 렌더링 기법을 이용한 최적화로 기상 및 대기환경 정보 분석의 효율성을 높일 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법에 관한 것으로, 원하는 영역의 DEM(Digital Elevation Model) 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성부;DEM 자료 추출 및 3차원 지형 생성부에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출부;지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 기상 요소를 표출하는 기상 요소 표출부;지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출부;를 포함하는 것이다.

Description

대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법{System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information}
본 발명은 대기 환경 정보 처리에 관한 것으로, 구체적으로 언리얼 엔진 4와 볼륨 렌더링 기법을 이용한 최적화로 기상 및 대기환경 정보 분석의 효율성을 높일 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법에 관한 것이다.
최근 공간 데이터를 기반으로 한 3차원 GIS(Geographic Information System) 기술의 발전으로 다양한 기상관련 데이터를 시각화하여 서비스하는 방법이 다양하게 개발되고 있다.
또한, 레이더, 위성, AWS(Automatic Weather System) 등을 활용한 기상관측 방법 역시 고도화되어 실시간 관측 데이터의 양이 보다 다양화됨과 동시에 대용량화되고 있다. 이에 따라, 기상장비에 의해 관측되고 가공된 정보를 사용자에게 직관적으로 전달하기 위한 방법으로 관측 데이터의 시각화에 대한 연구가 활발히 진행되고 있다.
특히, 직관적 정보 전달을 위한 3차원 가시화 도구에 대한 필요성이 다양한 분야에서 제기되고 있으며, 과거에 비해 보다 사용자 친화적이며 효율적인 의사 결정을 위한 수단으로 3차원 가시화 도구들이 직간접적으로 활용되고 있는 추세이다.
관측 데이터의 시각화는 복잡하고 거대한 관측 데이터를 시각적으로 표현함으로써 그 데이터 내부에 내재된 정보들을 보다 신속하고 효과적으로 파악하고자 하는 목적에서 출발하게 된다.
그럼에도 기상 및 대기환경 정보룰 처리하는 현장에서는 기상 및 대기환경 정보 등 과학적인 데이터를 가시화하는데 대부분 2차원 표출이 사용되고 있다.
특히, 3차원 가시화의 경우 단순히 2차원 표출을 겹쳐 표시하고 있다
종래 기술의 일 예로, 강우 관측 데이터의 3차원 시각화 모니터링 및 분석 시스템 및 이에 대한 방법(대한민국 등록특허 제10-1994200호) 및 3차원 대기환경 자료 생성 시스템 및 가시화 방법(대한민국 공개특허 제10-2018-0001195호)등 있으나, 이런 방식의 표출은 3차원 데이터의 수직 분포와 구조 및 공간상의 전체적인 경향을 파악하는데 제한이 있다.
다른 기상 요소를 3차원으로 표출하는 연구로 국립기상과학원에서 연구 개발한 지구환경 3차원 가시화 시스템(지구 ON)의 경우 실제 구형 스크린에 투시하는 방식으로 많은 공간과 자원이 필요하며 구형 스크린에만 한정된다는 제한이 있다.
그리고 미래기후㈜의 Mirae Wave와 ㈜한국해양기상기술의 3차원 데이터 가시화 엔진 GVTX 등의 상용 프로그램들의 경우에도 3차원 공간에서 등치선, 벡터 등, 2차원 표출이 주로 이루어지며 3차원 표출의 경우도 2차원 표출을 겹쳐 나타내는 것에 그치고 있다.
해외의 경우 VAPOR라는 소프트웨어가 많이 활용되고 있지만 소프트웨어 자체가 무겁고 복잡하다는 단점이 있다. 또한, 이런 과학적 데이터 가시화 소프트웨어 대부분이 전 지구나 대륙 규모의 가시화에 특화되어 있어 국지규모의 데이터를 가시화하는데 제한이 있다.
따라서, 새로운 표출 기법을 통해 여러 관점에서 기상 및 대기환경 정보를 분석할 수 있도록 하는 새로운 대기 환경 정보 처리 기술의 개발이 요구되고 있다.
대한민국 등록특허 제10-1994200호 대한민국 공개특허 제10-2018-0001195호 대한민국 공개특허 제10-2017-0059469호
본 발명은 종래 기술의 대기 환경 정보 처리 기술의 문제점을 해결하기 위한 것으로, 언리얼 엔진 4와 볼륨 렌더링 기법을 이용한 최적화로 기상 및 대기환경 정보 분석의 효율성을 높일 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 예측 및 관측 자료를 볼륨 텍스쳐로 만들고 만들어진 볼륨 텍스쳐를 이용하여 언리얼 엔진 4와 볼륨 렌더링 기법을 활용하여 3차원 가시화 작업의 효율성을 높일 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 접근 및 사용에서 유리하고 그래픽 표출의 측면에서 우수한 언리얼 엔진 4를 이용하여 수치 모델 결과를 잘 반영하고, 새로운 표출 기법을 통해 다른 관점에서 기상 및 대기환경 정보를 분석할 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 기상 요소 및 대기질 정보 표출 프로그램(meteorological and air quality information visualization engine, MAIVE)을 구현하여 고해상도 수치표고 모델 자료를 활용하여 3차원 지형을 구현하고 지형 위에서 기상 및 대기질 정보를 효과적으로 표출할 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 풍향, 풍속, 습도, 기온, 강수량 등과 같은 기상요소들과 미세먼지, 황사 농도와 같은 대기질 정보를 3차원 적으로 표출하며 파일 포맷은 NetCDF, Grib, Grib2, Ascii 등 대부분의 포맷을 지원하여 기상 요소 및 대기질 정보를 2차원의 평면적 표출뿐만 아니라 3차원 공간에서의 분포 및 변화를 효과적으로 표출할 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 상용 개발 엔진인 언리얼 엔진 4와 최신 렌더링 기법을 이용하여 비주얼적인 수준과 성능을 최적화하고 기존의 표출 방식뿐만 아니라 바람장을 따라 흐르는 벡터인 스트림 벡터와 유선인 스트림 라인을 추가하고, raymarching volume rendering 기법을 적용하여 구름 및 대기질 정보를 효과적으로 표출할 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 기온, 강수량 등의 2차원 적인 데이터 값은 contour map을 통해 그 분포와 경향을 파악할 수 있도록 하였으며 지형의 다양한 스킨과 융합하여 사용자가 원하는 그림을 선택하도록 하여 활용성을 높인 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 기본적인 3차원 지형을 위해 DEM 자료를 활용하여 입체 지형을 표출하였으며 높이에 따른 색을 달리하는 기본 스킨과, 육지와 바다의 색을 달리한 마스크 스킨, 육지와 바다의 경계선을 표시하는 윤곽선 스킨을 적용하여 표출 및 사용자 인지 특성을 높인 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치는 원하는 영역의 DEM(Digital Elevation Model) 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성부;DEM 자료 추출 및 3차원 지형 생성부에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출부;지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 기상 요소를 표출하는 기상 요소 표출부;지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출부;를 포함하는 것을 특징으로 한다.
여기서, 지형 스킨 및 윤곽선 표출부는, 언리얼 엔진의 material 기능을 활용하여 지형의 높이에 따른 색을 입히는 기본 스킨, 바다와 육지를 구별하는 마스크 스킨, 바다와 육지의 경계선을 표시하는 윤곽선 스킨을 선택적으로 적용하는 것을 특징으로 한다.
그리고 기상 요소 표출부는, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 하여 바람 정보, 구름 정보, 기온 정보, 강수량 정보, 3-second gust 정보를 처리하여 기상 요소를 표출하는 것을 특징으로 한다.
그리고 대기환경 정보 표출부는, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 하여 초미세먼지(PM2.5), 미세먼지(PM10), 일산화탄소(CO), 일산화질소(NO), 아황산가스(SO2) 정보를 처리하여 대기환경 정보를 표출하는 것을 특징으로 한다.
그리고 기상 요소 표출부는, 수치 모델의 결과인 바람 벡터의 u, v 성분을 풍향, 풍속으로 변환하여 바람 벡터장, 스트림벡터, 스트림라인 표출 및 등치선 처리를 하는 바람 정보 처리부와,QCLOUD 변수를 이용해서 구름 정보를 볼륨 렌더링하여 3차원 가시화 처리를 하는 구름 정보 처리부와,C++ 소스 코드를 활용해 Raw 자료로부터 기온의 Raw 자료를 읽어와 ℃ 단위계로 변환하기 위해 읽어온 자료에서 절대영도값인 273.15를 빼주어 배열에 저장하고 자료를 정규화한 후 색 범례와 대조해서 대응되는 색을 배열에 저장하여 기온 정보를 처리하는 기온 정보 처리부와,C++ 코드를 통해 Raw 자료로부터 RAINC와 RAINNC를 읽어와 이를 합하여 배열에 저장하고 생성하고자 하는 시간의 Rain 배열 값에서 이전 시간의 Rain 배열 값을 빼고 이를 색 범례와 대조하여 배열에 저장하여 강수량 정보를 처리하는 강수량 정보 처리부와,3-second gust를 등치선으로 표출하는 3-second gust 처리부를 포함하는 것을 특징으로 한다.
그리고 바람 정보 처리부는, C++ 소스 코드를 활용해 Raw 자료로부터 바람의 u, v 성분을 추출하여 읽어와 풍향과 풍속을 계산하여 배열에 저장하고 이를 언리얼 엔진에서 읽어 들여 바람장 각각의 벡터에 반영하도록 하는 바람 벡터장 표출부와,바람장을 따라 흐르는 바람 벡터인 스트림 벡터를 구현하는 스트림벡터 표출부와,스트림 벡터와 유사하게 바람장을 따라 흐르는 유선을 구현하는 스트림라인 표출부와,풍속 자료를 0.0부터 1.0까지 정규화 하여 범례 색깔의 색과 대응시키고 대응된 색 정보를 배열에 저장한 뒤 텍스쳐로 생성하여 지형 스킨과 융합되도록 하는 등치선 처리부를 포함하는 것을 특징으로 한다.
그리고 기상 요소 표출 및 대기환경 정보 표출을 위하여 입력되는 데이터는 NetCDF, Grib, Grib2, Ascii 파일 포맷을 지원하고, 입력되는 데이터는 WRF(Weather Research and Forecasting), CMAQ(Community Multiscale Air Quality), AWS(Automatic Weather Station), ASOS(Automated Surface Observing System)의 데이터를 포함하는 것을 특징으로 한다.
그리고 기상 요소 표출부 및 대기환경 정보 표출부는, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 위하여, 광 흡수에 의한 불투명도 생성과정과 조명,산란에 의한 색상 생성과정으로 수행하고, 볼륨의 불투명도를 생성하기 위한 지점의 밀도나 두께를,
Figure 112020065779819-pat00001
으로 정의하고, 여기서, Transmittance는 투과율이며 t는 볼륨 내에서 이동한 거리, d는 볼륨의 밀도인 것을 특징으로 한다.
그리고 광선이 볼륨의 모든 복셀을 통과함에 따라 광선의 색에 현재 복셀의 역 불투명도를 곱하여 흡수를 계산하고 현재 복셀의 색에 현재 복셀의 불투명도를 곱한 식이,
Figure 112020065779819-pat00002
으로 정의되고, 여기서, 복셀은 3차원 공간상의 pixel을 말하며 Cout은 복셀을 통과한 후의 색, Cin은 복셀을 통과하기 전의 색, Opacity(x)는 x 위치의 불투명도, Color(x)는 x 위치의 색인 것을 특징으로 한다.
그리고 각 지점에서의 볼륨의 두께를 구한 후 두께 값을 이용하여 볼륨이 차단하는 빛의 양인 불투명도를 추정하기 위하여,
선형밀도는
Figure 112020065779819-pat00003
와 같이 점 x에서 x′까지 광선을 따라 누적되고, 점 x에서 x′까지 광선 길이에 대한 투과율은
Figure 112020065779819-pat00004
으로 정의되는 것을 특징으로 한다.
그리고 볼륨의 밀도를 계산할 때 조명에 의한 그림자의 계산을 하고, 볼륨 내의 x 지점에서 w 방향의 빛에서 해당 지점으로 만드는 산란의 양은
Figure 112020065779819-pat00005
으로 정의되고, 여기서, w는 빛의 방향이고 l은 볼륨 외부에서 빛의 음의 방향을 향한 점으로 -LinearDensity(x, l)는 지점 x에서 볼륨 경계에 도달할 때까지 빛에 의한 선형밀도를 나타내며 이는 빛을 흡수하는 입자의 양을 의미하는 것을 특징으로 한다.
그리고 볼륨의 불투명도를 기준으로 흡수된 빛의 비율을 계산하기 위해 OutScattering 항에 Opacity가 곱해지고, 볼륨을 통해 광선을 따라 모든 지점에서 총 산란을 반환하는 것은,
Figure 112020065779819-pat00006
으로 정의되는 것을 특징으로 한다.
그리고 대기환경 정보 표출부는, 시간의 경과에 따른 PM2.5 농도를 볼륨 렌더링으로 표출한 위에서 바라본 화면, 수직 분포를 보기 위해 아래에서 바라본 화면, PM2.5 농도의 등치선 표출을 나타낸 화면을 제공하는 초미세먼지(PM2.5) 표출부와,미세먼지를 나타내는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하고, 각각의 고도별 자료를 등치선으로 나타내는 미세먼지(PM10) 표출부와,일산화탄소를 나타내는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화탄소(CO) 표출부와,일산화질소를 나타내는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화질소(NO) 표출부와,아황산가스를 나타내는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 아황산가스(SO2) 표출부를 포함하는 것을 특징으로 한다.
그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 바람 벡터장을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 풍속에 따른 색을 입힌 바람 벡터장을 화면상에 켜고 끄는 기능, 검은색의 단일 바람 벡터장을 표출하고 지우는 역할을 하는 기능, 바람 벡터장의 간격을 설정하고, 바람 벡터장의 크기를 조절하는 기능을 제공하는 것을 특징으로 한다.
그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 스트림 벡터와 라인을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 풍속에 따른 색의 스트림 벡터를 화면상에 켜고 끄는 기능,검은색으로 통일한 스트림 벡터를 표출하는 기능, 스트림 라인을 화면상에 표출하고 지우는 기능, 스트림 벡터와 스트림 라인은 동시에 표출되도록 하는 기능을 제공하는 것을 특징으로 한다.
그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, Contour map을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 지형에 contour map이 융합되어 표출하게 하는 기능, 현재 보고자 하는 기상 요소 및 대기질 정보를 선택하는 기능, contour map을 모든 지형 스킨에서 적용할 수 있도록 사용자가 원하는 그림에 따라 스킨을 활용할 수 있도록 하는 기능을 제공하는 것을 특징으로 한다.
그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 시간에 따른 애니메이션을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 시간이 지나면서 현재 나타나고 있는 기상 요소 및 대기질 정보가 그 시간에 맞도록 변화 및 멈추도록 하는 기능, 애니메이션의 속도를 조절하는 기능을 제공하는 것을 특징으로 한다.
그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 볼륨 렌더링을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 표출을 원하는 요소의 볼륨 렌더링을 표출하고 지우는 기능을 제공하는 것을 특징으로 한다.
그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 지형의 스킨을 변경하는 메뉴를 포함하고, 화면 메뉴를 통하여 높이에 따른 색을 입힌 기본 스킨, 육지는 흰색, 바다는 검은색으로 표현하는 마스크 스킨, 육지와 바다의 경계를 흰색으로 표시하는 윤곽선 스킨으로 전환할 수 있도록 하는 기능을 제공하는 것을 특징으로 한다.
그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 사례를 고를 수 있는 홈 화면으로 돌아가거나, 프로그램을 종료하는 기능 및, 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴를 제공하는 것을 특징으로 한다.
다른 목적을 달성하기 위한 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 방법은 원하는 영역의 DEM(Digital Elevation Model) 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성 단계;DEM 자료 추출 및 3차원 지형 생성 단계에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출 단계;지형 스킨 및 윤곽선 표출 단계에 의한 지형 스킨 및 윤곽선 표출 화면에 기상 요소를 표출하는 기상 요소 표출 단계; 및,지형 스킨 및 윤곽선 표출 단계에 의한 지형 스킨 및 윤곽선 표출 화면에 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출 단계;를 포함하는 것을 특징으로 한다.
이상에서 설명한 바와 같은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법은 다음과 같은 효과가 있다.
첫째, 언리얼 엔진 4와 볼륨 렌더링 기법을 이용한 최적화로 기상 및 대기환경 정보 분석의 효율성을 높일 수 있도록 한다.
둘째, 예측 및 관측 자료를 볼륨 텍스쳐로 만들고 만들어진 볼륨 텍스쳐를 이용하여 언리얼 엔진 4와 볼륨 렌더링 기법을 활용하여 3차원 가시화 작업의 효율성을 높일 수 있도록 한다.
셋째, 접근 및 사용에서 유리하고 그래픽 표출의 측면에서 우수한 언리얼 엔진 4를 이용하여 수치 모델 결과를 잘 반영하고, 새로운 표출 기법을 통해 다른 관점에서 기상 및 대기환경 정보를 분석할 수 있도록 한다.
넷째, 기상 요소 및 대기질 정보 표출 프로그램(meteorological and air quality information visualization engine, MAIVE)을 구현하여 고해상도 수치표고 모델 자료를 활용하여 3차원 지형을 구현하고 지형 위에서 기상 및 대기질 정보를 효과적으로 표출할 수 있도록 한다.
다섯째, 풍향, 풍속, 습도, 기온, 강수량 등과 같은 기상요소들과 미세먼지, 황사 농도와 같은 대기질 정보를 3차원 적으로 표출하며 파일 포맷은 NetCDF, Grib,Grib2, Ascii 등 대부분의 포맷을 지원하여 기상 요소 및 대기질 정보를 2차원의 평면적 표출뿐만 아니라 3차원 공간에서의 분포 및 변화를 효과적으로 표출할 수 있도록 한다.
여섯째, 상용 개발 엔진인 언리얼 엔진 4와 최신 렌더링 기법을 이용하여 비주얼적인 수준과 성능을 최적화하고 기존의 표출 방식뿐만 아니라 바람장을 따라 흐르는 벡터인 스트림 벡터와 유선인 스트림 라인을 추가하여 직관성을 높이고, raymarching volume rendering 기법을 적용하여 구름 및 대기질 정보를 효과적으로 표출할 수 있도록 한다.
일곱째, 기온, 강수량 등의 2차원 적인 데이터 값은 contour map을 통해 그 분포와 경향을 파악할 수 있도록 하였으며 지형의 다양한 스킨과 융합하여 사용자가 원하는 그림을 선택하도록 하여 활용성을 높일 수 있다.
여덟째, 기본적인 3차원 지형을 위해 DEM 자료를 활용하여 입체 지형을 표출하였으며 높이에 따른 색을 달리하는 기본 스킨과, 육지와 바다의 색을 달리한 마스크 스킨, 육지와 바다의 경계선을 표시하는 윤곽선 스킨을 적용하여 표출 및 사용자 인지 특성을 높일 수 있다.
도 1은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 기본 개념을 나타낸 구성도
도 2a내지 도 2e는 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 전체 처리 과정을 나타낸 구성도
도 3은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치의 구성 블록도
도 4는 DEM 자료를 활용한 3차원 지형 표출의 일 예를 나타낸 구성도
도 5a내지 도 5c는 본 발명에 적용되는 기본 스킨, 마스크 스킨, 윤곽선 스킨의 예를 나타낸 구성도
도 6은 본 발명에 따른 기상 요소 표출부의 상세 구성도
도 7은 본 발명에 따른 바람 정보 처리부의 상세 구성도
도 8은 바람 벡터장을 3차원 지형 위에서 표출하기 위한 일 예를 나타낸 구성도
도 9는 스트림 벡터의 표출을 위한 예를 나타낸 구성도
도 10은 스트림 라인의 표출을 위한 예를 나타낸 구성도
도 11은 등치선 표출을 위한 예를 나타낸 구성도
도 12는 본 발명에 따른 기본 스킨, 마스크 스킨, 윤곽선 스킨이 적용되는 등치선 표출의 예를 나타낸 구성도
도 13a와 도 13b는 카메라 광선이 볼륨을 통과하는 동안 단계별로 각 지점에서의 볼륨 텍스쳐를 읽어오는 것을 나타낸 모식도 및 단일 구체에서 광선을 쏘았을 때 그림자 밀도가 어떻게 중첩되는지 보여주는 모식도
도 14는 shader 코드를 노드 화하여 구름 객체의 Material에 적용한 구성 및 볼륨 텍스쳐의 예를 나타낸 구성도
도 15는 기온을 등치선으로 표출한 일 예를 나타낸 구성도
도 16은 강수량을 등치선으로 표출한 일 예를 나타낸 구성도
도 17은 3-second gust를 등치선으로 표출한 일 예를 나타낸 구성도
도 18은 본 발명에 따른 대기환경 정보 표출부의 상세 구성도
도 19a 내지 도 19c는 시간의 경과에 따른 한반도 영역의 PM2.5 농도를 볼륨 렌더링으로 표출한 화면 구성도
도 20a 내지 도 20c는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도
도 21a 내지 도 21c는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도
도 22a 내지 도 22c는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도
도 23a 내지 도 23c는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도
도 24는 본 발명에 따른 MAIVE 프로그램의 화면 메뉴 구성도
도 25는 바람 벡터장을 제어하는 메뉴 설명을 위한 구성도
도 26은 스트림 벡터와 라인을 제어하는 메뉴 설명을 위한 구성도
도 27은 Contour map을 제어하는 메뉴 설명을 위한 구성도
도 28은 볼륨 렌더링을 제어하는 메뉴 설명을 위한 구성도
도 29는 지형의 스킨을 변경하는 메뉴 설명을 위한 구성도
도 30은 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴 설명을 위한 구성도
이하, 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.
본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.
도 1은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 기본 개념을 나타낸 구성도이고, 도 2a내지 도 2e는 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 전체 처리 과정을 나타낸 구성도이다.
본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법은 3차원 예측 및 관측 데이터를 다양한 시점에서 관찰, 분석하기 위해 단순히 2차원 표출을 겹치는 방식이 아닌 상용 엔진인 언리얼 엔진 4와 볼륨 렌더링 기법을 이용하여 3차원 가시화를 가능하도록 한 것이다.
이를 위하여 본 발명은 상용 개발 엔진인 언리얼 엔진 4와 최신 렌더링 기법을 이용하여 비주얼적인 수준과 성능을 최적화하고 기존의 표출 방식뿐만 아니라 바람장을 따라 흐르는 벡터인 스트림 벡터와 유선인 스트림 라인을 추가하고, raymarching volume rendering 기법을 적용하여 구름 및 대기질 정보를 표출하는 구성을 포함할 수 있다.
본 발명은 풍향, 풍속, 습도, 기온, 강수량 등과 같은 기상요소들과 미세먼지, 황사 농도와 같은 대기질 정보를 3차원 적으로 표출하며 파일 포맷은 NetCDF, Grib, Grib2, Ascii 등의 포맷을 지원하는 구성을 포함할 수 있다.
본 발명의 데이터 처리 과정은 도 1에서와 같이, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만든다.
만들어진 볼륨 텍스쳐는 볼륨 렌더링 기법을 활용하여 언리얼 엔진 4에서 3차원 가시화에 사용된다.
볼륨 렌더링 기법에는 Raymarching 알고리즘을 적용하고, Raymarching 알고리즘의 기본 개념은 3차원 볼륨에 광선을 비춘다고 가정할 때 볼륨을 통과하는 광선과 볼륨이 교차하는 각각의 지점에 대해 불투명도와 그림자를 포함한 색상을 계산하는 것을 말한다.
이와 같이 볼륨과 광선이 교차하는 각 픽셀에 대해 불투명도와 색상을 반환하는 것을 의미하고, 이 과정은 크게 광 흡수에 의한 불투명도 생성과정과 조명, 산란에 의한 색상 생성과정으로 이루어져 있으며 이를 shader를 이용하여 표출한다.
그리고 상용 엔진 중 업데이트가 활발히 이루어지고 무료 라이선스이며 비주얼적인 면에서 뛰어난 unreal engine 4를 사용하여 기본적인 3차원 지형을 위해 DEM 자료를 활용하여 입체 지형을 표출하고, 높이에 따른 색을 달리하는 기본 스킨과 육지와 바다의 색을 달리한 마스크 스킨, 육지와 바다의 경계선을 표시하는 윤곽선 스킨을 적용한다.
특히, 기상 요소 및 대기질 정보를 3차원 표출하기 위해 다양한 기법들을 적용하고, 바람과 같은 벡터값은 기본적인 벡터장뿐만 아니라 바람을 따라 흐르는 벡터인 스트림 벡터와 유선인 스트림 라인 기법을 추가하여 바람의 흐름을 보다 직관적으로 볼 수 있도록 한다.
또한, 기온, 강수량 등의 2차원 적인 데이터 값은 contour map을 통해 그 분포와 경향을 파악할 수 있도록 하고, 지형의 다양한 스킨과 융합하여 사용자가 원하는 그림을 선택하는 구성을 포함한다.
본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법은 도 2a 내지 도 2e에서와 같은 과정으로 대기 환경 정보의 3차원 표출 최적화를 구현하는 것이다.
도 2a에서와 같이, 데이터 입력이 이루어지면 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만든다.
데이터 입력은 WRF(Weather Research and Forecasting), CMAQ(Community Multiscale Air Quality), AWS(Automatic Weather Station), ASOS(Automated Surface Observing System) 등 기상 및 대기환경 정보(Ascii, Text, Csv 등)가 입력된다.
WRF 모델은 기상 수치예보 모델이자 기상 시뮬레이션 시스템으로, 기온, 강수량, 구름, 습도 등 기상 정보 예측 자료이고, CMAQ 모델은 제 3세대 대기오염 모델로 미세먼지, 초미세먼지, 일산화질소 등 대기환경 정보 예측 자료이다.
도 2b는 볼륨 텍스쳐 생성 과정을 나타낸 것이다.
만들어진 볼륨 텍스쳐는 볼륨 렌더링 기법을 활용하여 언리얼 엔진 4에서 3차원 가시화에 사용된다.
도 2c는 볼륨 렌더링 기법으로 Raymarching 알고리즘을 적용하는 것을 나타낸 것이다.
도 2d는 언리얼 엔진 4의 마테리얼 기능을 이용해 볼륨 텍스쳐에 Shader를 적용하는 과정을 나타낸 것이고, 도 2e는 언리얼 엔진 4의 마테리얼 기능을 적용하여 기상 요소 및 대기질 정보의 3차원 표출의 일 예를 나타낸 것이다.
도 3은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치의 구성 블록도이다.
본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치는 원하는 영역의 DEM 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성부(10)와, DEM 자료 추출 및 3차원 지형 생성부(10)에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출부(20)와, 지형 스킨 및 윤곽선 표출부(20)에 의한 지형 스킨 및 윤곽선 표출 화면에 바람 정보, 구름 정보, 기온 정보, 강수량 정보, 3-second gust 정보를 처리하여 기상 요소를 표출하는 기상 요소 표출부(30)와, CMAQ 모델 결과를 사용하여 볼륨 렌더링 기법을 활용하여 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출부(40)를 포함한다.
여기서, 지형 스킨 및 윤곽선 표출부(20)는 언리얼 엔진의 material 기능을 활용하여 지형의 높이에 따른 색을 입히는 기본 스킨, 바다와 육지를 구별하는 마스크 스킨, 바다와 육지의 경계선을 표시하는 윤곽선 스킨을 선택적으로 적용한다.
본 발명에서 기상 및 대기환경 정보의 3차원 표출을 위해 가장 먼저 3차원 지형을 구현하여야 하는데, 본 발명의 일 실시 예에서는 DEM 자료를 활용한다.
도 4는 DEM 자료를 활용한 3차원 지형 표출의 일 예를 나타낸 구성도이다.
본 발명에서는 30m 해상도의 수치표고 모델(Digital Elevation Model, DEM) 자료를 활용하여 사례별 지형을 표출하는 것을 예로 설명한다.
DEM 자료를 활용하기 위해 원하는 영역의 DEM 자료를 높이맵 형식으로 추출할 필요가 있으며 본 발명의 일 실시 예에서는 global mapper 프로그램을 이용하여 30m 해상도의 DEM 자료를 추출하는 것을 예로 한다.
추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하고, 추가로 언리얼 엔진의 material 기능을 활용하여 지형의 높이에 따른 색을 입히는 기본 스킨, 바다와 육지를 구별하는 마스크 스킨, 바다와 육지의 경계선을 표시하는 윤곽선 스킨을 선택적으로 적용한다.
도 4에서와 같이, 생성된 직후는 지형의 스킨을 입히지 않아 기본적인 회색으로 나오지만, DEM을 잘 반영하여 지형과 제주도 등이 나타나는 것을 볼 수 있다.
도 5a내지 도 5c는 본 발명에 적용되는 기본 스킨, 마스크 스킨, 윤곽선 스킨의 예를 나타낸 구성도이다.
스킨을 적용하기 위해 지형의 고도에 따라 지형의 색을 달리하여 표출한다.
언리얼 엔진의 Material 기능을 활용하여 지형의 고도에 따른 지형 색의 값을 달리 주어 스킨을 적용한다.
도 5a는 지형에서 고도에 따른 지형 색을 입힌 기본 스킨의 모습으로, 바다와 육지가 쉽게 구분되며 지형의 고도에 따라 색이 달라서 지형의 높낮이를 쉽게 구분할 수 있도록 한 것이다.
도 5b는 복잡한 윤곽선이 아니라 Land-Sea Mask처럼 육지와 바다의 구분이 잘 보이게 하도록 특정 고도 이하의 지형은 검은색, 그 이상은 흰색으로 그린 마스크 스킨을 나타낸 것이다.
도 5c는 지형의 윤곽선을 표시하기 위해 Material 기능을 통해 특정 고도의 지형 색 값을 흰색으로 두고 나머지 지형 색 값을 검은색으로 한 윤곽선 스킨(contour skin)이다.
특정 고도와 비교하여 특정 고도(Line1) 이하이거나 또 다른 고도(Line2) 이상이면 검은색, 그 사이의 고도에서는 흰색을 나타내게 해서 윤곽선을 표현한 것으로, 이때 두 고도 사이의 차가 윤곽선의 두께가 되어 윤곽선을 적용한 지형으로 복잡한 해안선을 잘 나타내고 있음을 알 수 있다.
이와 같은 3가지 스킨의 경우 사용자가 원하는 스킨을 언제든지 선택하여 변경할 수 있도록 한다.
도 6은 본 발명에 따른 기상 요소 표출부의 상세 구성도이다.
본 발명에 따른 기상 요소 표출부(30)는 도 6에서와 같이, 수치 모델의 결과인 바람 벡터의 u, v 성분을 풍향, 풍속으로 변환하여 바람 벡터장, 스트림벡터, 스트림라인 표출 및 등치선 처리를 하는 바람 정보 처리부(31)와, QCLOUD 변수를 이용해서 구름 정보를 볼륨 렌더링하여 3차원 가시화 처리를 하는 구름 정보 처리부(32)와, C++ 소스 코드를 활용해 Raw 자료로부터 기온의 Raw 자료를 읽어와 ℃ 단위계로 변환하기 위해 읽어온 자료에서 절대영도값인 273.15를 빼주어 배열에 저장하고 자료를 정규화한 후 색 범례와 대조해서 대응되는 색을 배열에 저장한 뒤 UpdateTextureRegions 함수를 이용해 Contour Texture를 생성하는 기온 정보 처리부(33)와, C++ 코드를 통해 Raw 자료로부터 RAINC와 RAINNC를 읽어와 이를 합하여 배열에 저장하고 생성하고자 하는 시간의 Rain 배열 값에서 이전 시간의 Rain 배열 값을 빼고 이를 색 범례와 대조하여 배열에 저장하여 강수량 정보를 처리하는 강수량 정보 처리부(34)와, 3-second gust를 등치선으로 표출하는 3-second gust 처리부(35)를 포함한다.
기상 정보 대부분은 2차원 자료로 이루어져 있어 2차원 등치선으로 표출할 수 있으며 고도별로 값이 존재하는 구름과 같은 3차원 자료의 경우는 볼륨 렌더링으로 표출할 수 있다.
자료만 주어진다면 어떤 요소들이든 표출할 수 있지만 본 발명의 일 실시 예에서는 대표적인 기상 정보인 바람, 기온, 강수량, 구름의 표출 방법을 설명한다.
WRF 모델 결과에는 기상 정보 중 구름을 나타내는 많은 변수가 존재하며 본 발명에서는 변수 중 QVAPOR, QRAIN, QCLOUD를 이용해 볼륨 렌더링 기법으로 3차원 구름을 표출하여 실제 구름과 가장 유사하게 표출되는 변수인 QCLOUD 변수를 선택한다.
QVAPOR는 수증기 혼합 비율로 단위 질량의 공기와 혼합된 수증기의 질량을 뜻한다. QRAIN는 단위 질량의 공기와 혼합된 빗물의 질량, QCLOUD는 단위 질량의 공기와 혼합된 운수의 질량을 의미하며 세 변수의 단위는 kg / kg로 같다.
바람의 경우는 크기와 방향 성분이 있어 벡터를 통해 나타내는데, 바람을 표출하기 위해서는 바람의 방향인 풍향과 크기인 풍속이 필요하다.
하지만 수치 모델의 결과는 풍향, 풍속이 아닌 바람 벡터의 u, v 성분으로 나오기 때문에 이를 풍향, 풍속으로 변환할 필요성이 있다.
u, v 성분으로 이루어진 바람 벡터를 삼각함수를 이용해 각도인 θ를 구한다.
Figure 112020065779819-pat00007
수학식 1에서와 같이, 삼각함수에 의해 u 성분은 풍속과 sin θ의 곱, v 성분은 풍속과 cos θ의 곱이 된다. 두 식을 θ에 의해 정리하면 수학식 2에서와 같은 결과를 얻을 수 있다.
Figure 112020065779819-pat00008
여기서 구한 θ는 radian 값이므로 프로그램에서 쓰기 위해 degree 값으로 변환할 필요가 있다. 1 radian은 호의 길이가 반지름과 같게 되는 각도를 말하며 약 57.3°를 나타낸다.
수학식 3에서와 같이 degree와 radian 사이에는 180°는 π radian(3.141592…….)라는 관계가 성립되면 이를 이용하여 radian 값에 π에서 180°를 나눠준 값을 곱해주면 degree 값을 구할 수 있게 된다. 반대로 degree 값에 180°에서 π를 나눠준 값을 곱하였을 때 radian 값으로 변환되어 진다.
Figure 112020065779819-pat00009
풍속의 경우는 피타고라스 정리에 따라 u와 v 성분을 제곱하여 더한 후 루트를 씌워서 구하게 된다.
Figure 112020065779819-pat00010
도 7은 본 발명에 따른 바람 정보 처리부의 상세 구성도이다.
본 발명에 따른 바람 정보 처리부(31)는 C++ 소스 코드를 활용해 Raw 자료로부터 바람의 u, v 성분을 추출하여 읽어와 풍향과 풍속을 계산하여 배열에 저장하고 이를 언리얼 엔진에서 읽어 들여 바람장 각각의 벡터에 반영하도록 하는 바람 벡터장 표출부(31a)와, 바람장을 따라 흐르는 바람 벡터인 스트림 벡터를 구현하는 스트림벡터 표출부(31b)와, 스트림 벡터와 유사하게 바람장을 따라 흐르는 유선을 구현하는 스트림라인 표출부(31c)와, 풍속 자료를 0.0부터 1.0까지 정규화 하여 범례 색깔의 색과 대응시키고 대응된 색 정보를 배열에 저장한 뒤 텍스쳐로 생성하여 지형 스킨과 융합되도록 하는 등치선 처리부(31d)를 포함한다.
도 8은 바람 벡터장을 3차원 지형 위에서 표출하기 위한 일 예를 나타낸 구성도이다.
기상 요소 표현을 위한 바람 벡터장에 관하여 설명하면 다음과 같다.
바람을 나타내는 가장 기본적인 바람장을 표출하기 위해 C++ 소스 코드를 활용해 raw 데이터로부터 바람의 u, v 성분을 추출하여 읽어오고, 읽어온 u, v 값을 이용하여 풍향과 풍속을 계산하여 배열에 저장하고 이를 언리얼 엔진에서 읽어 들여 바람장 각각의 벡터에 반영하도록 프로그램을 한다.
저장한 배열은 언리얼 엔진 4의 블루프린트를 통해서 각 바람 벡터의 성분에 반영하도록 한다.
Data라는 DataManager 클래스에서 WindAngle, WindSpeed 배열을 불러오게 된다. 이때 배열의 인덱스는 바람장의 x 격자와 y 격자, 레이어 인덱스, 시간 인덱스에 의해 계산되며 Get 노드를 통해 계산한 인덱스의 배열 값을 읽어오게 된다.
바람장의 경우 단일 면의 경우는 레이어가 하나이지만, 등압면의 경우 고도별로 레이어를 두어 고도에 따라 풍향, 풍속이 변하도록 작성한다.
이를 위해 DataManager 클래스에서 레이어 인덱스를 설정하고 배열 인덱스 계산에 활용한다.
그리고 Raw 자료의 원본 해상도보다 낮은 해상도로도 표출할 수 있도록 한다. 바람 벡터장의 해상도가 높으면 바람 벡터를 표출하는 데 있어서 사용자의 컴퓨터에 부하가 많이 걸리므로 상황에 맞게 해상도를 변경할 수 있도록 하는 것이 바람직하다.
이와 같은 바람 벡터장을 3차원 지형 위에서 다양한 방법으로 도 8의 (a)(b)는 태풍 사례의 한 시간대로 바람 벡터장에 풍속에 따른 색을 주었을 때와 색을 하나로 통일했을 때의 화면이다.
풍속에 따른 색을 주었을 때는 전체 풍속의 경향을 쉽게 볼 수 있으며 하나의 색으로 통일했을 때는 배경색과 잘 구별되어 벡터의 크기가 작아도 알아볼 수 있는 장점이 있다.
도 8의 (c)(d)의 경우는 벡터장의 격자 간격을 달리했을 때의 화면으로 (c)의 경우는 (a), (b)와 같은 45km 간격이며 (d)의 경우는 Raw 자료와 같은 9km 간격의 경우이다.
격자 간격이 넓은 경우 (a), (b)와 같이 중규모 이상의 넓은 영역의 바람을 파악하는 데는 좋으나 (c)에서처럼 국지규모로 들어오면 한 번에 표시되는 벡터의 수가 줄어 바람의 경향을 보기가 힘들다.
반대로 격자 간격이 좁은 경우 사용자의 컴퓨터에 부하가 많이 걸리고 중규모 이상의 영역에서는 벡터 크기가 너무 작아져 파악하기가 힘들지만 좁은 영역에서의 바람을 살펴보는 데는 큰 도움이 되는 것을 알 수 있다.
도 9는 스트림 벡터의 표출을 위한 예를 나타낸 구성도이다.
바람 벡터장의 경우 바람의 경향을 한눈에 보기에는 좋으나 바람의 흐름을 나타내기에는 한계가 있다.
본 발명에서는 이를 보완하기 위해 바람장을 따라 흐르는 바람 벡터인 스트림 벡터를 구현한다.
스트림 벡터는 고정된 바람 벡터장과 달리 이동하면서 변화하므로 바람의 흐름을 나타내기에 적합한 표출방식이다.
먼저 지형의 영역 정보를 불러와 영역 안에서 생성될 불규칙한 위치를 Random Float in Range 노드를 통해서 정한다.
그리고 사용자의 카메라의 높이를 불러와 이 높이에 비례하게 스트림 벡터의 크기를 지정하게 된다. 이는 카메라의 줌인에 따라 스트림 벡터의 크기를 자동으로 조절하기 위해서이다.
언리얼 엔진의 For Loop 노드와 Spawn Actor From Pool 노드를 통해 한 번에 다수의 스트림 벡터 클래스를 생성하게 된다. 이렇게 생성된 클래스는 클래스 자체에서 현 위치의 풍향, 풍속을 읽어와 반영할 것이므로 자료를 읽어오는데 필요한 변수들을 전달해주어야 한다. 그리고 Stream Count 변수를 For Loop 노드에 사용하여 한 번에 생성되는 스트림 벡터의 양을 사용자가 조절할 수 있도록 한다.
각각의 스트림 벡터는 불특정 위치에서 생성되어 그 위치의 풍향, 풍속을 반영하여 움직이게 된다. 현재 스트림 벡터의 월드 상의 위치를 역으로 계산해 Raw 자료의 x, y 좌표를 계산하고 이를 이용해 현 위치에서의 풍향, 풍속 값을 읽어오게 된다. 읽어온 풍속 값은 스트림 벡터의 전방 벡터 GetForwardVector와 곱해져서 벡터가 움직이는 속도를 결정하는 데 쓰이고 풍향은 SetActorLocation 노드를 통해 움직이려는 방향을 결정하는 데 반영된다.
마지막으로 한번 생성된 스트림 벡터는 영역 밖으로 나가거나, 일정 시간이 지나면 소멸하게 된다.
본 발명에서는 도 9의 (a)(b)에서와 같이, 스트림 벡터도 바람장과 같이 풍속에 따른 색을 줄 경우와 단일 색일 경우로 나눠서 표출한다.
풍속에 따른 색을 줄 경우는 풍속의 세기를 가늠할 수 있으며 단일 색의 경우는 지형과 구분이 잘된다는 장점이 있다. 그리고 줌인했을 경우 스트림 벡터의 크기가 변하지 않는다면 상대적으로 화면 안의 벡터 크기가 너무 커지는 경우가 발생하여 사용자의 카메라 위치에 따라 자동으로 스트림 벡터의 크기를 조절하는 기능을 포함한다.
도 9의 (c)(d)는 줌인을 한 경우를 나타낸 것으로, (a)(b)보다 바람 벡터의 크기가 줄어든 것을 볼 수 있다.
도 10은 스트림 라인의 표출을 위한 예를 나타낸 구성도이다.
스트림 벡터의 경우 벡터의 모양이 변하지는 않아 벡터의 방향이 바뀔 때 종종 요동치는 모습들이 발생하는데, 더 자연스러운 흐름을 표출하기 위해 스트림 벡터와 유사하게 바람장을 따라 흐르는 유선을 구현한다.
스트림 벡터와 다른 점은 바람 벡터가 아니라 하나의 유선을 그리게 된다는 점이다. 스트림 라인의 구현 방법은 스트림 벡터와 같지만 단순한 객체였던 스트림 벡터와 다르게 스트림 라인은 파티클이라는 언리얼 엔진에서 지원하는 그래픽 기법을 이용하여 표출한다.
언리얼 엔진의 Random Float in Range from Stream 노드를 통해 영역 내의 불특정 위치를 선정하고 For Loop 노드를 통해 스트림 라인을 생성하게 된다. 그리고 스트림 벡터와 마찬가지로 카메라의 높이에 따른 크기 및 길이의 변화를 자동화하였고 Stream Count 변수를 통해 사용자가 한 번에 생성되는 정도를 정할 수 있도록 한다.
스트림 라인의 생성은 스트림 벡터와 마찬가지로 SpawnActor 노드를 사용하여 스트림 라인 클래스를 생성하며 데이터를 읽어오기 위한 변수들을 생성된 클래스에 전달해준다.
스트림 라인 역시 불특정 위치에서 생성될 경우 자신의 위치를 불러와 이를 역으로 계산해 데이터의 x, y 좌푯값을 구해내고 이 값을 통해 현재 위치의 풍향, 풍속을 불러오게 된다.
스트림 벡터와 마찬가지로 영역 밖으로 나가거나 일정 시간이 지나면 소멸하며 구한 풍향, 풍속을 SetActorLocation 노드를 통해 현재 객체에 적용하게 된다.
도 10은 태풍 사례의 특정 시간대의 스트림 라인을 표출한 것이다.
도 10의 (a)는 한반도 영역으로 줌아웃 한 화면으로 유선으로 이루어져 있는 스트림 라인이 앞의 스트림 벡터보다 바람의 흐름을 잘 표현하는 것을 볼 수 있다.
또한, 태풍의 중심에 가까울수록 풍속이 커져서 스트림 라인의 길이가 길어지는 것을 볼 수 있다.
도 10의 (b)는 제주도까지 줌인 한 화면으로 카메라의 줌인, 아웃에 따라 스트림 벡터와 같이 스트림 라인의 크기와 선의 길이가 변하는 것을 볼 수 있다. 줌아웃했을 때와 비교하면 제주도 부근의 바람 흐름 변화를 더 상세하게 볼 수 있다.
도 11은 등치선 표출을 위한 예를 나타낸 구성도이다.
등치선은 기상 및 대기환경 정보와 같은 다양한 자료를 색으로 표현하여 2차원 자료의 경향과 분포를 시각적으로 쉽게 볼 수 있게 하는 장치이다.
Figure 112020065779819-pat00011
표 1의 소스 코드는 기상 정보 중 하나인 풍속을 Contour Texture로 만드는 코드이며 자료의 범위를 최소값인 MinValue와 최대값인 MaxValue의 차로 계산한 뒤 풍속 자료를 0.0부터 1.0까지 정규화 하여 범례 색깔의 색과 대응시킨다.
대응된 색 정보는 ContourTemp 배열에 저장한 뒤 UpdateTextureRegions 함수를 이용해 배열의 값을 텍스쳐로 생성한다.
그리고 코드를 통해 생성된 Contour Texture를 지형 스킨에 덮어씌워 지형과 기상 및 대기환경 정보가 일치하게 한다.
Figure 112020065779819-pat00012
표 2는 언리얼 엔진에서 지형의 Material 중 등치선과 관련한 블루프린트이며 TexCoord 노드와 u, v 노드를 이용해 지형에 Contour Texture를 uv 매핑시킨다.
uv 매핑은 3차원 오브젝트를 2차원 텍스쳐로 정의하는 텍스쳐 매핑의 한 종류로 xy 좌표계와 구별하기 위해 uv 좌표계를 이용하여 매핑하는 것이며 0.0 ~ 1.0 사이의 값을 가지게 된다. ContourTexture라는 노드를 통해 UV 매핑된 등치선을 불러오게 되며 Lerp 노드를 통해 선형보간되어 지형 스킨과 융합하게 된다. 이때 Alpha 노드 값에 의해 보간 정도가 결정된다.
최종적으로, ContourManager 클래스에서 DataManager 클래스로부터 Contour Texture를 읽어와 이를 지형인 랜드스케이프 Material의 ContourTexture 노드에 연결해주게 된다. 그러기 위해서 먼저 ContourManager 클래스가 시작할 때 Dynamic Material Instance(DMI)를 생성시켜주어야 한다. DMI는 Material 안의 노드에 접근하는 데 필요한 동적 변수로 이 변수를 통해서만 실행 도중에 Material의 변화가 가능하다.
클래스가 생성될 때 Create Dynamic Material Instance 노드를 이용해 만들 수 있으며 Set Material 노드를 통해 클래스의 Mesh Component에 적용해 준다. 만들어진 DMI는 Update Texture 함수를 통해 랜드스케이프 Material의 등치선과 Alpha 노드를 변경하는 데 이용된다.
이때 랜드스케이프의 Set Landscape Material Texture Parameter Value 노드와 Set Landscape Material Scalar Parameter Value 노드를 이용하는데 노드 이름과 같이 앞의 노드는 텍스쳐 값을 변경하고, 뒤의 노드는 스칼라값을 변경한다.
도 11은 태풍 사례의 한 시간대의 풍속 등치선을 표출한 것으로, (a)는 기본적인 풍속 범위인 0 ~ 50m/s로 지정했을 경우이고, (b)는 풍속 범위 최대를 20m/s로 지정했을 경우의 등치선이다.
(b)의 경우가 (a)의 경우보다 풍속의 강약이 더 또렷이 구별되며 태풍의 중심을 파악하기가 쉬운 것을 알 수 있다.
본 발명에서는 지형 스킨이 변경되는 경우, 등치선에도 반영되도록 구현한다.
도 12는 본 발명에 따른 기본 스킨, 마스크 스킨, 윤곽선 스킨이 적용되는 등치선 표출의 예를 나타낸 구성도이다.
도 12는 태풍 사례 중 한 시간대의 풍속 등치선으로 태풍의 중심이 한반도 서쪽에 자리 잡고 있음을 볼 수 있다.
(a)는 기본적인 지형 스킨을 적용한 화면으로 지형 색과 등치선의 융합에 따라 지형 색이 섞임으로써 등치선과 지형을 동시에 볼 수 있는 특징이 있다.
(b)는 Mask를 적용한 화면으로 육지와 바다의 구별이 쉬우며 (c)의 경우는 윤곽선 스킨을 적용했을 경우로 가장 등치선의 본래 색을 잘 나타낸다는 특징이 있다.
도 13a와 도 13b는 카메라 광선이 볼륨을 통과하는 동안 단계별로 각 지점에서의 볼륨 텍스쳐를 읽어오는 것을 나타낸 모식도 및 단일 구체에서 광선을 쏘았을 때 그림자 밀도가 어떻게 중첩되는지 보여주는 모식도이다.
본 발명에서는 구름 및 미세먼지 등 3차원으로 표출하기 어려운 변수들을 볼륨 렌더링을 이용해 표출할 수 있도록 한다.
볼륨 렌더링은 3차원 자료를 2차원으로 화면 투영하여 보여주기 위한 기술의 집합으로, 볼륨 렌더링을 위한 다양한 기법들이 존재하는데 본 발명의 일 실시 예에서는 Raymarching 알고리즘을 적용하고, 이로 제한되지 않는다.
Raymarching 알고리즘의 기본 개념은 광선을 볼륨에 비췄을 때 볼륨을 통과하는 광선을 평가하는 것으로 볼륨과 광선이 교차하는 각 픽셀에 대해 불투명도와 색상을 반환하는 것을 의미한다.
이 과정은 크게 광 흡수에 의한 불투명도 생성과정과 조명, 산란에 의한 색상 생성과정으로 이루어져 있다.
볼륨의 불투명도를 생성하려면 보이는 지점의 밀도나 두께를 알아야 하는데 이를 위해 Beer-Lambert 법칙을 통해 수학식 5를 정의한다.
Figure 112020065779819-pat00013
여기서, Transmittance는 투과율이며 t는 볼륨 내에서 이동한 거리, d는 볼륨의 밀도이다.
수학식 6은 광선이 볼륨의 모든 복셀을 통과함에 따라 광선의 색에 현재 복셀의 역 불투명도를 곱하여 흡수를 계산하고 현재 복셀의 색에 현재 복셀의 불투명도를 곱한 식이다.
Figure 112020065779819-pat00014
여기서, 복셀은 3차원 공간상의 pixel을 말하며 Cout은 복셀을 통과한 후의 색, Cin은 복셀을 통과하기 전의 색, Opacity(x)는 x 위치의 불투명도, Color(x)는 x 위치의 색을 말한다.
수학식 5 및 수학식 6을 이용하여 먼저 각 지점에서의 볼륨의 두께를 구한 후 두께 값을 이용하여 볼륨이 차단하는 빛의 양인 불투명도를 추정할 수 있다.
도 13a는 간단한 구의 예시로 카메라 광선이 볼륨을 통과하는 동안 단계별로 각 지점에서의 볼륨 텍스쳐를 읽어오는 것을 나타낸 모식도이다.
광선이 볼륨의 안에 위치하는 단계의 경우 광선의 길이를 도면에서 보이는 Distance Traveled within media와 같은 누적변수에 저장한다.
그리고 이 도면의 경우 적은 단계로 수행한 경우라 볼륨을 계산한 노란 점들이 구의 형태와는 많이 차이가 나는 것을 볼 수 있다. 단계를 늘릴수록 실제 볼륨과 비슷한 형태를 계산하지만, 계산 시간이 길어지게 된다.
선형밀도는 수학식 7에서와 같이 점 x에서 x′까지 광선을 따라 누적된다.
따라서 점 x에서 x′까지 광선 길이에 대한 투과율은 수학식 8에서와 같이 정의된다.
Figure 112020065779819-pat00015
Figure 112020065779819-pat00016
위 식을 shader 코드로 작성하면 표 3과 같은 형태가 된다.
Figure 112020065779819-pat00017
이 코드는 normalize 함수를 이용해 텍스쳐 공간에서 0 ~ 1 사이에 볼륨 텍스쳐를 설정하고 for 문과 PseudoVolumeTexture 함수를 이용해 단계별로 광선을 통과시켜 선형밀도를 계산하여 반환시켜 준다. 이 경우, MaxSteps 변수를 통해 계산하는 단계 수를 제어할 수 있다.
볼륨의 밀도를 계산할 때 조명에 의한 그림자의 계산도 필요하다.
도 13b는 단일 구체에서 광선을 쏘았을 때 그림자 밀도가 어떻게 중첩되는지 보여주는 모식도이다.
밀도 계산과 마찬가지로 조명의 방향에 따라 빛이 볼륨 내를 통과할 경우 단계별로 작업을 수행하고 그 거리를 Shadow Density Accumulation에 누적시킨다.
각각의 단계별 지점에서 밀도를 측정하여 얼마나 많은 빛을 분산시키는지 결정하며 이는 다음 단계에서 불투명도가 얼마나 증가하는지 영향을 미친다.
이 계산을 위해서는 수학식 8에 각 위치에서의 빛에 의한 계산이 추가되어야 한다.
조명을 추가하기 위해 광선을 따라 각 지점에서의 빛의 산란과 흡수를 고려해야 한다. 볼륨 내의 x 지점에서 w 방향의 빛에서 해당 지점으로 만드는 산란의 양은 수학식 9에서와 같다.
Figure 112020065779819-pat00018
여기서, w는 빛의 방향이고 l은 볼륨 외부에서 빛의 음의 방향을 향한 점이다. 즉 -LinearDensity(x, l)는 지점 x에서 볼륨 경계에 도달할 때까지 빛에 의한 선형밀도를 나타내며 이는 빛을 흡수하는 입자의 양을 의미한다.
여기에 볼륨의 불투명도를 기준으로 흡수된 빛의 비율을 계산하기 위해 OutScattering 항에 Opacity가 곱해지게 된다.
수학식 10에서와 같이 볼륨을 통해 광선을 따라 모든 지점에서 총 산란을 반환한다.
Figure 112020065779819-pat00019
도 14는 shader 코드를 노드 화하여 구름 객체의 Material에 적용한 구성 및 볼륨 텍스쳐의 예를 나타낸 구성도이다.
shader 코드를 노드 화하여 구름 객체의 Material에 적용한 것이 도 14의 (a)이다.
Density Raymarch 노드에서 shader 코드가 적용되며 Cloudtexture 노드에서 볼륨 텍스쳐를 읽어오게 된다. 그 후, LightColor 노드와 곱해져서 구름의 색이 결정되게 된다.
도 14의 (b)는 볼륨 텍스쳐이며 각 층을 나타내는 텍스쳐가 하나로 합쳐진 모습을 나타내고 있다. 태풍 사례의 경우 WRF 모델 결과의 3차원 자료가 29개 층으로 이루어져 있어 5 X 5개로 나누어 저장한 것이다.
Density Raymarch 노드에서는 이 볼륨 텍스쳐를 읽어와 각각을 나눠서 하나의 층으로 그리게 된다.
도 15는 기온을 등치선으로 표출한 일 예를 나타낸 구성도이다.
기온은 등치선으로 표출하기 가장 적합한 요소이다.
본 발명의 일 실시 예에서는 지표면에서 2m 높이의 기온을 표출하는 것을 예로 설명한다.
먼저 C++ 코드를 이용해서 기온의 Raw 자료를 읽어온다.
다른 자료들을 읽어오는 부분과 같으나, 수치 모델 결과의 온도값은 K 단위계를 사용하므로 우리가 자주 사용하는 ℃ 단위계로 변환할 필요가 있다. 이를 위해 읽어온 자료에서 절대영도값인 273.15를 빼주어 배열에 저장한다.
표 4는 저장한 배열을 이용해 Contour Texture를 생성하는 코드이다.
Figure 112020065779819-pat00020
자료를 정규화한 후 색 범례와 대조해서 대응되는 색을 배열에 저장한 뒤 UpdateTextureRegions 함수를 이용해 Contour Texture를 생성하게 된다.
도 15는 태풍 사례 중 한 시간대의 2m 기온을 등치선으로 표출한 것이다.
도 15의 (a)는 색 범례의 범위를 -10 ~ 40℃로, (b)는 -10 ~ 30℃로 지정한 것이다.
(a)와 비교하면 (b)의 그림이 기온의 분포를 파악하기에 쉽다는 것을 알 수 있다. (b)에서 기온이 한반도 서쪽의 태풍 중심을 따라 태풍의 형태를 따라 변화하는 것을 볼 수 있으며 동쪽의 태백산맥을 경계로 지형에 의한 기온 차이가 확연히 구별되는 것을 볼 수 있다. (a)와 (b)의 비교처럼 사례에 따라 기온의 분포가 다르므로 각 사례의 특징을 잘 나타낼 수 있는 범위를 지정할 필요성이 있다.
도 16은 강수량을 등치선으로 표출한 일 예를 나타낸 구성도이다.
강수량은 일정 시간 동안 한 지역에서 내린 비의 양이므로 하나의 층인 2차원 자료만 가지게 되므로 등치선으로 표출하기에 적합한 기상 요소이다.
강수량을 나타내는 다양한 변수들이 존재하지만 본 발명의 일 실시 예에서는 WRF 모델 결과를 사용하여 표출하는 것을 예로 설명한다.
WRF 모델 결과에서는 누적 강수량만 주어지므로 이를 현 시간의 강수량으로 나타내기 위해서는 수학식 11에서와 같이 현 시간의 누적 강수량에서 그 전 시간의 누적 강수량을 빼주어야 한다.
Figure 112020065779819-pat00021
그리고 WRF 모델 결과에서 나타내는 누적 강수량은 두 가지가 존재하며 RAINC는 적운 모수화(the cumulus parameterization)에 의해 생성되며 RAINNC는 미세물리과정과 강수를 생성하는 별도의 프로세서에 의해 생성되는 변수이다.
일반적으로 WRF 모델에서 누적 강수량은 RAINC와 RAINNC의 합으로 쓰이며 단위는 mm이다.
먼저 C++ 코드를 통해 Raw 자료로부터 RAINC와 RAINNC를 읽어와 이를 합하여 배열에 저장한다.
표 5에서와 같이 getline 함수를 통해 각각의 자료를 읽어온 후 ParseIntoArray 함수로 이를 x 좌표에 따라 분류한 뒤 두 값을 합하여 Rain 배열에 저장한다.
Figure 112020065779819-pat00022
저장한 배열을 이용하여 Contour Texture를 생성하는 코드를 이용하여 생성하고자 하는 시간의 Rain 배열 값에서 이전 시간의 Rain 배열 값을 빼고 이를 색 범례와 대조하여 배열에 저장한다.
그리고 처음 시간의 경우 이전 시간이 존재하지 않으므로 If 문을 활용하여 처음 시간의 Rain 배열 값을 배열에 저장하게 된다.
저장한 배열은 UpdateTextureRegions 함수를 통해 Contour Texture를 생성하게 된다.
도 16은 태풍 사례 중 한 시간대의 강수량을 등치선으로 표현한 것이다.
비가 많이 오는 곳을 붉은색으로 표현이 되어 있고 적은 곳은 푸른색으로, 오지 않은 곳은 색이 없음을 알 수 있다. 태풍의 중심 부근에는 많은 비가 오고 있지만, 상대적으로 태풍의 서쪽에 있는 한반도에는 강수량이 많지 않은 것을 볼 수 있다.
도 17은 3-second gust를 등치선으로 표출한 일 예를 나타낸 구성도이다.
본 발명은 태풍사전방재모델에서 나온 결과인 3-second gust 역시 표출할 수 있도록 한다.
3-second gust는 풍속만 있는 2차원 자료이므로 이를 등치선으로 표출한다.
도 17에서 보면 기존의 풍속과 비슷하게 태풍의 눈을 중심으로 높은 풍속의 3-second gust가 분포하고 있는 것을 볼 수 있다.
도 18은 본 발명에 따른 대기환경 정보 표출부의 상세 구성도이다.
대기환경 정보에는 우리가 흔히 알고 있는 미세먼지, 황사뿐만 아니라 누출사고로 인한 오염 물질이나 화력 발전소 주변의 오염 물질 등 다양한 요소들이 있다. 지금까지 제공하는 대기환경 정보는 대부분 2차원 표출이었지만 미세먼지나 오염 물질의 특징상 3차원 표출을 통해 수직 분포를 알면 더욱 효과적인 분석이 가능할 것이다.
본 발명의 일 실시 예에서 3차원 대기환경 정보 자료는 CMAQ(Community Multi-scale Air Quality) 모델 결과를 사용하였으며 볼륨 렌더링 기법을 활용하여 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포 등을 한눈에 파악할 수 있도록 한다.
이를 위한 본 발명에 따른 대기환경 정보 표출부(40)는 도 18에서와 같이, 시간의 경과에 따른 PM2.5 농도를 볼륨 렌더링으로 표출한 위에서 바라본 화면, 수직 분포를 보기 위해 아래에서 바라본 화면, PM2.5 농도의 등치선 표출을 나타낸 화면을 제공하는 초미세먼지(PM2.5) 표출부(41)와, 미세먼지를 나타내는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하고, 각각의 고도별 자료를 등치선으로 나타내는 미세먼지(PM10) 표출부(42)와, 일산화탄소를 나타내는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화탄소(CO) 표출부(43)와, 일산화질소를 나타내는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화질소(NO) 표출부(44)와, 아황산가스를 나타내는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 아황산가스(SO2) 표출부(45)를 포함한다.
이와 같은 구성을 갖는 본 발명에 따른 대기환경 정보 표출부(40)에 의해 CMAQ 모델 결과 중 초미세먼지인 PM2.5와 미세먼지인 PM10, 그 밖의 오염 물질인 일산화탄소, 일산화질소, 아황산가스를 표출할 수 있도록 한다.
도 19a 내지 도 19c는 시간의 경과에 따른 한반도 영역의 PM2.5 농도를 볼륨 렌더링으로 표출한 화면 구성도이다.
CMAQ 모델 결과 중 초미세먼지인 PM2.5의 3차원 자료를 사용하여 초미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.
본 발명에서는 시간의 경과에 따른 한반도 영역의 PM2.5 농도를 볼륨 렌더링으로 표출한 화면으로 위에서 바라본 화면, 수직 분포를 보기 위해 아래에서 바라본 화면을 제공할 수 있고, 도 19c에서와 같이, CMAQ 모델 결과 중 가장 낮은 층의 PM2.5 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다.
도 19a 내지 도 19c를 보면, 시간의 경과에 따라 한반도에 존재하고 있던 초미세먼지들이 서해안으로부터 유입된 초미세먼지와 합해져서 북쪽으로 이동하는 것을 볼 수 있다.
도 20a 내지 도 20c는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도이다.
CMAQ 모델 결과 중 미세먼지를 나타내는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.
시간의 경과에 따른 한반도 영역의 PM10 농도를 볼륨 렌더링으로 표출한 화면으로 위에서 바라본 화면, 수직 분포를 보기 위해 옆에서 바라본 화면을 제공할 수 있고, 도 20c에서와 같이, 가장 낮은 층의 PM10 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다.
도 20a 내지 도 20c를 보면, PM10은 PM2.5와 유사한 움직임을 보이는 것을 알 수 있다.
도 21a 내지 도 21c는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도이다.
CMAQ 모델 결과 중 일산화탄소를 나타내는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.
시간의 경과에 따른 한반도 영역의 CO 농도를 볼륨 렌더링과 등치선으로 표출한 화면으로, 한반도를 중심으로 위쪽에서 바라본 화면, 수직 분포를 보기 위해 옆에서 바라본 화면을 제공할 수 있고, 도 21c에서와 같이, 낮은 층의 CO 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다.
초반에는 서해안과 동해안에 분포되어 있던 CO가 시간이 지남에 따라 수도권을 중심으로 모인 뒤 북쪽으로 퍼져 올라가는 것을 볼 수 있다. PM2.5, PM10, CO의 확산하는 분포가 비슷한데 이는 같은 시간대, 같은 바람에 의해 확산하기 때문이다.
도 22a 내지 도 22c는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도이다.
CMAQ 모델 결과 중 일산화질소를 나타내는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.
시간의 경과에 따른 한반도 영역의 NO 농도를 볼륨 렌더링과 등치선으로 표출한 화면으로, 한반도를 중심으로 위쪽에서 바라본 화면, 수직 분포를 보기 위해 옆에서 바라본 화면을 제공할 수 있고, 도 22c에서와 같이, 낮은 층의 NO 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다.
사례의 일산화질소는 수도권과 경상남도 지역에 주로 분포하고 있으며 바람의 영향을 받아 근처로 퍼져나가는 것을 볼 수 있다.
도 23a 내지 도 23c는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도이다.
CMAQ 모델 결과 중 아황산가스를 나타내는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.
시간의 경과에 따른 한반도 영역의 SO2 농도를 볼륨 렌더링과 등치선으로 표출한 화면으로, 한반도를 중심으로 위쪽에서 바라본 화면, 수직 분포를 보기 위해 옆에서 바라본 화면을 제공할 수 있고, 도 23c에서와 같이, 낮은 층의 SO2 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다.
아황산가스도 일산화질소와 유사하게 수도권과 경상남도 지역에 주로 분포하고 있지만, 그 영역은 일산화질소보다는 작은 것을 볼 수 있다. NO의 경우와 비슷하게 바람에 영향을 받아 주변으로 퍼져나가는 것을 볼 수 있다.
본 발명에 따른 MAIVE 프로그램의 화면 메뉴 구성에 관하여 구체적으로 설명하면 다음과 같다.
도 24는 본 발명에 따른 MAIVE 프로그램의 화면 메뉴 구성도이다.
도 24에서 ①은 바람 벡터장을 제어하는 메뉴이다.
도 25는 바람 벡터장을 제어하는 메뉴 설명을 위한 구성도이다.
좌측의 화살표 버튼은 풍속에 따른 색을 입힌 바람 벡터장을 화면상에 켜고 끄는 역할을 하며(도 25의 a) 우측의 화살표는 검은색의 단일 바람 벡터장을 표출하고 지우는 역할을 한다(도 25의 b).
offset의 경우 벡터장의 간격을 설정할 수 있으며 이 크기는 raw 데이터의 격자 간격보다 낮을 수는 없다. 또한, scale은 바람 벡터장의 크기를 조절하며 숫자가 클수록 전반적인 벡터의 크기가 커진다(도 25의 c, d).
도 24에서 ②는 스트림 벡터와 라인을 제어하는 메뉴이다.
도 26은 스트림 벡터와 라인을 제어하는 메뉴 설명을 위한 구성도이다.
좌측의 흰색 배경의 검은 화살표 버튼은 바람 벡터장과 같게 풍속에 따른 색의 스트림 벡터를 화면상에 켜고 끄는 역할을 하며(도 26의 a), 우측의 검은 배경의 흰색 화살표는 검은색으로 통일한 스트림 벡터를 표출하는 역할을 한다(도 26의 b).
스트림 라인 버튼은 스트림 라인을 화면상에 표출하고 지우는 역할을 하며(도 26의 c) 스트림 벡터와 스트림 라인은 동시에 표출될 수도 있다(도 26의 d).
level의 경우 현재 화면상에 생성되는 스트림 벡터와 라인의 개수를 제어하는 메뉴로써 level이 높을수록 많은 양의 스트림 벡터와 라인이 표출되지만 그만큼 부하가 많이 걸리기 때문에 사용자의 실행 환경에 맞춰서 조절한다(도 26의 e, f).
도 25에서 ③은 Contour map을 제어하는 메뉴로써 버튼을 선택하면 지형에 contour map이 융합되어 표출하게 된다.
도 27은 Contour map을 제어하는 메뉴 설명을 위한 구성도이다.
드롭 메뉴에는 현재 보고자 하는 기상 요소 및 대기질 정보를 선택할 수 있다(도 27).
또한, contour map은 모든 지형 스킨에서 적용할 수 있어 사용자가 원하는 그림에 따라 스킨을 활용할 수 있도록 한다.
도 24에서 ④는 시간에 따른 애니메이션을 제어하는 메뉴로써 좌측 실행 버튼을 선택하면 시간이 지나면서 현재 나타나고 있는 기상 요소 및 대기질 정보가 그 시간에 맞도록 변화하게 된다.
우측 정지 버튼을 선택하면 그 시간에 멈추게 되며 아래의 speed 바를 통해 애니메이션의 속도를 조절할 수 있다.
도 24에서 ⑤는 볼륨 렌더링을 제어하는 메뉴로써 버튼을 선택할시 구름 및 미세먼지 등 원하는 요소의 볼륨 렌더링을 표출하고 지울 수 있다(도 28).
도 28은 볼륨 렌더링을 제어하는 메뉴 설명을 위한 구성도이다.
도 24에서 ⑥은 지형의 스킨을 변경하는 메뉴로 첫 번째 버튼은 높
이에 따른 색을 입힌 기본 스킨, 두 번째 버튼은 육지는 흰색, 바다는 검은색으로 표현하는 마스크 스킨, 세 번째 버튼은 육지와 바다의 경계를 흰색으로 표시하는 윤곽선 스킨으로 전환할 수 있다(도 29).
도 29는 지형의 스킨을 변경하는 메뉴 설명을 위한 구성도이다.
그리고 도 24에서 ⑦의 좌측 버튼은 사례를 고를 수 있는 홈 화면으로 돌아가는 임무를 수행하며 우측 버튼은 프로그램을 종료하는 임무를 수행한다.
도 24에서 ⑧은 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴이다.
도 30은 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴 설명을 위한 구성도이다.
시간은 애니메이션을 실행시킬 경우 변화하게 된다. 색깔 범례의 경우 풍속, 기온, 강수량 등 여러 요소에 따라 다른 범례를 사용하고 있으며 좌측과 우측의 최소, 최대값 입력을 통해 색깔 범례의 범위를 지정할 수 있게 하여 사용자가 원하는 구간을 강조해서 볼 수 있도록 한다.(도 30)
이상에서 설명한 본 발명에 따른 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법은 3차원 예측 및 관측 데이터를 다양한 시점에서 관찰, 분석하기 위해 단순히 2차원 표출을 겹치는 방식이 아닌 상용 엔진인 언리얼 엔진 4와 볼륨 렌더링 기법을 이용하여 3차원 가시화를 효율적으로 수행할 수 있도록 한 것이다.
이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.
그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10. DEM 자료 추출 및 3차원 지형 생성부
20. 지형 스킨 및 윤곽선 표출부
30. 기상 요소 표출부
40. 대기환경 정보 표출부

Claims (21)

  1. 원하는 영역의 DEM(Digital Elevation Model) 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성부;
    DEM 자료 추출 및 3차원 지형 생성부에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출부;
    지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 기상 요소를 표출하는 기상 요소 표출부;
    지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출부;를 포함하고,
    상기 기상 요소 표출부 및 대기환경 정보 표출부는, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 위하여,
    광 흡수에 의한 불투명도 생성과정과 조명,산란에 의한 색상 생성과정으로 수행하고, 볼륨의 불투명도를 생성하기 위한 지점의 밀도나 두께를,
    Figure 112021138997116-pat00076
    으로 정의하고, 여기서, Transmittance는 투과율이며 t는 볼륨 내에서 이동한 거리, d는 볼륨의 밀도인 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  2. 제 1 항에 있어서, 지형 스킨 및 윤곽선 표출부는,
    언리얼 엔진의 material 기능을 활용하여 지형의 높이에 따른 색을 입히는 기본 스킨, 바다와 육지를 구별하는 마스크 스킨, 바다와 육지의 경계선을 표시하는 윤곽선 스킨을 선택적으로 적용하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  3. 제 1 항에 있어서, 기상 요소 표출부는,
    3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 하여 바람 정보, 구름 정보, 기온 정보, 강수량 정보, 3-second gust 정보를 처리하여 기상 요소를 표출하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  4. 제 1 항에 있어서, 대기환경 정보 표출부는,
    3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 하여 초미세먼지(PM2.5), 미세먼지(PM10), 일산화탄소(CO), 일산화질소(NO), 아황산가스(SO2) 정보를 처리하여 대기환경 정보를 표출하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  5. 제 1 항에 있어서, 기상 요소 표출부는,
    수치 모델의 결과인 바람 벡터의 u, v 성분을 풍향, 풍속으로 변환하여 바람 벡터장, 스트림벡터, 스트림라인 표출 및 등치선 처리를 하는 바람 정보 처리부와,
    QCLOUD 변수를 이용해서 구름 정보를 볼륨 렌더링하여 3차원 가시화 처리를 하는 구름 정보 처리부와,
    C++ 소스 코드를 활용해 Raw 자료로부터 기온의 Raw 자료를 읽어와 ℃ 단위계로 변환하기 위해 읽어온 자료에서 절대영도값인 273.15를 빼주어 배열에 저장하고 자료를 정규화한 후 색 범례와 대조해서 대응되는 색을 배열에 저장하여 기온 정보를 처리하는 기온 정보 처리부와,
    C++ 코드를 통해 Raw 자료로부터 RAINC와 RAINNC를 읽어와 이를 합하여 배열에 저장하고 생성하고자 하는 시간의 Rain 배열 값에서 이전 시간의 Rain 배열 값을 빼고 이를 색 범례와 대조하여 배열에 저장하여 강수량 정보를 처리하는 강수량 정보 처리부와,
    3-second gust를 등치선으로 표출하는 3-second gust 처리부를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  6. 제 5 항에 있어서, 바람 정보 처리부는,
    C++ 소스 코드를 활용해 Raw 자료로부터 바람의 u, v 성분을 추출하여 읽어와 풍향과 풍속을 계산하여 배열에 저장하고 이를 언리얼 엔진에서 읽어 들여 바람장 각각의 벡터에 반영하도록 하는 바람 벡터장 표출부와,
    바람장을 따라 흐르는 바람 벡터인 스트림 벡터를 구현하는 스트림벡터 표출부와,
    스트림 벡터와 유사하게 바람장을 따라 흐르는 유선을 구현하는 스트림라인 표출부와,
    풍속 자료를 0.0부터 1.0까지 정규화 하여 범례 색깔의 색과 대응시키고 대응된 색 정보를 배열에 저장한 뒤 텍스쳐로 생성하여 지형 스킨과 융합되도록 하는 등치선 처리부를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  7. 제 1 항에 있어서, 기상 요소 표출 및 대기환경 정보 표출을 위하여 입력되는 데이터는 NetCDF, Grib, Grib2, Ascii 파일 포맷을 지원하고,
    입력되는 데이터는 WRF(Weather Research and Forecasting), CMAQ(Community Multiscale Air Quality), AWS(Automatic Weather Station), ASOS(Automated Surface Observing System)의 데이터를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  8. 삭제
  9. 제 1 항에 있어서, 광선이 볼륨의 모든 복셀을 통과함에 따라 광선의 색에 현재 복셀의 역 불투명도를 곱하여 흡수를 계산하고 현재 복셀의 색에 현재 복셀의 불투명도를 곱한 식이,
    Figure 112021138997116-pat00024
    으로 정의되고,
    여기서, 복셀은 3차원 공간상의 pixel을 말하며 Cout은 복셀을 통과한 후의 색, Cin은 복셀을 통과하기 전의 색, Opacity(x)는 x 위치의 불투명도, Color(x)는 x 위치의 색인 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  10. 제 9 항에 있어서, 각 지점에서의 볼륨의 두께를 구한 후 두께 값을 이용하여 볼륨이 차단하는 빛의 양인 불투명도를 추정하기 위하여,
    선형밀도는
    Figure 112020065779819-pat00025
    와 같이 점 x에서 x′까지 광선을 따라 누적되고,
    점 x에서 x′까지 광선 길이에 대한 투과율은
    Figure 112020065779819-pat00026
    으로 정의되는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  11. 제 10 항에 있어서, 볼륨의 밀도를 계산할 때 조명에 의한 그림자의 계산을 하고, 볼륨 내의 x 지점에서 w 방향의 빛에서 해당 지점으로 만드는 산란의 양은
    Figure 112020065779819-pat00027
    으로 정의되고,
    여기서, w는 빛의 방향이고 l은 볼륨 외부에서 빛의 음의 방향을 향한 점으로 -LinearDensity(x, l)는 지점 x에서 볼륨 경계에 도달할 때까지 빛에 의한 선형밀도를 나타내며 이는 빛을 흡수하는 입자의 양을 의미하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  12. 제 11 항에 있어서, 볼륨의 불투명도를 기준으로 흡수된 빛의 비율을 계산하기 위해 OutScattering 항에 Opacity가 곱해지고, 볼륨을 통해 광선을 따라 모든 지점에서 총 산란을 반환하는 것은,
    Figure 112020065779819-pat00028
    으로 정의되는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  13. 제 1 항에 있어서, 대기환경 정보 표출부는,
    시간의 경과에 따른 PM2.5 농도를 볼륨 렌더링으로 표출한 위에서 바라본 화면, 수직 분포를 보기 위해 아래에서 바라본 화면, PM2.5 농도의 등치선 표출을 나타낸 화면을 제공하는 초미세먼지(PM2.5) 표출부와,
    미세먼지를 나타내는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하고, 각각의 고도별 자료를 등치선으로 나타내는 미세먼지(PM10) 표출부와,
    일산화탄소를 나타내는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화탄소(CO) 표출부와,
    일산화질소를 나타내는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화질소(NO) 표출부와,
    아황산가스를 나타내는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 아황산가스(SO2) 표출부를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  14. 제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
    바람 벡터장을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 풍속에 따른 색을 입힌 바람 벡터장을 화면상에 켜고 끄는 기능, 검은색의 단일 바람 벡터장을 표출하고 지우는 역할을 하는 기능, 바람 벡터장의 간격을 설정하고, 바람 벡터장의 크기를 조절하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  15. 제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
    스트림 벡터와 라인을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 풍속에 따른 색의 스트림 벡터를 화면상에 켜고 끄는 기능,검은색으로 통일한 스트림 벡터를 표출하는 기능, 스트림 라인을 화면상에 표출하고 지우는 기능, 스트림 벡터와 스트림 라인은 동시에 표출되도록 하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  16. 제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
    Contour map을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 지형에 contour map이 융합되어 표출하게 하는 기능, 현재 보고자 하는 기상 요소 및 대기질 정보를 선택하는 기능, contour map을 모든 지형 스킨에서 적용할 수 있도록 사용자가 원하는 그림에 따라 스킨을 활용할 수 있도록 하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  17. 제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
    시간에 따른 애니메이션을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 시간이 지나면서 현재 나타나고 있는 기상 요소 및 대기질 정보가 그 시간에 맞도록 변화 및 멈추도록 하는 기능, 애니메이션의 속도를 조절하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  18. 제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
    볼륨 렌더링을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 표출을 원하는 요소의 볼륨 렌더링을 표출하고 지우는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  19. 제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
    지형의 스킨을 변경하는 메뉴를 포함하고, 화면 메뉴를 통하여 높이에 따른 색을 입힌 기본 스킨, 육지는 흰색, 바다는 검은색으로 표현하는 마스크 스킨, 육지와 바다의 경계를 흰색으로 표시하는 윤곽선 스킨으로 전환할 수 있도록 하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  20. 제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
    사례를 고를 수 있는 홈 화면으로 돌아가거나, 프로그램을 종료하는 기능 및, 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴를 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
  21. 원하는 영역의 DEM(Digital Elevation Model) 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성 단계;
    DEM 자료 추출 및 3차원 지형 생성 단계에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출 단계;
    지형 스킨 및 윤곽선 표출 단계에 의한 지형 스킨 및 윤곽선 표출 화면에 기상 요소를 표출하는 기상 요소 표출 단계; 및,
    지형 스킨 및 윤곽선 표출 단계에 의한 지형 스킨 및 윤곽선 표출 화면에 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출 단계;를 포함하고,
    기상 요소 표출 단계 및 대기환경 정보 표출 단계에서, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 위하여,
    광 흡수에 의한 불투명도 생성과정과 조명,산란에 의한 색상 생성과정으로 수행하고, 볼륨의 불투명도를 생성하기 위한 지점의 밀도나 두께를,
    Figure 112021138997116-pat00077
    으로 정의하고,
    여기서, Transmittance는 투과율이며 t는 볼륨 내에서 이동한 거리, d는 볼륨의 밀도인 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 방법.
KR1020200078009A 2020-06-25 2020-06-25 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법 KR102392074B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200078009A KR102392074B1 (ko) 2020-06-25 2020-06-25 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200078009A KR102392074B1 (ko) 2020-06-25 2020-06-25 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220000266A KR20220000266A (ko) 2022-01-03
KR102392074B1 true KR102392074B1 (ko) 2022-04-28

Family

ID=79348549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200078009A KR102392074B1 (ko) 2020-06-25 2020-06-25 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102392074B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115372287B (zh) * 2022-09-12 2024-05-03 中国科学技术大学 基于高分五号卫星数据的二氧化硫排放清单构建方法
CN116384207B (zh) * 2023-05-17 2023-12-05 核工业航测遥感中心 基于风场流动轨迹和流动纹理的属性值融合渲染方法
CN117593471B (zh) * 2024-01-18 2024-05-03 青岛国实科技集团有限公司 一种基于虚幻引擎的海洋三维态势可视化平台

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090098127A (ko) * 2008-03-13 2009-09-17 (주)바이오텔 대기 오염물질 모니터링 시스템 및 그 방법
KR20120101949A (ko) * 2011-03-07 2012-09-17 부경대학교 산학협력단 기상 진단 모델과 확산 모델의 바람장 구현 시스템 및 그 방법
JP6342068B2 (ja) 2014-09-23 2018-06-13 ジーメンス ヘルスケア ゲゼルシャフト ミット ベシュレンクテル ハフツングSiemens Healthcare GmbH 3次元オブジェクトを可視化する方法、可視化装置及びコンピュータプログラム製品
KR101666820B1 (ko) * 2015-02-10 2016-10-17 주식회사 주빅스 환경 재난, 재해 조기감지를 위한 대기질 예측 및 관리 시스템
KR101828682B1 (ko) 2016-06-27 2018-02-12 강릉원주대학교산학협력단 3차원 대기환경 자료 생성 시스템 및 가시화 방법
KR101994200B1 (ko) 2018-01-23 2019-09-30 (주)지오씨엔아이 강우 관측 데이터의 3차원 시각화 모니터링 및 분석 시스템 및 이에 대한 방법

Also Published As

Publication number Publication date
KR20220000266A (ko) 2022-01-03

Similar Documents

Publication Publication Date Title
KR102392074B1 (ko) 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법
CN100501804C (zh) 数字地形图的生成方法和生成设备
CN104778744B (zh) 基于Lidar数据的大规模三维森林可视化场景建立方法
CN111784833A (zh) 基于WebGL的洪水演进态势三维动态可视化展示方法
CN114219902A (zh) 气象数据的体绘制渲染方法、装置和计算机设备
CN109410313A (zh) 一种气象三维信息3d模拟反演方法
Souza et al. Sky view factors estimation using a 3D-GIS extension
Khayyal et al. Creation and spatial analysis of 3D city modeling based on GIS data
Urech et al. A simulation-based design framework to iteratively analyze and shape urban landscapes using point cloud modeling
Li et al. Three-dimensional dynamic simulation system for forest surface fire spreading prediction
CN115690344A (zh) 海绵城市沙盘及天气模拟系统
Zhang et al. A 3d visualization system for hurricane storm-surge flooding
CN112596032A (zh) 气象雷达回波显示方法、装置、设备及存储介质
KR101994200B1 (ko) 강우 관측 데이터의 3차원 시각화 모니터링 및 분석 시스템 및 이에 대한 방법
Yang et al. Sustainable urban space expansion in Central Yunnan (China): regional urban integration
Komadina et al. Automated 3D urban landscapes visualization using open data sources on the example of the city of Zagreb
CN115035225B (zh) 基于osg的战场威胁评估示警方法
CN110232846A (zh) 一种冲锋舟模拟驾驶方法、系统及相关装置
CN113689515B (zh) 地图渲染系统、方法及介质
Vizireanu et al. The potential of airborne LiDAR for detection of new archaeological site in Romania
CN117173369B (zh) 基于WebGL的三维洪水演进模拟方法及系统
Ueng et al. Interpolation and visualization for advected scalar fields
Cotoarba et al. The analysis of morphometric parameters in hydrological modeling using GIS
JP5002929B2 (ja) 立体空間解析装置およびプログラム
Sakas et al. Pseudo‐Satellitefilm Using Fractal Clouds to Enhance Animated Weather Forecasting

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant