Thanks for the reply.
Honestly, if I had a paper hopefully I’d be in a much better position. Though I did stumble across this one at the end of my day. Will need to re-read it though.
Below is what the initial intended purpose of using the harris value was for. Example code for doing a project from a 3D point in world coordinates into 2D with Harris distortion. Which works beautifully.
vec2d project(double focalLength,
double /*aspectRatio*/,
vec2d center,
double harrisDist,
glm::tmat4x3<double> extrinsicsMat,
vec3d p3d /* in a right handed coordinate system! */) {
// transform point from world to camera coordinates
auto camCoords = extrinsicsMat*vec4d(p3d,1);
vec2d p2d;
{
// normalize
double rInv = 1.0 / camCoords.z;
p2d = vec2<double>(rInv * camCoords.x, rInv * camCoords.y);
}
{
// apply harris distortion
double r2 = p2d.x * p2d.x + p2d.y * p2d.y; // distSq from center
double s = 1.0 / sqrt(1.0 - harrisDist * r2);
p2d = s * p2d;
}
{
// convert to image coordinates
p2d = center + focalLength * p2d;
}
return p2d;
}