from mpmath import * import matplotlib.pyplot as plt from matplotlib.patches import Rectangle from pylab import rcParams rcParams['figure.figsize'] = (7.10,5.10) from matplotlib import rc #rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']}) ## for Palatino and other serif fonts use: #rc('font',**{'family':'serif','serif':['Palatino']}) #rc('text', usetex=True) # put the person you made a qso with's callsign here; use all capitals and numbers: callsign="CALLSIGN" def alphabetposition(c): if(c=="A"): return 7 if(c=="B"): return 7 if(c=="C"): return 6 if(c=="D"): return 6 if(c=="E"): return 5 if(c=="F"): return 5 if(c=="G"): return 4 if(c=="H"): return 4 if(c=="I"): return 3 if(c=="J"): return 3 if(c=="K"): return 2 if(c=="L"): return 2 if(c=="M"): return 1 if(c=="N"): return 1 if(c=="O"): return 2 if(c=="P"): return 2 if(c=="Q"): return 3 if(c=="R"): return 3 if(c=="S"): return 4 if(c=="T"): return 4 if(c=="U"): return 5 if(c=="V"): return 5 if(c=="W"): return 6 if(c=="X"): return 6 if(c=="Y"): return 7 if(c=="Z"): return 7 else: return c num_csg=[int(alphabetposition(x)) for x in callsign] #callsign as list of numbers if len(callsign)==6: def base_function(z): return hyp2f3(num_csg[0]+1,num_csg[1]+1,num_csg[2]+1,num_csg[3]+1,num_csg[4],z**(1+abs(num_csg[5]))) if len(callsign)==5: def base_function(z): return hyper([num_csg[0]+1,num_csg[1]+1],[num_csg[2]+1,num_csg[3]+1],z**(1+abs(num_csg[4]))) if len(callsign)==4: def base_function(z): return hyper([num_csg[0]+1],[num_csg[1]+1,num_csg[2]+1],z**(1+abs(num_csg[3]))) def plotme(z): return base_function(z)/fabs(base_function(z)) plt.axis('off') #cplot(plotme,[-2.75,2.75],[-1.75,1.75],points=1000000) cplot(plotme,[-5.5,5.5],[-3.5,3.5],points=1000000,verbose=True) ax=plt.gca() #rect = Rectangle((-2.5,1.6),1,-1,linewidth=1,edgecolor='r',facecolor='white') plt.text(0,1,'KE8QZC',bbox=dict(color='white', alpha=0),ha='center', va='center',fontsize=94,alpha=1) #ax.add_patch(rect) plt.savefig("frontside.png",bbox_inches='tight', pad_inches=0)