# Plane

평면 상의 점 구하기
S3D는 민감한것 같습니다. 조그마한 오차도 허용하지 않고 형상을 만들지 못하겠다고 튕겨버립니다. 그림에서와 같이 사선 방향으로 Extrude하는 형상을 만들때 단면을 이루는 점들이 하나의 평면상에 있지 않으면 형상을 만들지 못합니다.(’범위를 벗어났다’나 뭐 그런 오류가 발생합니다.) 단면을 이루는 점들을 평면 상의 점들로 변환해줘야 S3D에서 오류 없이 형상을 만들 수 있습니다. 먼저 평면의 방정식은 아래와 같습니다. $$ ax + by + c*z + d = 0 $$ 여기서 $$는 평면의 법선 벡터입니다. 일반적으로 평면의 법선 벡터는 알고 있기 때문에 $d$ 값은 아래 식으로 구할 수 있습니다.(x,y,z에 단면을 이루는 점 하나를 대입) $$ d = -(ax + by + c*

[논문 리뷰] P3Depth: Monocular Depth Estimation with a Piecewise Planarity Prior
Introduction Monocular depth estiation에서 supervised 방식은 대부분 pixel-level loss를 활용하며 이는 실제 3D scene의 regularity를 반영하지 못한다. 3D scene의 geometric한 특성을 활용하기 위한 전형적인 방법으로 plane을 사전 정보로 사용할 수 있으며 "GeoLayout"에서는 이를 explicit하게 활용하였다. 본 논문에서는 planarity priors에 기반한 pixel들 간의 관계를 정의하기 위해 intermediate representation을 활용한다. Method

[Point Review] PlaneRCNN: 3D Plane Detection and Reconstruction from a Single Image
Introduction Single RGB 이미지로부터 3D plane reconstruction을 하는 것은 매우 어려운 문제로 많은 prior가 필요하며 texture가 부족한 부분을 추출하기 위해 global 정보를 활용해야 한다는 challenge가 있다. CNN을 활용한 PlaneNet, PlaneRecover 등이 해당 task를 풀어냈지만 다음과 같은 limitation이 존재한다. > 1. 면적이 작은 표면들을 잡아내지 못한다. > 2. Plane의 maximum 수를 요구한다. > 3. Domain에 일반화되지 못해 inddor에서 학습한 경우 outdoor에서 성능이 좋지 않다. PlaneRCNN은 3개의 components로 구성된 네트워크를 통해 위의 한계점들을 해결한다.

백준 8370번(Plane) 문제풀이
문제 내용은 이렇습니다. 바이트랜드 항공(Byteland Airlines)은 최근 새로운 비행기 모델로 항공기 함대를 확장했습니다. 새로운 인수는 비즈니스 클래스에 n1열의 좌석이 있고 이코노미 클래스에 n2열의 좌석이 있습니다. 비즈니스 클래스에 서는 각 열에 k1개의 좌석이 있고 이코노미 클래스에서는 각 열에 k2개의 좌석이 있습니다. 비행기에서 사용 가능한 좌석에 대한 정보를 읽고, 해당 비행기에서 사용할 수 있는 모든 좌석의 합계를 계산하고, 결과를 씁니다. 입력은 순서대로 n1, k1, n2, k2가 주어집니다. 즉, 비즈니스 클래스에는 n1열이 존재하고 각 열마다 k1개의 좌석이 존재합니다. 마찬가지로 이코노미 클래스에는 n2열이 존재하고 각 열마다 k2개의 좌석이