python-角度反射,用于将球弹起一圈
发布时间:2020-12-17 17:36:56 所属栏目:Python 来源:网络整理
导读:我正在制作一个带有一些弹跳元素的游戏(我使用pygame), 我的元素有2个属性,一个是角度,一个是速度 这是元素移动的方式: mvx = math.sin(self.angle) * self.speed mvy = -math.cos(self.angle) * self.speed self.x += mvx self.y += mvy 我的问题是:我知
我正在制作一个带有一些弹跳元素的游戏(我使用pygame),
我的问题是:我知道顶部的角度(99.6°),碰撞点(x和y),但是我无法找到底部的角度(42.27°) 图片更好… 最佳答案
我建议将reflection向量计算为圆形表面上的入射向量.
在以下公式中,N是圆的法线向量,I是入射向量(弹跳球的当前方向向量),R是反射向量(弹跳球的出射方向向量):
使用 要计算法线向量,您必须知道“命中”点(dvx,dvy)和圆心(cptx,cpty):
计算反射:
可以通过
代码清单:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |