美文网首页
如何用Python得到关于X轴和关于Y轴对称的圆

如何用Python得到关于X轴和关于Y轴对称的圆

作者: 秦文颖 | 来源:发表于2020-01-05 03:33 被阅读0次

    写在前面,其实这道题做起来没有那么难,关键是思路理清楚,我想得到关于X轴和关于Y轴对称的圆,那么我就要先得到关于X轴和关于Y轴对称的圆心,然后根据画圆的方法,进而得到关于X轴和关于Y轴对称的圆。

    import math;
    import matplotlib.pyplot as plt;
    class Point:
        def __init__(self, a = None, b = None, r = None):
            self.a = a
            self.b = b
            self.r = r
            self.area = round(math.pi*r*r,2)  #round可以用作保留几位小数
    
        def reflect_x(self):  
            __x = self.a    
            __y = -self.b
            __r = self.r
            plt.figure(figsize=(5, 5))  #设定最后圆所在的平面图形的宽度和高度是多少英寸
            circle = plt.Circle((__x, __y), __r, color='yellow', fill = False)
            plt.gcf().gca().add_artist(circle)  #gcf() 表示获取当前图形,gca() 表示获取当前轴
            plt.axis('equal')
            plt.xlim(-10, 10)
            plt.ylim(-10, 10)
            return plt.show()
        
        def reflect_y(self):   
            __x = -self.a    
            __y = self.b 
            __r = self.r
            plt.figure(figsize=(5, 5))
            circle = plt.Circle((__x, __y), __r, color='purple',fill = False) #建议看这个链接,讲的很详细 https://stackoverflow.com/questions/9215658/plot-a-circle-with-pyplot
            plt.gca().add_artist(circle)  #另一种写法
            plt.axis('equal')
            plt.gca().set_xlim(-10, 10)  #另一种写法
            plt.gca().set_ylim(-10, 10)
            return plt.show()
    
    g = Point(2, 2, 2)
    print(g.area)
    g.reflect_x()
    g.reflect_y()
    

    相关文章

      网友评论

          本文标题:如何用Python得到关于X轴和关于Y轴对称的圆

          本文链接:https://www.haomeiwen.com/subject/yokqactx.html