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类和函数中使用静态变量的方法
May 09 Python
Python中使用Queue和Condition进行线程同步的方法
Jan 19 Python
打包发布Python模块的方法详解
Sep 18 Python
Python实现基于KNN算法的笔迹识别功能详解
Jul 09 Python
基于python中theano库的线性回归
Aug 31 Python
Matplotlib中文乱码的3种解决方案
Nov 15 Python
django orm 通过related_name反向查询的方法
Dec 15 Python
python通过txt文件批量安装依赖包的实现步骤
Aug 13 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
Pytorch .pth权重文件的使用解析
Feb 14 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
Jul 03 Python
Django CBV模型源码运行流程详解
Aug 17 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
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
python小技巧之批量抓取美女图片
2014/06/06 Python
python使用心得之获得github代码库列表
2014/06/25 Python
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
菜鸟使用python实现正则检测密码合法性
2016/01/05 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
公司募捐倡议书
2014/05/14 职场文书
2014年维稳工作总结
2014/11/18 职场文书
新闻稿件写作范文
2015/07/18 职场文书
优质护理服务心得体会
2016/01/22 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers