prjbrook

dotri3.py Graphs 3 triangle centres plus lines

Jul 24th, 2024
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.45 KB | None | 0 0
  1. #doCentres(VA,VB,VC,string)
  2. def doCentres(VA=(0,0), VB=(60,10),VC=(20,60),str1="jhkg"):
  3. #     print("VA =",VA)
  4. #     print (str1)
  5. # from datetime import time  
  6.     import centroid7   #, incentre9
  7.     from incentre9 import incentre_info
  8.     from ortho6 import orthocenter_info
  9.     import matplotlib.pyplot as plt
  10.     #incentreInfo1 = incentre_info(VA,VB,VC)  
  11.     #incentrePoint, altitudes,feet = incentreInfo1
  12.     #incentrex,incentrey = incentrePoint  
  13.     fig, ax = plt.subplots(figsize=(6, 6))
  14.     Ax,Ay = VA
  15.     Bx,By = VB
  16.     Cx,Cy = VC
  17.     ax.plot([Ax,Bx,Cx,Ax], [Ay,By,Cy,Ay], 'b-', linewidth=2) #this plots the triangle
  18.    
  19.     #step1 do centroid and medians-----------------------------------
  20.     medianInfo2=centroid7.centroid_info(VA,VB,VC)
  21.     centroidPoint, medians,feet = medianInfo2
  22.     centroidx,centroidy = centroidPoint
  23.    
  24.     fA,fB,fC = feet
  25.     fAx,fAy =fA
  26.     fBx,fBy =fB
  27.     fCx,fCy =fC
  28.  
  29.     circle = plt.Circle((centroidx, centroidy), 0.5, fill=False, color='g')
  30.     ax.add_artist(circle)
  31.    
  32.     ax.plot([Ax,fAx], [Ay, fAy], 'g-', linewidth=1)
  33.     ax.plot([Bx,fBx], [By, fBy], 'g-', linewidth=1)
  34.     ax.plot([Cx,fCx], [Cy, fCy], 'g-', linewidth=1) #---------centroid done  
  35.    
  36.     #step2 Do incentre. Same idea as centroid above.------------
  37.     incentreInfo1 = incentre_info(VA,VB,VC)
  38.     incentrePoint, bisector_lines,feet = incentreInfo1
  39.     incentrex,incentrey = incentrePoint
  40.     fA,fB,fC = feet
  41.     fAx,fAy =fA
  42.     fBx,fBy =fB
  43.     fCx,fCy =fC
  44.     circle = plt.Circle((incentrex, incentrey), 0.5, fill=False, color='y')
  45.     ax.add_artist(circle)
  46.     ax.plot([Ax,fAx], [Ay, fAy], 'y-', linewidth=1)
  47.     ax.plot([Bx,fBx], [By, fBy], 'y-', linewidth=1)
  48.     ax.plot([Cx,fCx], [Cy, fCy], 'y-', linewidth=1) #---------incentre done
  49.     #step3 Do orthocentre. Same idea as centroid above.------------
  50.     orthocentreInfo1= orthocenter_info(VA, VB, VC)
  51.     orthocentrePoint,altitudes, feet = orthocentreInfo1
  52.     orthocentrex,orthocentrey = orthocentrePoint
  53.     fA,fB,fC = feet
  54.     fAx,fAy =fA
  55.     fBx,fBy =fB
  56.     fCx,fCy =fC
  57.     circle = plt.Circle((orthocentrex, orthocentrey), 0.5, fill=False, color='r')
  58.     ax.add_artist(circle)
  59.     ax.plot([Ax,fAx], [Ay, fAy], 'r-', linewidth=1)
  60.     ax.plot([Bx,fBx], [By, fBy], 'r-', linewidth=1)
  61.     ax.plot([Cx,fCx], [Cy, fCy], 'r-', linewidth=1) #---------orthocentre done
  62.    
  63.     plt.show()
  64.     return  VA,VB,VC,str1
  65.  
  66.  
  67.  
  68.    
  69. doCentres()    
  70.  
  71.                  
  72.  
  73.  
Advertisement
Add Comment
Please, Sign In to add comment