Py之pygame:有趣好玩—利用pygame库实现鱼儿自动实时目标跟踪(附完整代码)

目录

输出结果

实现代码


输出结果

实现代码

#Py之pygame:利用pygame库实现鱼儿自动实时目标跟踪import pygame,sys
from math import *
pygame.init()
font1=pygame.font.SysFont('microsoftyaheimicrosoftyaheiui',23)
textc=font1.render('.',True,(250,0,0))
screen=pygame.display.set_mode((800,700),0,32)
missile=pygame.image.load('F:/File_Python/Resources/fish02.png').convert_alpha()
height=missile.get_height()
width=missile.get_width()
pygame.mouse.set_visible(0)
x1,y1=100,600           #鱼儿初始位置
velocity=800            #鱼儿速度
time=1/1000
clock=pygame.time.Clock()
A=()
B=()
C=()
while True:for event in pygame.event.get():if event.type==pygame.QUIT:sys.exit()clock.tick(300)x,y=pygame.mouse.get_pos()          #获取鼠标位置,鼠标就是鱼儿游过去的目标distance=sqrt(pow(x1-x,2)+pow(y1-y,2))     section=velocity*time              sina=(y1-y)/distancecosa=(x-x1)/distanceangle=atan2(y-y1,x-x1)              fangle=degrees(angle)           x1,y1=(x1+section*cosa,y1-section*sina)missiled=pygame.transform.rotate(missile,-(fangle))if 0<=-fangle<=90:A=(width*cosa+x1-width,y1-height/2)B=(A[0]+height*sina,A[1]+height*cosa)if 90<-fangle<=180:A = (x1 - width, y1 - height/2+height*(-cosa))B = (x1 - width+height*sina, y1 - height/2)if -90<=-fangle<0:A = (x1 - width+missiled.get_width(), y1 - height/2+missiled.get_height()-height*cosa)B = (A[0]+height*sina, y1 - height/2+missiled.get_height())if -180<-fangle<-90:A = (x1-width-height*sina, y1 - height/2+missiled.get_height())B = (x1 - width,A[1]+height*cosa )C = ((A[0] + B[0]) / 2, (A[1] + B[1]) / 2)screen.fill((0,0,0))screen.blit(missiled, (x1-width+(x1-C[0]),y1-height/2+(y1-C[1])))screen.blit(textc, (x,y)) pygame.display.update()

扩展思路:比如做个无人机实时定点,抓取目标……

参考文章:

一个简单的导弹自动追踪以及实时图片旋转算法

Py之pygame:有趣好玩—利用pygame库实现鱼儿自动实时目标跟踪(附完整代码)相关推荐

  1. c++代码好玩_Py之pygame:有趣好玩—利用pygame库实现鱼儿自动实时目标跟踪(附完整代码)...

    Py之pygame:有趣好玩-利用pygame库实现鱼儿自动实时目标跟踪(附完整代码) 目录 输出结果 实现代码 输出结果 ​ 实现代码 #Py之pygame:利用pygame库实现鱼儿自动实时目标跟 ...

  2. Py之pygame:有趣好玩——利用pygame库实现一个移动底座弹球的小游戏

    Py之pygame:有趣好玩--利用pygame库实现一个移动底座弹球的小游戏 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: utf-8 -*-#Py之pygame:有趣好 ...

  3. pygame小游戏代码_Py之pygame:有趣好玩——利用pygame库实现一个移动底座弹球的小游戏...

    Py之pygame:有趣好玩--利用pygame库实现一个移动底座弹球的小游戏 目录 输出结果 实现代码 输出结果 ​ 实现代码 # -*- coding: utf-8 -*-#Py之pygame:有 ...

  4. 利用pyecharts绘制新浪微博传播图(文末附完整代码地址)

    文章目录 任务 来龙去脉 过程 绘图代码 绘图参数分析 结点参数格式 联系参数格式 类别参数格式 总览 获取转发关系 构造数据结构 集成json文件 代码地址 任务 延续之前的爬虫任务,最初同学提出的 ...

  5. python firmata协议利用arduino操控麦克纳姆轮小车(附完整代码)

    python firmata协议利用arduino操控麦克纳姆轮小车 前言 一.python中pyfirmata的环境 材料 二.使用步骤 1.小车的安装方式 我在这采用的是X型安装方式 总结 前言 ...

  6. py之textgenrnn:Python利用textgenrnn库实现训练文本生成网络

    py之textgenrnn:Python利用textgenrnn库实现训练文本生成网络 目录 输出结果 实现代码 输出结果 实现代码 #textgenrnn:利用textgenrnn实现训练文本生成网 ...

  7. 车辆入库java程序_java扫描入库及出库,基于谷歌类开发.仅提供完整代码 连接SQL使用,...

    java扫描入库及出库,基于谷歌类开发.仅提供完整代码 连接SQL使用,需要自行制作中心服务器,中心服务器代码在本人另一实例里面,请自行下载 [实例简介] 扫描入库及出库,基于谷歌类开发.仅提供完整代 ...

  8. STM32+MAX6675利用io口模拟SPI获取实时温度数据程序及代码

    STM32+MAX6675利用io口模拟SPI获取实时温度数据程序及代码 本文采用的芯片为STM32F103RCT6 温度芯片为MAX6675 因为芯片的spi口只有3个,有部分需要外接W25Q128 ...

  9. 利用OpenCV、Python和Ubidots构建行人计数器程序(附完整代码)

    作者 | Jose Garcia 译者 | 吴振东 校对 | 张一豪.林亦霖,编辑 | 于腾凯 来源 | 数据派(ID:datapi) 导读:本文将利用OpenCV,Python和Ubidots来编写 ...

最新文章

  1. matlab肌电信号平滑滤波_BCIduino 滤波和频谱计算操作
  2. SSH深度历险(六) 深入浅出----- Spring事务配置的五种方式
  3. 联想笔记本降万元抢学生市场,兄弟们快抢啊
  4. DSP专家给你一个选择FPGA的理由(让人看了热血沸腾的一篇科普文章)
  5. 二维大地电磁有限元数值模拟矩形+线性插值
  6. php安全编程—sql注入攻击
  7. 线性表的动态顺序存储和实现(C语言实现)【线性表】(4)
  8. [python进阶]11接口:从协议到抽象基类
  9. 微型计算机简化结构,基于FPGA的简易微型计算机结构分析与实现
  10. 使用Fiddler对android应用抓包 专题
  11. softmax回归的从零开始实现-09-p4
  12. python停用词表整理_python停用词表
  13. 小米进军欧洲智能手机市场:一面是狂欢,一面是考验...
  14. 谈一谈机器学习的基本原理
  15. java满天星星闪烁_夜空当中满天的星星为什么会闪烁?
  16. 我变了?“我”没变!
  17. python函数(一)——def语句,作用域和参数
  18. 技术博客|第8期:广告流量匹配算法在Hulu/Disney Streaming平台的实战
  19. C++ opencv 识别火焰 (代码)
  20. MATLAB与SolidWorks联合仿真(1)

热门文章

  1. Java 多线程(四)—— 单例模式
  2. vs与git中间的阻拦--Git failed with a fatal error. error: open(“.vs/GBA/v16/Server/sqlite3/db.lock
  3. CentOS 7安装Keepalived
  4. wxpython嵌套panel布局的一个问题
  5. shell中while循环案例
  6. 写了一个 SSO 单点登录的代码示例给胖友!
  7. 面试官给我挖坑:rm删除文件之后,空间就被释放了吗?
  8. 阿里P9架构师分享:通俗易懂Redis原理,都是你没看过的
  9. 从零单排学Redis【铂金二】
  10. 8 张图,看你是否理解 Java