当前位置: 首页 > news >正文

网站开发恶意索赔软件技术学什么课程

网站开发恶意索赔,软件技术学什么课程,连衣裙一起做网站,优惠券网站怎么做代理概述 本篇论述#xff0c;如何用加速度在Godot中控制粒子运动。 匀速和匀变速直线运动的统一 以下是匀变速运动的速度和位移公式#xff1a; v t v 0 a t x t v 0 t 1 2 a t 2 v_tv_0 at \\ x_tv_0t \frac{1}{2}at^2 vt​v0​atxt​v0​t21​at2 当a 0 时#xf…概述 本篇论述如何用加速度在Godot中控制粒子运动。 匀速和匀变速直线运动的统一 以下是匀变速运动的速度和位移公式 v t v 0 a t x t v 0 t 1 2 a t 2 v_tv_0 at \\ x_tv_0t \frac{1}{2}at^2 vt​v0​atxt​v0​t21​at2 当a 0 时 v t v 0 x t v 0 t v_tv_0 \\ x_tv_0t vt​v0​xt​v0​t 所以匀速直线运动可以看成是a 0 的特殊匀变速直线运动两者可以共用一套公式。 Godot中的匀变速直线运动实现 另外我们在Godot的_process()或者_physics_process()中得到的delta其实就是 Δ t \Delta t Δt,而不是一个连续累计的时间 t t t。 我们需要计算的当前帧基于前一帧的速度和位移也就是 v f r a m e v f r a m e − 1 a Δ t x f r a m e v f r a m e − 1 Δ t 1 2 a Δ t 2 v_{frame} v_{frame-1} a \Delta t \\ x_{frame} v_{frame-1}\Delta t \frac{1}{2} a {\Delta t}^2 vframe​vframe−1​aΔtxframe​vframe−1​Δt21​aΔt2 其中 v f r a m e v_{frame} vframe​表示当前帧的速度 v f r a m e − 1 v_{frame-1} vframe−1​表示上一帧的速度 x f r a m e x_{frame} xframe​表示当前帧的位置 x f r a m e − 1 x_{frame-1} xframe−1​表示上一帧的位置 其实也就是 Δ v v f r a m e − v f r a m e − 1 a Δ t Δ x x f r a m e − x f r a m e − 1 v f r a m e − 1 Δ t 1 2 a Δ t 2 \Delta v v_{frame} - v_{frame-1} a \Delta t \\ \Delta x x_{frame} - x_{frame-1} v_{frame-1}\Delta t \frac{1}{2} a {\Delta t}^2 Δvvframe​−vframe−1​aΔtΔxxframe​−xframe−1​vframe−1​Δt21​aΔt2 所以当前帧 v f r a m e v f r a m e − 1 Δ v x f r a m e x f r a m e − 1 Δ x v_{frame} v_{frame-1} \Delta v \\ x_{frame} x_{frame-1} \Delta x vframe​vframe−1​Δvxframe​xframe−1​Δx 速度和位移都变成了基于前一帧的累计值而与初始的速度 v 0 v_0 v0​无关同样加速度a 0时 Δ v \Delta v Δv0,当前帧速度保持不变 Δ x v f r a m e − 1 Δ t \Delta x v_{frame-1}\Delta t Δxvframe−1​Δt当前帧的位置 上一帧位置 Δ x \Delta x Δx。 实现粒子类 基于上面的认识我们可以编写一个粒子类。它的代码如下其中update()用于粒子基于_process()或者_physics_process()中得到的delta更新粒子速度和位置是完全按照上面的思路实现的。 # 粒子 class Particle:var position:Vector2var velocity:Vector2var acceleration:Vector2func _init(position:Vector2,velocity:Vector2,acceleration:Vector2) - void:self.position positionself.velocity velocityself.acceleration acceleration# 更新速度和位置func update(d_t: float)- void:var d_v acceleration * d_tvelocity d_vposition velocity * d_t (d_v * d_t)/2# 绘制粒子func draw_particle(canvas_item:CanvasItem,color:Color.AQUAMARINE,r:3.0,fill:true,border_width:1):canvas_item.draw_circle(position,r,color,fill,border_width)# 绘制粒子的速度矢量func draw_velocity(canvas_item:CanvasItem,color:Color.GREEN_YELLOW,border_width:1):canvas_item.draw_line(position,positionvelocity,color,border_width)# 绘制粒子的加速度矢量func draw_acceleration(canvas_item:CanvasItem,color:Color.ORANGE_RED,border_width:1):canvas_item.draw_line(position,positionacceleration,color,border_width)测试代码 extends Node2Dvar pos:Vector2 Vector2(100,100) # 位置 var v : Vector2() # 速度 var a : Vector2.RIGHT * 20 # 加速度# 创建粒子实例 var p Particle.new(pos,v,a)func _process(delta: float) - void:p.update(delta) # 更新粒子的速度和位置queue_redraw() # 请求重绘# 绘制 func _draw() - void:p.draw_particle(self) # 绘制粒子p.draw_velocity(self) # 绘制速度向量p.draw_acceleration(self) # 绘制加速度向量可以看到 我们在创建粒子实例时只需要设定起始位置、初始速度以及加速度就可以了。程序便会自动随时间更新粒子的速度和位置并且绘制出粒子、粒子当前的速度以及加速度 通过设定不同的起始位置、初始速度以及加速度我们就可以模拟出匀速直线运动、匀加速直线运动和匀减速直线运动。 # 匀减速直线运动 var pos:Vector2 Vector2(100,100) # 起始位置 var v : Vector2.RIGHT * 100 # 初始速度 var a : Vector2.LEFT * 20 # 加速度# 初速度为0的匀加速直线运动 var pos:Vector2 Vector2(100,100) # 起始位置 var v : Vector2() # 初始速度 var a : Vector2.RIGHT * 20 # 加速度# 初速度不为0的匀速直线运动 var pos:Vector2 Vector2(100,100) # 起始位置 var v : Vector2.RIGHT * 100 # 初始速度 var a : Vector2() # 加速度用曲线控制速度和加速度变化 extends Node2D# 匀减速直线运动 var pos:Vector2 Vector2(300,300) # 起始位置 var v : Vector2.RIGHT * 100 # 初始速度 var a : Vector2.LEFT * 0 # 加速度export var velocity_curve:Curve# 创建粒子实例 var p Particle.new(pos,v,a)var offset: 0.0 var step:0.005func _process(delta: float) - void:p.velocity v * velocity_curve.sample(offset)offset stepif not(offset 1.0 and offset 0.0):step * -1p.update(delta) # 更新粒子的速度和位置queue_redraw()# 绘制 func _draw() - void:p.draw_particle(self,Color.AQUAMARINE,20.0) # 绘制粒子p.draw_velocity(self) # 绘制速度向量p.draw_acceleration(self) # 绘制加速度向量效果
http://www.dnsts.com.cn/news/81427.html

相关文章:

  • 教育培训网站学院网站建设作用
  • 国内可以上的网站wordpress分类栏目
  • 国家免费培训网站深圳做网页的网站
  • 网站建设支付安全北京常见网站建设推荐
  • 企业如何做好网站建设韩国出线有多难
  • dede网站地图地睛外国人做僾视频网站
  • 回收网站建设织梦做的网站网速打开慢是怎么回事
  • 自己本地可以做网站服务器网站建设策划
  • 网站建设域名怎么收费的wordpress menu icon
  • 网站备案系统登陆不上推广营销策划方案
  • Wordpress网站能做seo吗wordpress 项目
  • 网站建设中的财务预算锒川市住房和城乡建设局网站公告
  • 视频娱乐模版网站购买wordpress优劣
  • 网站搭建网站全球招商网加盟网
  • 官方网站制作宁波网站建站公司
  • 同城做推广哪个网站好wordpress文章内图片不显示
  • 如何通过阿里云自己做网站建网站选域名
  • 网站建设店铺建站成本
  • 为什么自己花钱做的网站竟然不是自己的 (推动高质量发展的最终目的是什么
  • html怎么做成网站广东500强企业名单一览表
  • 六安市城市建设档案馆网站wordpress占用资源
  • 专门做产品排名的网站机构培训班
  • 建站平台企业排名seo引擎优化是什
  • 网站流程图制作软件网站建设中 gif
  • 专业的金融行业网站开发棋类游戏网站开发
  • 谁有人和兽做的网站公司做两个网站
  • 莞城微信网站建设wordpress后台空白
  • 网站备案 异地网站图片自动下载
  • 深圳欧啦啦网站建设wordpress 文章获取接口
  • 网站iis安全配置沂水网站制作