Problem
Problem
A convex quadrilateral ABCD is given. , , and are the orthocenters of triangles BCD, CDA, DAB and ABC respectively.
Prove that in the quadrilaterals ABCD and, the corresponding diagonals share the intersection points in the same ratio.
A
1
B
1
C
1
D
1
Prove that in the quadrilaterals ABCD and
A
1
B
1
C
1
D
1
Geometric Scene Construction
Geometric Scene Construction
We can first generate a fixed quadrilateral ABCD by giving the coordinate of each vertex explicitly. This is to prevent configurations that associated with orthocenters really far away from ABCD.
In[]:=
abcd={a{0,0},b{3.7,0},c{2.1`,2.35`},d{0.25`,1.9`}};
Use TriangleCenter to generate a list of orthocenters for every 3 vertices.
In[]:=
a1b1c1d1=Thread[{a1,b1,c1,d1}(TriangleCenter[#,"Orthocenter"]&/@{{b,c,d},{a,c,d},{b,d,a},{a,b,c}})]/.abcd;
Now we can join the known vertices and two unknown points of intersection, put them into the GeometricScene function. This function serves as convenient solver for us to find the exact location of P and .
P
1
In[]:=
gc=With[{points=Join[abcd,a1b1c1d1,{p,p1}]},GeometricScene[points,{Polygon[{a1,b1,c1,d1}],Polygon[{a,b,c,d}],Style[Line[{b,p,d}],Dashed],Style[Line[{a,p,c}],Dashed],Style[Line[{a1,p1,c1}],Dashed],Style[Line[{b1,p1,d1}],Dashed]}]//RandomInstance]
Out[]=
I have a simple animation about how are the points changes with moving C and D.
Out[]=
The statement that we are going to prove is
◼
In polygon ABCD, point P divides segment AC into two parts. Their length ratio is
In[]:=
EuclideanDistance[a,p]
EuclideanDistance[p,c]
Out[]=
1.38727
◼
In polygon ABCD, point P divides segment BD into two parts. Their length ratio is
In[]:=
EuclideanDistance[b,p]
EuclideanDistance[p,d]
Out[]=
2.55547
◼
In polygon , point divides segment into two parts. Their length ratio is
A
1
B
1
C
1
D
1
P
1
A
1
C
1
In[]:=
EuclideanDistance[a1,p1]
EuclideanDistance[p1,c1]
Out[]=
1.38727
◼
In polygon , point divides segment into two parts. Their length ratio is
A
1
B
1
C
1
D
1
P
1
B
1
D
1
In[]:=
EuclideanDistance[b1,p1]
EuclideanDistance[p1,d1]
Out[]=
2.55547
The simulated result confirms that = and =.
AP
PC
A
1
P
1
P
1
C
1
BP
PD
B
1
P
1
P
1
D
1
Proof with some algebra
Proof with some algebra
This problem is closely related to this SE question. After readI feel it is very tricky to come up with a pure synthetic argument to just use auxiliary lines. However, if we choose the coordinate of the problem in a smart way, the algebraic computation is rather trivial in Wolfram Language. WLOG, we can fix point A and B first, then move around C and D to cover all possible configurations of quadrilateral ABCD or similar ones.
In[]:=
abcd={a{0,0},b{1,0},c{cx,cy},d{dx,dy}};
Just like the simulation above, we find the quadrilateral of orthocenters with the same fashion. It is really nice that TriangleCenter also handles symbolic coordinates.
In[]:=
a1b1c1d1=Thread[{a1,b1,c1,d1}(TriangleCenter[#,"Orthocenter"]&/@{{b,c,d},{a,c,d},{b,d,a},{a,b,c}})]/.abcd;
Here we reuse the handy function from this post
In[]:=
segmentIntersection[p1_List,p2_List,p3_List,p4_List]:=Block[{u,v},Module[{sol},sol=Solve[u*(p2-p1)+p1v*(p4-p3)+p3,{u,v}];{u,v,u*(p2-p1)+p1}/.sol〚1〛]]
Use the above function on polygon ABCD. Note that the intersecting segments that we are interested in are AC and BD
In[]:=
sol1=Simplify[segmentIntersection[a,c,b,d]/.abcd]
Out[]=
,,,
dy
cy-cydx+cxdy
cy
cy-cydx+cxdy
cxdy
cy-cydx+cxdy
cydy
cy-cydx+cxdy
On polygon
A
1
B
1
C
1
D
1
In[]:=
sol2=Simplify[segmentIntersection[a1,c1,b1,d1]/.a1b1c1d1]
Out[]=
,,,(-1+dx)-cydxdy+cx(1-+cydy)
dy
cy-cydx+cxdy
cy
cy-cydx+cxdy
cydy(-cy+dy)+cx(cy-cydx+dxdy)
cy-cydx+cxdy
2
cx
2
dx
cy-cydx+cxdy
Recall that in both sol1 and sol2, the first two items are exactly the length ratio in which we are interested.
◼
u===
AP
AC
dy
cy-cydx+cxdy
A
1
P
1
A
1
C
1
◼
v===
CP
CD
cy
cy-cydx+cxdy
C
1
P
1
C
1
D
1
In[]:=
sol1〚;;2〛===sol2〚;;2〛
Out[]=
True
Thus last result concludes our proof. Additionally, let’s take a look denominator.It is indeed associated with the ratios of sub-areas in the quadrilateral ABCD. We can compute the area of triangle ACD with cross product
In[]:=
Cross[{cx,cy,0},{dx,dy,0}]
2
Out[]=
0,0,(-cydx+cxdy)
1
2
If we come back to the SE question we have mentioned, the equal area statement is also verified easily:
Review
Review
◼
Choose proper coordinates for the base quadrilateral for compact visualization
◼
Use Triangle center to generate numerical and symbolic orthocenters
◼
Use linear function solver to quickly pin the location of intersection and the ratio of segment division
◼
Use build in Area function on simple polygons to find equal areas