您好,登錄后才能下訂單哦!
這篇文章主要介紹python如何畫一個玫瑰和一個愛心,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
具體內容如下
#!/usr/bin/env python #coding=utf-8 #女生節禮物 import rospy from sensor_msgs.msg import LaserScan import numpy import copy node_name = "Test_Maker" class Test_Maker(): def __init__(self): self.Define() rospy.Timer(rospy.Duration(0.5), self.Timer_CB1) rospy.Timer(rospy.Duration(0.5), self.Timer_CB2) rospy.Timer(rospy.Duration(0.5), self.Timer_CB3) rospy.Timer(rospy.Duration(0.5), self.Timer_CB4) rospy.spin() def Define(self): self.pub_scan1 = rospy.Publisher('test/test_scan1', LaserScan, queue_size=1) self.pub_scan2 = rospy.Publisher('test/test_scan2', LaserScan, queue_size=1) self.pub_scan3 = rospy.Publisher('test/test_scan3', LaserScan, queue_size=1) #慎用!!!! self.pub_scan4 = rospy.Publisher('test/test_scan4', LaserScan, queue_size=1) def Timer_CB1(self, e): data = LaserScan() data.header.frame_id = "base_link" data.angle_min = 0 data.angle_max = numpy.pi*2 data.angle_increment = numpy.pi*2 / 200 data.range_max = numpy.Inf data.range_min = 0 theta = 0 for i in range(200): r = 8.* numpy.sin(5. * theta ) data.ranges.append(copy.deepcopy(r)) data.intensities.append(theta) r = 8.* numpy.sin(5. * -theta) data.ranges.append(copy.deepcopy(r)) data.intensities.append(theta) theta += data.angle_increment data.header.stamp = rospy.Time.now() self.pub_scan1.publish(data) def Timer_CB2(self, e): data = LaserScan() data.header.frame_id = "base_link" data.angle_min = 0 data.angle_max = numpy.pi*2 data.angle_increment = numpy.pi*2 / 200 data.range_max = numpy.Inf data.range_min = 0 theta = 0 for i in range(200): r = 8. * numpy.cos(5. * theta) + 1 data.intensities.append(theta) data.ranges.append(copy.deepcopy(r)) r = 8. * numpy.cos(5. * -theta) + 1 data.intensities.append(theta) data.ranges.append(copy.deepcopy(r)) theta += data.angle_increment data.header.stamp = rospy.Time.now() self.pub_scan2.publish(data) def Timer_CB3(self, e): data = LaserScan() data.header.frame_id = "base_link" data.angle_min = 0 data.angle_max = numpy.pi*2 data.angle_increment = numpy.pi*2 / 50 data.range_max = numpy.Inf data.range_min = 0 theta = 0 for i in range(200): r = 2. * numpy.sin(5. * theta) + 1 data.intensities.append(theta) data.ranges.append(copy.deepcopy(r)) r = 2. * numpy.sin(5. * -theta) + 1 data.intensities.append(theta) data.ranges.append(copy.deepcopy(r)) theta += data.angle_increment data.header.stamp = rospy.Time.now() self.pub_scan3.publish(data) #慎用!!!! def Timer_CB4(self, e): data = LaserScan() data.header.frame_id = "base_link" data.angle_min = 0 data.angle_max = numpy.pi*2 data.angle_increment = data.angle_max / 200 data.range_max = numpy.Inf data.range_min = 0 theta = 0 for i in range(200): r = 9. * numpy.arccos(numpy.sin(theta)) + 9 data.ranges.append(r) theta += data.angle_increment data.header.stamp = rospy.Time.now() self.pub_scan4.publish(data) if __name__ == '__main__': node_name = 'Test_Maker' rospy.init_node(node_name) try: Test_Maker() except rospy.ROSInterruptException: rospy.logerr('%s error'%node_name)
以上是“python如何畫一個玫瑰和一個愛心”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。