<!-- This example illustrates the circle_by_three_points, center_of_circle, point_on_circle 
and other_intersection_point_of_circle_and_line constraints.

	Analogous WIRIS code:
	P = point(-1,-1)
	Q = point(1,-1)
	R = point(-1,1)
	c = circumference(P,Q,R)
	C = center(c)
	point_on_circle(A,c)     not implemented in WIRIS
	d = circumference(A,C)
	l = line(A,C)
	D = other_intersection_point_of_circle_and_line(A,d,l)     not implemented in WIRIS
-->


<construction>
	<elements>
		<point id="P">
			<homogeneous_coordinates>
				<double>-1</double>
				<double>-1</double>
				<double>1</double>
			</homogeneous_coordinates>
		</point>
		<point id="Q">
			<homogeneous_coordinates>
				<double>1</double>
				<double>-1</double>
				<double>1</double>
			</homogeneous_coordinates>
		</point>
		<point id="R">
			<homogeneous_coordinates>
				<double>-1</double>
				<double>1</double>
				<double>1</double>
			</homogeneous_coordinates>
		</point>
		<point id="C">
			<homogeneous_coordinates>
				<double>0</double>
				<double>0</double>
				<double>1</double>
			</homogeneous_coordinates>
		</point>
		<point id="A">
			<homogeneous_coordinates>
				<double>1</double>
				<double>1</double>
				<double>1</double>
			</homogeneous_coordinates>
		</point>
		<point id="D">
			<homogeneous_coordinates>
				<double>2</double>
				<double>2</double>
				<double>1</double>
			</homogeneous_coordinates>
		</point>
		<circle id="c">
			<matrix>
				<double>1</double>
				<double>0</double>
				<double>0</double>
				<double>0</double>
				<double>1</double>
				<double>0</double>
				<double>0</double>
				<double>0</double>
				<double>-2</double>
			</matrix>
		</circle>
		<circle id="d">
			<matrix>
				<double>1</double>
				<double>0</double>
				<double>-1</double>
				<double>0</double>
				<double>1</double>
				<double>-1</double>
				<double>-1</double>
				<double>-1</double>
				<double>0</double>
			</matrix>
		</circle>
		<line id="l">
			<homogeneous_coordinates>
				<double>1</double>
				<double>-1</double>
				<double>0</double>
			</homogeneous_coordinates>
		</line>
	</elements>
	<constraints>
		<circle_by_three_points>
			<circle out="true">c</circle>
			<point>P</point>
			<point>Q</point>
			<point>R</point>
		</circle_by_three_points>
		<center_of_circle>
			<point out="true">C</point>
			<circle>c</circle>
		</center_of_circle>
		<point_on_circle>
			<point out="true">A</point>
			<circle>c</circle>
		</point_on_circle>
		<circle_by_center_and_point>
			<circle out="true">d</circle>
			<point>A</point>
			<point>C</point>
		</circle_by_center_and_point>
		<line_through_two_points>
			<line out="true">l</line>
			<point>A</point>
			<point>C</point>
		</line_through_two_points>
		<other_intersection_point_of_circle_and_line>
			<point out="true">D</point>
			<point>C</point>
			<circle>d</circle>
			<line>l</line>
		</other_intersection_point_of_circle_and_line>
	</constraints>
</construction>

