본문 바로가기

기타 개발 관련31

좌표계 (wgs84, utm-k, utm) UTM 좌표계 (Universal Transverse Mercator Coordinate System) 전 지구상의 점들의 위치를 통일된 체계로 나타내기 위한 격자 좌표체계입니다. 1947년에 개발되었습니다. 지리 좌표계가 극지방으로 갈수록 직사각형이 크게 감소하는 반면 UTM 좌표계는 직사각형 모양을 유지하므로 거리, 면적, 방향등을 나타내는데 매우 편리하다는 장점이 있습니다. WGS84, GPS용 좌표계로 많이 사용됩니다. 2) UTM-K 좌표계 UTM과 같은 방법으로 투영계산을 거치지만, 적도에 기준원점을 두어 투영을 거치다 보니 한국은 많은 왜곡이 발생하게 됩니다. 이에 대한 대책으로 만들어진 것이 UTM-K좌표계이며, UTM좌표계에서 원점 및 가산수치만 다르게 적용된 경우입니다. 기준원점을 경도.. 2018. 12. 15.
안드로이드 - 앨범 / 카메라로 사진 이미지 가져오기 (+ Crop 기능) 안드로이드에서 프로필 사진을 바꾸거나, 맛집등록어플에서 음식사진을 올릴 때 보통 카메라나 앨범에서 이미지를 가져와서 올리는데요, 이를 코드상에서 어떻게 구현할수 있을지 한번 정리해봤습니다.! 기본작업 1. 상수를 선언한다. 기본적으로 4가지 상수를 선언합니다. 2. 갤러리, 및 사진촬영 버튼을 눌렀을 때 해당 동작을 수행하는 버튼 이벤트를 선언합니다. getImageFromAlbum getImageFromCamera 3 getImageFromAlbum : 앨범에서 사진 이미지 가져오기 생성자 변수로 Intent.ACTION_PICK을 넣어 Intent 객체를 생성합니다. MediaStore.Image.Media.CONTENT_TYPE 를 타입으로 설정합니다. 이후 인텐트를 수행합니다. 4. getImag.. 2018. 12. 14.
안드로이드 - compilesdkversion minsdkversion targetsdkversion buildtoolsversion 보통 이런 문제가 발생하게되면 compilesdkversion, minsdkversion 등을 확인해보게 됩니다. 그렇지만 잘 알고 쓴적은 없어서 이번기회에 한번 정리해보겠습니다. compileSdkVersion compileSdkVersion으로 gradle에 어떤 안드로이드 SDK 버전으로 앱을 컴파일 할지 알려줍니다. 컴파일 시에만 적용되므로 runtime동안에는 영향을 미치지 않습니다. 항상 최신 버전의 SDK로 지정하는 것이 좋습니다. 해당 버전에 포함된 API를 사용할 수 있다는 것을 의미합니다.import문으로참조되는 클래스나 메소드를 찾을 때 어떤 버전의 SDK에서 찾을 것인가를 결정해줍니다. 예를 들어 아래와 같은 경우를 보겠습니다. 맨 처음 첨부한 스크린샷에서 빨간줄은 현재 compil.. 2018. 12. 12.
안드로이드 - 자신의 앱의 아이콘 변경하기 안드로이드의 앱의 아이콘 변경 안드로이드에서 제공하는 기본 앱 아이콘은 안드로이드 얼굴 모양이지만, 사용자 특성에 맞게 앱 아이콘을 변경 할 수 있습니다. 아이콘을 /res 디렉터리에 mipmap 디렉터리에 넣으면 됩니다. 그런데 mipmap 디렉터리는 해상도에 따라 여러개의 디렉터리로 구성되어 있으므로, 각각에 디렉터리에 있는 ic_launcher.png 크기에 맞게 아이콘을 변경에서 넣어야 다양한 안드로이드 기기에서 제대로 보이게 됩니다. 해상도별 런처 아이콘 크기 정리 해상도 크기 mdpi 48px * 48px hdpi 72px * 72px xhdpi 96px * 96px xxhdpi 144px * 144px xxxhdpi 192px * 192px 런쳐 아이콘 쉽게 만들기 앱을 설치했을 때 바탕화면.. 2018. 11. 20.
if kakao - 기조연설 카카오는 변화의 시기에 성장한 회사이다. 카카오가 집중하고 있는 기술 1. 안정성2. 사용자경험 3. Data4. next innovation집안에서 차안에서 어디에서든 인공지능 서비스를 제공하기 위해 노력하고 있다. 카카오와 AI - Kakao I 플랫폼의 성장 인공지능의 성공에는 알고리즘과 양질의 데이터가 필요하다. open builder AI를 인공지능 서비스화 하는 기능Open Builder를 사용하면 여러 분야에 쉽게 AI를 접목시킬 수 있다쳇봇과 카카오 미니 두가지 플렛폼을 동시에 사용 할 수 있다.현재 약 40여개의 서비스가 open builder로 지원되고 있다. (6개월만에)카카오 i 플랫폼의 성장 / 확장 카카오 i는 집과 자동차로 확장할 계획을 가지고 있다.자동차카카오 네비와 카카오 .. 2018. 10. 1.
Functional Reactive Programming - 개념 정리 Observable이란? Observable 이란 데이터의 흐름을 관리하기 위한 패턴입니다. Observable은 데이터의 흐름에 맞게 알림을 보내 구독자가 데이터 처리를 할 수 있도록 만드는 역활을 합니다. 보통 Observable은 3가지의 상태를 알려줍니다. 데이터의 발행 (onNext)모든 데이터의 발행의 완료 (onComplete)에러 발생 (onError) Subscriber란? 데이터의 흐름을 구독한다는 의미입니다. 위의 onNext, onError, onComplete에 대한 리스너를 설정하고 3개의 이벤트에 대한 로직을 만들고 수행합니다. 예제) 아이템을 소비하는 코드 *ex ) Hello World Observable로 구현하기 Observable myObservable=Observab.. 2018. 8. 1.
그래픽스 - 동차 좌표계와 투영행렬 동차 좌표계란? (x, y) 를 (x, y, 1)로 표현하는 것을 말합니다. 일반적으로 말해 임의의 0이 아닌 상수 w에 대해 (x,y)를 (wx, wy, w)로 표현하는 것입니다. 동차 좌표계를 사용하면 affine변환이나 perspective변환을 하나의 단일 행렬로 표현 할 수 있습니다. projective geometry에서 사용하는 좌표계가 동차 좌표이며 다른말로 projective좌표 라고 합니다. 투영행렬과 동차좌표의 관계 투영행렬에서, 카메라 공간상에 존재하는 점과 카메라 위치 사이의 깊이값(z)를 최종 결과점의 x,y,z에 각각 곱해지고, w에 저장됩니다. 바로 이 과정이 동차좌표계를 위한 과정입니다. 좌표공간에서의 3d좌표를 얻어내려면 w로 나눠내면 됩니다. 여기서 월드공간 카메라 공간.. 2018. 7. 16.
그래픽스 - Projection Matrix란? 투영행렬과 뷰행렬의 관계 뷰 행렬(View Matrix)란 랜더링 파이프라인 단계의 3번째 단계인 뷰 스페이스를 구성하는데 사용되는 설정을 위한 행렬이라고 한다면 투영 행렬은 파이프라인 단계의 투영 과정시에 이루어지는 작업을 위한 정보를 준비하는 것입니다. 투영 과정은 사실상 뷰 스페이스와는 별개의 과정이지만, 눈에 보이는 화면의 시점을 결정하는 성질을 가지므로, 카메라 객체과 뷰행렬과 함께 투영행렬을 함께 관리하도록 구성하기도 합니다. X,Y,Z로 3개의 정보로 이루어진 3차원 공간을 X,Y 좌표만으로 표현한다고 생각하면 조금 쉽게 이해할 수 있습니다. 이것은 2차원 면 위에 입체 도형을 표현하는 과정입니다. 투영이란 무엇일까? 투영(Projection) 이라는 것은 n차원의 공간을 n-1차원으로 표현.. 2018. 7. 15.
3D 그래픽스 - 회전행렬 / 오일러각 / 축 각 표현 3차원에서의 물체의 위치 물체의 오리엔테이션은 매우 중요합니다. 만약 부메랑과 같은 어떤 물체를 던졌다면 단순히 물체의 위치만 이동하는 것이 아니라, 물체가 돌면서 날아가기 때문에 물체가 바라보는 방향(오리엔테이션)도 변하는 것이 자연스럽습니다. 카메라나 물체의 이동경로는 이동변환에 의해 쉽게 구현할수 있습니다. 그러나 물체 오리엔테이션의 변화는 오리엔테이션의 변화가 회전변환에 이루어진다는 점때문에 회전변화에 있어서 적절한 보간이 이루어져야 합니다. 이와 같은 회전을 표현하기 위해서는 3가지의 방식이 있습니다. (1) 회전 행렬 표현 기하 변환중 회전을 표현하기 위한 방법중 하나가 행렬입니다. 단순한 정점좌표에 행렬을 곱하면 변환작업이 완료된다는점과, 연속된 변환을 하나의 복합행렬로 나타낼 수 있다는 점.. 2018. 6. 23.
동차좌표계란? 투영변환이란 무엇인가? 실세계의 한 점 Q = (x, y, z) 는 3차원의 점입니다. 이점이 투영 스크린상의 한점 (x, y) 의 2차원으로 변환되는 것이 투영 변환이라고 합니다. 투영 변환을 위해서는 동차 좌표계를 사용하는 것이 편리합니다. 동차 좌표계란 무엇인가? 3D에서는 기본적으로 3차원 좌표계이지만 어떤 목적으로 4차원으로 확장이 가능합니다. 어떤 목적을 위해 한 차원의 좌표(n) 을 추가한 좌표 (n+1)로 표현을 하는 것을 동차 좌표계라고 합니다. ex) 4차원 좌표 =(x,y,z,w) => x/w , y/w , z/w 투영행렬에서 동차좌표를 이용하는 이유 시점으로 보이는 점들의 위치가 중요한 것이 아니라 시점으로 부터의 방향이 중요하기 때문에 동차좌표를 사용합니다. 투영 행렬을 위 그림으.. 2018. 5. 23.