% knownAngleConstraint - Affine transform constraints given a known angle.
%
% Function calculates centre and radius of the constraint
% circle in alpha-beta space generated by having a known
% angle between two lines in an affine image
%
% Usage: [c, r] = knownAngleConstraint(la, lb, theta)
%
% Where: la and lb are the two lines defined using homogeneous coords.
% theta is the known angle between the lines.
% c is the 2D coordinate of the centre of the constraint circle.
% r is the radius of the centre of the constraint circle.
% Peter Kovesi April 2000
% Equations from Liebowitz and Zisserman
function [c, r] = knownAngleConstraint(la, lb, theta)
a = -la(2)/la(1); % direction of line la
b = -lb(2)/lb(1); % direction of line lb
c = [(a+b)/2, (a-b)/2*cot(theta)];
r = abs( (a-b)/(2*sin(theta)) );