ax2.text(0,0,6, r'$z_s$', fontsize=18,verticalalignment='bottom', horizontalalignment='left') ''' pA = np.array([0, 0, 0]) pB = np.array([3, 0, 0]) pC = np.array([2, 2.5, 0]) pD = (0.6 * pB + 0.4 * pC) pE = (0.6 * pA + 0.4 * pC) lineAC, = ax2.plot(*zip(pA, pC), linewidth=2, color='b') lineBA, = ax2.plot(*zip(pB, pA), linewidth=2, color='b') lineBC, = ax2.plot(*zip(pB, pC), linewidth=2, color='b') lineAD, = ax2.plot(*zip(pA, pD), linewidth=2, color='b') lineBE, = ax2.plot(*zip(pB, pE), linewidth=2, color='b') pO = return_intersection_under_Ceva_Theorem(pA, pB, pC, pD, pE) pF = return_third_point_on_a_triagle_under_Ceva_Theorem(pA, pB, pC, pD, pE) lineCF, = ax2.plot(*zip(pC, pF), linewidth=1, color='b', linestyle=':') ax2.text(*pA, s=r'$A$', fontsize=12, verticalalignment='bottom', horizontalalignment='right', linespacing=12) ax2.text(*pB, s=r'$B$', fontsize=12, verticalalignment='bottom', horizontalalignment='left', linespacing=12)
lineAD, = ax2.plot(*zip(pA, pD), linewidth=2, color='b') lineCB, = ax2.plot(*zip(pC, pB), linewidth=2, color='b') lineCD, = ax2.plot(*zip(pC, pD), linewidth=2, color='b') lineBD, = ax2.plot(*zip(pB, pD), linewidth=2, color='b') pE = (pB + pC) / 2 pF = (pC + pD) / 2 pH = (pA + pB) / 2 pG = (0.4 * pA + 0.6 * pD) lineDE, = ax2.plot(*zip(pD, pE), linewidth=1, color='b') lineBF, = ax2.plot(*zip(pB, pF), linewidth=1, color='b') lineDH, = ax2.plot(*zip(pD, pH), linewidth=1, color='b') lineBG, = ax2.plot(*zip(pB, pG), linewidth=1, color='b') pN = return_third_point_on_a_triagle_under_Ceva_Theorem(pB, pD, pC, pF, pE) pNp = return_third_point_on_a_triagle_under_Ceva_Theorem(pD, pB, pA, pH, pG) lineCN, = ax2.plot(*zip(pC, pN), linewidth=1, color='b') lineANp, = ax2.plot(*zip(pA, pNp), linewidth=1, color='b') #lineAR, = ax2.plot(*zip(pA,pR),linewidth = 1,color='b') pJ = return_intersection_under_Ceva_Theorem(pB, pD, pC, pF, pE) pK = return_intersection_under_Ceva_Theorem(pD, pB, pA, pH, pG) lineCK, = ax2.plot(*zip(pC, pK), linewidth=1, color='b') lineAJ, = ax2.plot(*zip(pA, pJ), linewidth=1, color='b') ax2.text(*pA, s=r'$A$', fontsize=12,
pA = np.array([0, 0, 0]) pC = np.array([0, 6, 0]) pB = np.array([1, 3.5, 2]) pD = np.array([7, 1.5, 0]) lineAC, = ax2.plot(*zip(pA, pC), linewidth=2, color='b') lineAB, = ax2.plot(*zip(pA, pB), linewidth=2, color='b') lineAD, = ax2.plot(*zip(pA, pD), linewidth=2, color='b') lineCB, = ax2.plot(*zip(pC, pB), linewidth=2, color='b') lineCD, = ax2.plot(*zip(pC, pD), linewidth=2, color='b') lineBD, = ax2.plot(*zip(pB, pD), linewidth=2, color='b') pE = (pB + pC) / 2 pF = (pC + pD) / 2 pN = return_third_point_on_a_triagle_under_Ceva_Theorem(pB, pD, pC, pF, pE) pH = (pA + pB) / 2 pG = return_third_point_on_a_triagle_under_Ceva_Theorem(pA, pD, pB, pN, pH) pM = return_third_point_on_a_triagle_under_Ceva_Theorem(pA, pC, pB, pE, pH) #lineDE, = ax2.plot(*zip(pD,pE),linewidth = 1,color='b',linestyle=':') #lineBF, = ax2.plot(*zip(pB,pF),linewidth = 1,color='b',linestyle=':') #lineDH, = ax2.plot(*zip(pD,pH),linewidth = 1,color='b',linestyle=':') #lineBG, = ax2.plot(*zip(pB,pG),linewidth = 1,color='b',linestyle=':') #lineCN, = ax2.plot(*zip(pC,pN),linewidth = 1,color='b',linestyle=':') #lineAN, = ax2.plot(*zip(pA,pN),linewidth = 1,color='b',linestyle=':') #lineAR, = ax2.plot(*zip(pA,pR),linewidth = 1,color='b') pJ = return_intersection_under_Ceva_Theorem(pB, pD, pC, pF, pE) pK = return_intersection_under_Ceva_Theorem(pD, pB, pA, pH, pG)
linePG, = ax2.plot(*zip(pP, pG), linewidth=2, color='b') linePE, = ax2.plot(*zip(pP, pE), linewidth=2, color='b') pI = return_intersection_under_Ceva_Theorem(pA, pE, pC, pD, pB) pK = return_intersection_under_Ceva_Theorem(pA, pG, pC, pH, pB) lineGI, = ax2.plot(*zip(pG, pI), linewidth=1, color='b', linestyle=':') lineEK, = ax2.plot(*zip(pE, pK), linewidth=1, color='b', linestyle=':') lineGD, = ax2.plot(*zip(pG, pD), linewidth=1, color='b', linestyle=':') lineHE, = ax2.plot(*zip(pH, pE), linewidth=1, color='b', linestyle=':') pJ = return_intersection_under_Ceva_Theorem(pG, pE, pB, pI, pK) pL = return_intersection_under_Ceva_Theorem(pG, pE, pC, pD, pH) pQ1 = return_Menelaus_third_outer_point_2nd(pQ, pB, pE, pI, pA) pP1 = return_Menelaus_third_outer_point_2nd(pP, pB, pE, pI, pA) pF = return_third_point_on_a_triagle_under_Ceva_Theorem(pG, pE, pB, pI, pK) pQ2 = return_third_point_on_a_triagle_under_Ceva_Theorem(pQ, pG, pE, pF, pQ1) pP2 = return_third_point_on_a_triagle_under_Ceva_Theorem(pP, pG, pE, pF, pQ1) pPc = return_intersection_under_Ceva_Theorem(pP, pG, pE, pF, pP1) pS = return_Menelaus_third_outer_point(pG, pE, pB, pI, pK) lineCF, = ax2.plot(*zip(pC, pF), linewidth=1, color='b', linestyle=':') lineBF, = ax2.plot(*zip(pB, pF), linewidth=1, color='b', linestyle=':') lineAPc, = ax2.plot(*zip(pA, pPc), linewidth=1, color='k') lineAP1, = ax2.plot(*zip(pA, pP1), linewidth=1, color='r') lineAP2, = ax2.plot(*zip(pA, pP2), linewidth=1, color='r') lineQF, = ax2.plot(*zip(pQ, pF), linewidth=1, color='b', linestyle=':') linePF, = ax2.plot(*zip(pP, pF), linewidth=1, color='b', linestyle=':') lineGP1, = ax2.plot(*zip(pG, pP1), linewidth=1, color='b', linestyle=':') lineGQ1, = ax2.plot(*zip(pG, pQ1), linewidth=1, color='b', linestyle=':') lineQ2E, = ax2.plot(*zip(pE, pQ2), linewidth=1, color='b', linestyle=':')
fig2 = pyplot.figure(2, figsize=(4, 4), dpi=100) ax2 = p3.Axes3D(fig2) ax2.view_init(elev=15, azim=-95) ax2.set_color_cycle('b') pA = np.array([2.5, -1, 3]) pB = np.array([4, 0, 0]) pD = np.array([0, 0, 0]) pC = np.array([1, -2.5, 0]) pN = (0.6 * pA + 0.4 * pB) pH = (0.7 * pB + 0.3 * pD) pI = (0.45 * pB + 0.55 * pC) pE = return_intersection_under_Ceva_Theorem(pA, pD, pB, pH, pN) pF = return_intersection_under_Ceva_Theorem(pA, pC, pB, pI, pN) pJ = return_third_point_on_a_triagle_under_Ceva_Theorem(pD, pC, pN, pF, pE) pG = return_Menelaus_third_outer_point(pD, pC, pN, pF, pE) lineAC, = ax2.plot(*zip(pA, pC), linewidth=1, color='b') lineGE, = ax2.plot(*zip(pG, pE), linewidth=1, color='b') lineCG, = ax2.plot(*zip(pC, pG), linewidth=1, color='b') lineAD, = ax2.plot(*zip(pA, pD), linewidth=1, color='b') lineAH, = ax2.plot(*zip(pA, pH), linewidth=1, color='b') lineAI, = ax2.plot(*zip(pA, pI), linewidth=1, color='b') lineAB, = ax2.plot(*zip(pA, pB), linewidth=1, color='b') lineBC, = ax2.plot(*zip(pC, pB), linewidth=1, color='b') lineDB, = ax2.plot(*zip(pD, pB), linewidth=1, color='b') lineNC, = ax2.plot(*zip(pN, pC), linewidth=1, color='b') lineDC, = ax2.plot(*zip(pD, pC), linewidth=1, color='b') lineDN, = ax2.plot(*zip(pD, pN), linewidth=1, color='b')
lineCE, = ax2.plot(*zip(pC, pE), linewidth=2, color='b') lineAD, = ax2.plot(*zip(pA, pD), linewidth=2, color='b') lineAH, = ax2.plot(*zip(pA, pH), linewidth=2, color='b') pI = return_intersection_under_Ceva_Theorem(pA, pE, pC, pD, pB) pK = return_intersection_under_Ceva_Theorem(pA, pG, pC, pH, pB) lineGI, = ax2.plot(*zip(pG, pI), linewidth=1, color='b', linestyle=':') lineEK, = ax2.plot(*zip(pE, pK), linewidth=1, color='b', linestyle=':') lineGD, = ax2.plot(*zip(pG, pD), linewidth=1, color='b', linestyle=':') lineHE, = ax2.plot(*zip(pH, pE), linewidth=1, color='b', linestyle=':') pJ = return_intersection_under_Ceva_Theorem(pG, pE, pB, pI, pK) pL = return_intersection_under_Ceva_Theorem(pG, pE, pC, pD, pH) pF = return_third_point_on_a_triagle_under_Ceva_Theorem(pG, pE, pB, pI, pK) lineCF, = ax2.plot(*zip(pC, pF), linewidth=1, color='b', linestyle=':') lineBF, = ax2.plot(*zip(pB, pF), linewidth=1, color='b', linestyle=':') lineAL, = ax2.plot(*zip(pA, pL), linewidth=1, color='b') ax2.text(*pA, s=r'$A$', fontsize=12, verticalalignment='bottom', horizontalalignment='right', linespacing=12) ax2.text(*pB, s=r'$B$', fontsize=12, verticalalignment='bottom',