python画一个玫瑰和一个爱心


Posted in Python onAugust 18, 2020

节日用心准备的礼物,使用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 相关文章推荐
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
Python 中 list 的各项操作技巧
Apr 13 Python
Python实现的排列组合计算操作示例
Oct 13 Python
Django 使用logging打印日志的实例
Apr 28 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
Django上线部署之IIS的配置方法
Aug 22 Python
django-crontab 定时执行任务方法的实现
Sep 06 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 Python
Python加载数据的5种不同方式(收藏)
Nov 13 Python
pytorch显存一直变大的解决方案
Apr 08 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 #Python
Python实现全排列的打印
Aug 18 #Python
python递归实现快速排序
Aug 18 #Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 #Python
python递归全排列实现方法
Aug 18 #Python
python使用PIL给图片添加文字生成海报示例
Aug 17 #Python
Python在for循环中更改list值的方法【推荐】
Aug 17 #Python
You might like
PHP 数组实例说明
2008/08/18 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
JavaScript delete 属性的使用
2009/10/08 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
2014/06/23 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
Vue项目history模式下微信分享爬坑总结
2019/03/29 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
Python判断Abundant Number的方法
2015/06/15 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
Python3多线程操作简单示例
2018/05/22 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Django中间件基础用法详解
2019/07/18 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
经典商业广告词
2014/03/13 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
优秀教师工作总结2015
2015/07/22 职场文书
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL