设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 6093|回复: 11
打印 上一主题 下一主题

[已经解决] 求问 抛物线 重力加速度 公式

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
跳转到指定楼层
1
发表于 2012-6-20 20:07:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wbsy8241 于 2012-6-20 21:12 编辑

已知: 物重 角度 初速度
可不计空气阻力(如果麻烦的话)
求每帧的x,y坐标
写个适用在RM里的公式吧

角度是0-360

数学实在不行...

应该每帧都会改变 角度 当前速度 的值的

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
2
发表于 2012-6-21 16:05:38 | 只看该作者
本帖最后由 九夜神尊 于 2012-6-21 16:06 编辑

初速度最好是别用角度表示,初速度最好是表示成x,y分速度。
那么假设vx = 10,vy=0,这时物体是向右运动
匀速运动的话,每一帧都是x+=vx  y+=vy
如果是抛物线的话每一帧增加一点点vy值就是了。
还有,你果然数学不好,还物理也不行。
要知道物重是不影响抛物线轨迹的……

点评

你要怎么样决定任意角度需要增加的数值?  发表于 2012-6-21 23:49
那你为什么还要用小学加减法来教人?,我的问题已经很明白了.还是说只会加减法 乘法都不会  发表于 2012-6-21 23:46
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
3
 楼主| 发表于 2012-6-21 17:42:49 | 只看该作者
本帖最后由 wbsy8241 于 2012-6-21 17:45 编辑
九夜神尊 发表于 2012-6-21 16:05
初速度最好是别用角度表示,初速度最好是表示成x,y分速度。
那么假设vx = 10,vy=0,这时物体是向右运动
匀 ...


同样初速度对于物轻的 抛物线的轨迹越大(顶点越高,能飞的更远)

我需要从A点往任意角度发射 直接加多少减多少是算不出来的

麻烦的话重力加速度也可以不要 只要引力

点评

居然这样说,而且说得跟真理一样。看看后面,你会懂。上几年级呢。  发表于 2012-6-21 22:55
气球远是因为阻力相同,气球重力小,所以最后向下的合力小,加速度也小。  发表于 2012-6-21 19:43
哦这个啊……气球和铁球不一样,有2个可能:一是你认为气球会浮起来,二是你考虑了阻力。  发表于 2012-6-21 19:32
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
470 小时
注册时间
2010-6-25
帖子
316
4
发表于 2012-6-21 18:47:23 | 只看该作者
本帖最后由 腐琴琴 于 2012-6-21 18:55 编辑

为什么我觉得物体轻重和掉落速度是没有关系的(伽利略的小斜塔)?
重力加速度和引力是密不可分的说……

水平抛出距离 = A  * t  = COSL * V * t
距离地面的高度 = H + SINL * V * t - 0.5 * g * t^2  = H + B * t - 0.5 * g * t^2
(其中V是初速度,L是初速度和水平方向的夹角,t是抛出时间,g是加速度一般取10,H是抛出点距离地面的高度)
(水平初始速度是A,竖直初始速度是B)

COSL,SINL,一般取几个特殊值就好了

L = 0     COSL = 1 ,SINL =0      (水平抛出)
L = 15   COSL = 0.97 ,SINL =0.26
L = 30   COSL = 0.87 , SINL =0.5
L = 45   COSL = 0.71 , SINL =0.71   (抛出最远)
L = 60   COSL = 0.5 , SINL =0.87
L = 75   COSL = 0.26 , SINL =0.97
L = 90   COSL = 0 , SINL =1      (竖直抛出)���

点评

所以才需要物重= =  发表于 2012-6-21 19:50
没说掉落速度啊.. 我说的是仍的高度和距离 你肯定仍气球远  发表于 2012-6-21 19:36
我研究研究... 同样的力抛气球和抛铁球,高度和距离都不一样吧,所以才需要物重?  发表于 2012-6-21 19:11

评分

参与人数 1梦石 +2 收起 理由
hcm + 2 认可答案

查看全部评分


回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
470 小时
注册时间
2010-6-25
帖子
316
5
发表于 2012-6-21 19:38:20 | 只看该作者
wbsy8241 发表于 2012-6-21 17:42
同样初速度对于物轻的 抛物线的轨迹越大(顶点越高,能飞的更远)

我需要从A点往任意角度发射 直接加多少减 ...

如果考虑阻力的话其实也不难。
把g(重力加速度)改成a(加速度)
a =( m * g - f )  / m
(其中m是物体质量,g是重力,f是阻力)

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
6
 楼主| 发表于 2012-6-21 19:49:33 | 只看该作者
本帖最后由 wbsy8241 于 2012-6-21 19:51 编辑
腐琴琴 发表于 2012-6-21 18:47
为什么我觉得物体轻重和掉落速度是没有关系的(伽利略的小斜塔)?
重力加速度和引力是密不可分的说……
  1. @sprite = Sprite.new
  2. @sprite.bitmap = Bitmap.new("test")
  3. @x = 100
  4. @y = 100
  5. @sprite.x = @x
  6. @sprite.y = @y
  7. h = 100 #抛出点距离地面的高度
  8. l = 45  #初速度和水平方向的夹角
  9. t = 0   #时间
  10. v = 1   #初速度

  11. def sin(l); Math.sin(l * Math::PI / 180); end #SINL
  12. def cos(l); Math.cos(l * Math::PI / 180); end #COSL

  13. loop do
  14.   Graphics.update
  15.   Input.update
  16.   t += 1
  17.   x = cos(l) * v * t
  18.   y = sin(l) * v * t + h + 0.5 * 10 * (t ** 2)
  19. msgbox y
  20.   @sprite.x = @x + x
  21.   @sprite.y = @y + y
  22. end
复制代码
y 没做抛物线运动啊 并且值 越来越大

第2次角度也会变?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
470 小时
注册时间
2010-6-25
帖子
316
7
发表于 2012-6-21 19:59:57 | 只看该作者
wbsy8241 发表于 2012-6-21 19:49
y 没做抛物线运动啊 并且值 越来越大

第2次角度也会变?

y的确会越来越大:抛体运动就是水平上匀速运动,竖直上加速运动,所以是曲线
你计算公式好像怪怪的。
y是时间为t的时候的竖直位置,而不是竖直位移。
也就是当前的位置就是x = cos(l) * v * t ,y = sin(l) * v * t + h + 0.5 * 10 * (t ** 2)
你那个@sprite.x = @x + x有一种累加的感觉,看上去不太对啊?
还是我理解错了?

点评

y 竖直位置 从没小过.. 一直变大 也就不会做上抛了  发表于 2012-6-21 20:03

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
8
 楼主| 发表于 2012-6-21 20:04:26 | 只看该作者

x

本帖最后由 wbsy8241 于 2012-6-21 20:05 编辑
腐琴琴 发表于 2012-6-21 19:59
y的确会越来越大:抛体运动就是水平上匀速运动,竖直上加速运动,所以是曲线
你计算公式好像怪怪的。
y是 ...


@sprite.x = @x + x
是不太对 但不是累加 2个都是 从原始位置@x 加上移动距离x
原来x 坐标不会变啊... 每次都提高0.71 但是0.71太小了吧= = 3/4像素 都看不出来

点评

了解了...  发表于 2012-6-22 00:59
当sin(l) * v * t - 0.5 * 10 * (t ** 2) < 0后,y就会不断减小了  发表于 2012-6-21 21:01
因为开始有一个向上的初速度,所以sin(l) * v * t - 0.5 * 10 * (t ** 2) > 0  发表于 2012-6-21 21:00
啊……有个东西写错了!y = sin(l) * v * t + h - 0.5 * 10 * (t ** 2)  发表于 2012-6-21 20:58
哦……那你目前理解的咋样啦……  发表于 2012-6-21 20:31
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
470 小时
注册时间
2010-6-25
帖子
316
9
发表于 2012-6-21 20:11:49 | 只看该作者
wbsy8241 发表于 2012-6-21 20:04
@sprite.x = @x + x
是不太对 但不是累加 2个都是 从原始位置@x 加上移动距离x
原来x 坐标不会变啊...  ...

X上至少一直再动,而Y上每次会动的距离是不断增大的。
抛物线的图案就是先比较平然后越来越陡的。
也就是说,开始扔东西,可能觉得只是平着动,几秒后才会感觉明显的下落,后来会越掉越快……

点评

目前就是你的公式Y不会变小再变大  发表于 2012-6-21 20:42
全了 最后一个字是大 到=>大 错别字  发表于 2012-6-21 20:26
没有上抛运动啊..就是说 先越来越小直到0 然后越来越到  发表于 2012-6-21 20:19

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
10
 楼主| 发表于 2012-6-21 21:06:20 | 只看该作者
腐琴琴 发表于 2012-6-21 20:11
X上至少一直再动,而Y上每次会动的距离是不断增大的。
抛物线的图案就是先比较平然后越来越陡的。
也就是 ...

可以用的 感谢
可以把初速度算作物重来决定抛出去的距离和高度
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 20:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表