Skip to content

Instantly share code, notes, and snippets.

View ASHISRAVINDRAN's full-sized avatar

Ashis Ravindran ASHISRAVINDRAN

View GitHub Profile
@ASHISRAVINDRAN
ASHISRAVINDRAN / GaussNewton.cpp
Created October 29, 2022 19:25
Gauss-Newton Least Squares Circle Fit (2D) using Eigen (C++)
GNCircleSolver::ResultInfo GNCircleSolver::GN_Fit(Eigen::VectorXd& initEstimate)
{
int i = 0;
this->status = GNCircleSolver::ResultInfo::FAILURE;
Eigen::VectorXd _old = initEstimate; // x,y,r
Eigen::VectorXd _new = initEstimate; // x,y,r
while (i < this->maxItr)
{
_old = _new;
Eigen::MatrixXd jacobian = CalculateJacobian(_old, this->points);