Developments

Developments/AWS

AWS Cognito with OAuth2

Cognito 서비스에서 User Pool과 Identity Pool 에서 개별적으로 OIDC(Open Identity Connect) 기능과 OAuth2 를 제공하고 있다. 하지만 각자 사용하는 용도와 목적의 차이가 있기에 이를 정리한다. 1. Conito User Pool with OAuth2.0 OAuth2 는 인가를 위한 프레임워크로 사용자의 자격인증을 공유하지 않으면서 권한을 부여할 수 있는 방식이다. 이를 인증하는 방법은 여러가지가 있으나 기본적으로 Code 를 기반으로 인증을 수행하는 방법이 범용적으로 많이 사용된다. 여러 인증 방식은 아래의 링크를 확인하자 Understanding Amazon Cognito user pool OAuth 2.0 grants | Front-End Web & M..

Developments/AWS

AWS Service 요약

Compute Services: Amazon Elastic Compute Cloud (EC2): EC2 provides resizable compute capacity in the cloud. It allows businesses to launch virtual machines (instances) and run various applications, including web and mobile apps, databases, and enterprise applications. AWS Lambda: Lambda is a serverless compute service that runs code in response to events and automatically manages compute resourc..

Developments/Hololens

[Hololens2] Unity 설치 및 MRTK 소개 Tutorial

MRTK는 VR(가상 현실) 및 AR(증강 현실)의 혼합 현실 환경을 빌드하기 위한 플랫폼 간 도구 키트이다. MRTK를 활용하여 Hololens2 의 개발을 진행할 수 있는 방법은 현재 Unity에서만 기능이 제공되고 있다. 본 글은 Microsoft 사의 첫번째 Tutorial 을 기반으로 작성하였다. Mixed Reality Toolkit 소개 - 프로젝트 설정 및 손 상호 작용 사용 - Training | Microsoft Learn 1. Unity Editor 설치 Unity Hub 에서 Install Editor 를 눌러 원하는 버전을 설치하도록 한다. Add Module 에서 Universal Window Platform Build Support 를 추가하도록 한다. 설치할 때에는 Holol..

Developments/VTK

[VTK] PolyData Cutting and Projection

1. 개요 World 에 있는 PolyData 형상과 면이 있을 때 면과 형상의 수직(normal) 벡터의 시점으로 cutting을 수행하고 cutting contour 를 해당 면으로 투영하는 기능을 수행한다. Polydata cutting 기능은 이전에 설명하였고 추가적으로 projection에 관한 기능과 코드의 흐름은 주석을 보면 알 수 있다. 2.코드 public void TestCutterPolydataProjection() { // Plane 을 실시간으로 변경하여 테스트 할 수 있는 Widget 생성 var planeWidget = vtkPlaneWidget.New(); planeWidget.SetNormal(0, 0, -1); planeWidget.SetOrigin(-1, -1, 0); ..

Developments/VTK

[VTK] Camera Clipping 보장하기

Camera 제어에서 Clipping 영역을 넘어가는 Actor가 있으면 짤려서 보이지를 않는다. 이를 해결하기 위한 방법 renderer.StartEvt += (sender, arg) =>{ renderer.ResetCameraClippingRange(); } ResetCameraClippingRange : Reset camera에서 clipping 요소만 reset을 한다.

Developments/VTK

[VTK] CornerAnnotation 알아보기

1. 개요 VTK 스크린 화면에 정보를 출력할 때 쉽게 사용할 수 있는 vktCornerAnnotation 을 알아보려고 한다. 구현은 매우 쉬우므로 TextPosition의 정의와 정의되어 있는 Tag를 활용하는 방법을 설명한다. 2. TextPosition Renderer 의 화면을 총 8개의 위치로 정의하며 각 위치별 index와 명칭은 아래와 같다. public void TestTextPosition() { annotation.SetText((int) VtkTextPosition.LowerLeft, $"{(int) VtkTextPosition.LowerLeft}-{VtkTextPosition.LowerLeft}"); annotation.SetText((int) VtkTextPosition.Lowe..

Developments/VTK

[VTK] Camera 알아보기 2

1. 개요 카메라를 정의하는데 필요한 속성 정보는 이전에 설명한 내용과 같고 이를 설명하는데 있어 개념적으로 헷갈릴 수 있는 부분을 보충하기 위한 내용을 작성한다. [VTK] Camera 제어하기 — 로봇을 품은 개발자 이야기 (tistory.com) [VTK] Camera 제어하기 Camera 속성알기 Position : camera 가 3차원공간에 있는 위치이다. FocalPoint : camera 3차원 공간을 바라보고 있는 초점의 위치이다. View Angle : Pinhole 카메라 모델을 적용하였을 때에 camera가 보는 시점의 화 richardworld.tistory.com 카메라의 속성에서 가장 중요한 것은 Position 과 Focal point이다. 이는 Camera가 바라보는 방향 ..

Developments/VTK

[VTK] PolyData 절단 외곽선, 단면 그리기

1. 개요 PolyData를 단면으로 절단하면 새로운 절단된 면이 생긴다. 절단된 면은 Points 로 구성되며 같은 데이터를 이용하여 단면을 이루는 외곽선을 그릴 수 있다. 2. 구현 vtkCutter : 입력된 PolyData 를 입력된 vtkImplicitFunction을 이용하여 절단 기능을 수행한다. 절단된 된 면의 포인트와 라인을 갖는 Polydata를 생성한다. vtkDelaunay2D : 입력된 points 데이터를 이용하여 삼각형 polygons을 생성한다. vtkStripper : 삼각형 polydata 를 stripper 데이터로 생성한다. Stripper는 중복되는 데이터를 정리하여 메모리 소모를 줄일 수 있다. vtkCutter의 출력데이터를 입력하면 한개의 line 으로 만들고,..

Developments/VTK

[VTK] Coordinate 알아보기

1. 개요 VTK 에는 여러개의 기준 좌표계가 존재한다. 그리고 좌표계 간의 위치 값을 변환해주는 클래스가 vtkCoordinate 이다. vtkCoordinate 를 이용하여 변환을 할 수 있는 좌표계는 아래와 같다. Display 윈도우 화면의 X, Y 좌표값 좌측하단이 0,0 이고 우측 상단이 window 사이즈 값이다 Nornmalized Display Display 를 정규화한 값이다 0~1 Viewport Renderer로 그린 viewport 영역에서의 X,Y 좌표 값 좌측하단이 0,0 이고 우측 상단이 viewport 사이즈 값이다 Normalized Viewport Viewport 를 정규화한 값이다 0~1 View Pose 좌표계에서의 X,Y,Z 값 -1~1 Pose 카메라의 좌표계 W..

Developments/VTK

[VTK] vtkProp 위치, 회전 제어하기

VTK 에서 vtkProp 은 화면에 그리고자 하는 사물의 위치와 회전 정보를 갖고 있다. 보통 Prop의 DataSet은 건드리지 않고 공간상의 위치와 회전을 변경하는 방식을 많이 사용하게 된다. 이때 고려해야 할 것들을 정리한다. 1. 1. vtkProp 기본 제어 Prop 의 원점과 위치 제어는 API 명령을 통해 쉽게 할 수 있다. Origin 과 Position 이 다른 것은 Origin은 나중에 Transform을 수행할 때의 Pivot 점으로 사용된다. prop.SetOrigin(x,y,z); prop.SetPosition(x,y,z); 회전은 Degree 값을 회전을 하는데 PostMultiply (상대축회전) 로는 RotZ->RotX->RotY 순으로 PreMultiply (절대축회전) ..

RichardBang
'Developments' 카테고리의 글 목록 (2 Page)