Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Geometry Playground

Project Goal

외부 라이브러리에 의존하지 않고
컴퓨터 비전(Computer Vision), 3D Geometry, Camera Calibration, 3D Reconstruction, Photometric Stereo 등을
직접 구현하는 것을 목표로 하는 프로젝트.


최종 목표!!
  • Math &Geometry Library (Vector, Matrix, Quaternion, Rotation, Transform, Plane, Ray ...)
  • Calibration Toolkit
  • OpticalFlow Library
  • 3D Reconstruction Pipeline
ComputerVisionPortfolio/
├─ GeometryPlayground/    <-해당
│  └─ Geometry.Core/
│  └─ ...
│
├─ CameraCalibrationToolkit/
│  ├─ CameraCalibrationToolkit.sln
│  └─ Calibration.Core/
│  └─ ...
│
└─ OpticalFlowLibrary/
│  ├─ OpticalFlowLibrary.sln
│  └─ OpticalFlow.Core/
│  └─ ...
│
└─ 3DReconstructionPipeline/
   ├─ 3DReconstruction.sln
   └─ 3DReconstruction.Core/
   └─ ...


Current Progress

Project Structure

GeometryPlayground
│
├── Geometry.Core
│   ├── Math
│   │   ├── DoubleVector
│   │   ├── DoubleMatrix
│   │   └── Utils
│   │
│   └── Geometry
│       ├── Rotation
│       └── Transform
│
└── Geometry.Demo



GeometryPlayground
├─ Math
│  ├─ Vector              <- 작업 완료
│  ├─ Matrix              <- 작업 완료
│  ├─ SVD                 <- 작업 예정
│  ├─ LeastSquares        <- 작업 예정
│  └─ Utils               <- 작업 중
│
├─ Geometry
│  ├─ Rotation            <- 작업 중
│  ├─ Quaternion          <- 작업 중
│  ├─ Transform           <- 작업 중
│  ├─ Plane               <- 작업 예정
│  ├─ Ray                 <- 작업 예정
│  └─ Line                <- 작업 예정
│
├─ ProjectiveGeometry
│  ├─ HomogeneousCoordinate
│  ├─ Projection
│  ├─ Homography
│  └─ Triangulation
│
├─ Optimization
│  ├─ GaussNewton
│  ├─ LevenbergMarquardt
│  └─ RANSAC
│
└─ Demo

Implemented

Math

  • Vec2d
  • Vec3d
  • Mat2d
  • Mat3d
  • Mat4d

Implemented Features

  • Matrix / Vector Arithmetic
  • Matrix Multiplication
  • Transpose
  • Determinant
  • Cofactor Matrix
  • Adjugate Matrix
  • Inverse
  • Identity
  • IsApprox

Geometry

Rotation

Implemented

  • Rodrigues Formula
  • Skew Symmetric Matrix
  • Rotation Matrix Validation

Verified using

RᵀR = I
det(R) = 1

Transform

Implemented

  • Identity
  • Translate
  • Rotate
  • FromRotationTranslation
  • Inverse

Transformation Matrix

[ R11 R12 R13 tx ]
[ R21 R22 R23 ty ]
[ R31 R32 R33 tz ]
[  0   0   0  1 ]

Inverse Transformation

[ Rᵀ  -Rᵀt ]
[  0     1 ]

Demo

Implemented demo programs for

  • Rodrigues Rotation
  • Rotation Matrix Verification
  • Transformation Matrix
  • Inverse Transformation

Verified using

T × T⁻¹ = I

Next Step

Camera
    ↓
Calibration Toolkit
    ↓
3D Reconstruction Pipeline
    ↓
Photometric Stereo

About

컴퓨터비전에서 사용하는 모든 기하학을 직접 구현

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages