Every triangle has exactly one circle through all three vertices: its circumcircle. The gray points are the midpoints of the sides, and the gray lines are the perpendicular bisectors. They always meet in one point, the circumcenter — the center of the circle.
The source code is at github.com/KirillOsenkov/LiveGeometry. It is written in .NET and Avalonia.