Graphics[{
Red,PointSize[.02],Point[{{0,0},{0,1},{1,1}}],Blue,Line[{{0,0},{0,1},{1,1}}]
},PlotRange->{{-5,5},{-5,5}},Axes->True]

Graphics[{
Red,PointSize[.02],Point[{{0,0},{0,1},{1,1}}],Blue,Line[{{0,0},{0,1},{1,1},{0,0}}]
},PlotRange->{{-5,5},{-5,5}},Axes->True]

Graphics[{
Red,PointSize[.02],Point[{{0,0},{0,1},{1,1}}],
Blue,Polygon[{{0,0},{0,1},{1,1}}]
},PlotRange->{{-5,5},{-5,5}},Axes->True]

Graphics[{
Red,PointSize[.02],Point[{{0,0},{0,1},{1,1}}],
Blue,Opacity[0.2],Polygon[{{0,0},{0,1},{1,1}}]
},PlotRange->{{-5,5},{-5,5}},Axes->True]

Graphics[{
Red,PointSize[.02],Point[{{0,0},{0,1},{1,1}}],
Blue,Opacity[0.05],EdgeForm[Thick],Polygon[{{0,0},{0,1},{1,1}}]
},PlotRange->{{-3,3},{-3,3}},Axes->True]

Module[{A,B,C},
Manipulate[
Graphics[{
Red,PointSize[.02],Point[{A,B,C}],
Blue,Opacity[0.05],EdgeForm[Thick],Polygon[{A,B,C}]
},PlotRange->{{-3,3},{-3,3}},Axes->True,ImageSize->250],
{A,{-3,-3},{3,3},Locator},{B,{-3,-3},{3,3},Locator},{C,{-3,-3},{3,3},Locator}]
]

Module[{A,B,C},
Manipulate[
Graphics[{
Red,PointSize[.02],Point[{A,B,C}],
Blue,Opacity[0.05],EdgeForm[Thick],Polygon[{A,B,C}]
},PlotRange->{{-3,3},{-3,3}},Axes->True,ImageSize->250],
{{A,{-2,-1}},{-3,-3},{3,3},Locator},{{B,{2,2}},{-3,-3},{3,3},Locator},{{C,{2,-2}},{-3,-3},{3,3},Locator}]
]

Module[{A,B,C},
Manipulate[
Graphics[{
Red,PointSize[.02],Point[{A,B,C}],
Blue,Opacity[0.05],EdgeForm[Thick],Polygon[{A,B,C}]
},PlotRange->{{-3,3},{-3,3}},Axes->True,ImageSize->250],
{{A,{-2,-1}},{-3,-3},{3,3},Locator},{{B,{2,2}},{-3,-3},{3,3},Locator},{{C,{2,-2}},{-3,-3},{3,3},Locator}]
]

retta[{x1_,y1_},{x2_,y2_}]:=Module[{m,q},
m=(y2-y1)/(x2-x1);
q=((-x2 y1+x1 y2)/(x1-x2));
y==m*x+q]

retta[{1,2},{-2,4}]

retta[{1,2},{1,4}]

retta[{x1_,y1_},{x2_,y2_}]:=Module[{m,q},
If[x1≠ x2,
m=(y2-y1)/(x2-x1);q=((-x2 y1+x1 y2)/(x1-x2));y==m*x+q,
x==x1]
]

retta[{1,2},{1,4}]

retta[{1,2},{-2,4}]

retta[{1,2},{1,2}]

retta[{x1_,y1_},{x2_,y2_}]:=Module[{m,q},
If[x1≠ x2,
m=(y2-y1)/(x2-x1);q=((-x2 y1+x1 y2)/(x1-x2));y==m*x+q,
x==x1]
]

Solve[(y-y1)/(y2-y1)==(x-x1)/(x2-x1),y]

Solve[(y-y1)/(y2-y1)==(x-x1)/(x2-x1),y][[1,1]]

Solve[(y-y1)/(y2-y1)==(x-x1)/(x2-x1),y][[1,1]]/.Rule->Equal

Collect[Solve[(y-y1)/(y2-y1)==(x-x1)/(x2-x1),y][[1,1]]/.Rule->Equal,x]

retta[{1,2},{-2,4}]

retta[{1,2},{-2,4}][[2]]

Coefficient[retta[{1,2},{-2,4}][[2]],x]

perp[{x1_,y1_},{x2_,y2_},{x3_,y3_}]:=Module[{req,m},
req=retta[{x1,y1},{x2,y2}];
If[y1≠y2,
m=-1/Coefficient[req[[2]],x];y==Expand[y3+m*(x-x3)],
x==x3]]

perp[{1,2},{-2,4},{1,3}]

perp[{1,2},{-2,2},{1,3}]

perp[{1,2},{1,4},{1,3}]

perp[{x1_,y1_},{x2_,y2_},{x3_,y3_}]:=Module[{req,m},
req=retta[{x1,y1},{x2,y2}];
If[x1≠x2,
If[y1≠y2,
m=-1/Coefficient[req[[2]],x];y==Expand[y3+m*(x-x3)],
x==x3],
y==y3]]

perp[{1,2},{1,4},{1,3}]

perp[{1,2},{-2,2},{1,3}]

perp[{1,2},{-2,4},{1,3}]

piede[{x1_,y1_},{x2_,y2_},{x3_,y3_}]:=Module[{req,peq,m},
req=retta[{x1,y1},{x2,y2}];
peq=perp[{x1,y1},{x2,y2},{x3,y3}];
Solve[{req,peq}]
]

piede[{1,2},{-2,4},{1,3}]

piede[{x1_,y1_},{x2_,y2_},{x3_,y3_}]:=Module[{req,peq,m},
req=retta[{x1,y1},{x2,y2}];
peq=perp[{x1,y1},{x2,y2},{x3,y3}];
{x,y}/.Solve[{req,peq}][[1]]
]

piede[{1,2},{-2,4},{1,3}]

Module[{A,B,C},
Manipulate[
Graphics[{Line[{C,piede[A,B,C]}],Line[{B,piede[A,C,B]}],Line[{A,piede[B,C,A]}],
Red,PointSize[.02],Point[{A,B,C}],
Blue,Opacity[0.05],EdgeForm[Thick],Polygon[{A,B,C}]},PlotRange->{{-3,3},{-3,3}},ImageSize->250],
{{A,{-2,-1}},{-3,-3},{3,3},Locator},{{B,{2,2}},{-3,-3},{3,3},Locator},{{C,{2,-2}},{-3,-3},{3,3},Locator}]
]

medio[{x1_,y1_},{x2_,y2_}]:={(x1+x2)/2,(y1+y2)/2}

Module[{A,B,C},
Manipulate[
Graphics[{Line[{C,medio[A,B]}],Line[{B,medio[A,C]}],Line[{A,medio[B,C]}],
Red,PointSize[.02],Point[{A,B,C}],
Blue,Opacity[0.05],EdgeForm[Thick],Polygon[{A,B,C}]},PlotRange->{{-3,3},{-3,3}},ImageSize->250],
{{A,{-2,-1}},{-3,-3},{3,3},Locator},{{B,{2,2}},{-3,-3},{3,3},Locator},{{C,{2,-2}},{-3,-3},{3,3},Locator}]
]

asseq[{x1_,y1_},{x2_,y2_}]:=Module[{M},
M={(x1+x2)/2,(y1+y2)/2};
perp[{x1,y1},{x2,y2},M]
]

asseq[{1,2},{3,4}]

medio[{x1_,y1_},{x2_,y2_}]:={(x1+x2)/2,(y1+y2)/2}

circocentro[A_,B_,C_]:={x,y}/.Solve[{asseq[A,B],asseq[B,C]}][[1]]

asse[A_,B_,C_]:=Module[{circ=circocentro[A,B,C]},
{medio[A,B],circ}]

dist[{x1_,y1_},{x2_,y2_}]:=Sqrt[(x2-x1)^2+(y2-y1)^2]

Module[{A,B,C,circ},
Manipulate[circ=circocentro[A,B,C];Graphics[{Circle[circ,dist[circ,A]],Line[asse[A,B,C]],Line[asse[A,C,B]],Line[asse[B,C,A]],
Red,PointSize[.02],Point[{A,B,C}],
Blue,Opacity[0.05],EdgeForm[Thick],Polygon[{A,B,C}]},PlotRange->{{-3,3},{-3,3}},ImageSize->250],
{{A,{1,2}},{-3,-3},{3,3},Locator},{{B,{3,1}},{-3,-3},{3,3},Locator},{{C,{-1,0}},{-3,-3},{3,3},Locator}]
]