地球自转速度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了地球自转速度相关的知识,希望对你有一定的参考价值。

参考技术A 地球自转的平均角速度为 4.167*10-3度/秒,在地球赤道上的自转线速度为465米/秒.

地球自转一周耗时23小时56分,但是近年来地球自转周期在缓慢增加(即转速缓慢减小),导致需要对全球计时器进行调整。

极移是地球的自转轴在地球表面横越的运动,这是将地球视为在一个固定不变的参考座标系(所谓的地球中心、地心地固坐标系(ECEF))下所做的测量,这种变动只有几米.

极移的原因主要有两种,一种是地轴对于惯性轴偏离的结果,周期大约为14个月.另一种是大气季节性运行导致,其周期为一年.还有其他一些次要的原因,极移的振幅一般不超过15米.

极移的结果使地球上的纬度和经度发生变化.

岁差是地球的自转轴相对于恒星空间的进动.分点的位置,相对于在天球上固定不动的恒星,沿着黄道每年向西移动.

通常,每年的移动量是50.29",即每71.6年移动1°.这个过程虽然缓慢但会逐年累加起来,完整的岁差圈要经历25,765年(称为柏拉图年),分点在黄道上退行一周360°.

如何在IOS中制作月亮绕地球自转同时自转的CAAnimation效果?

【中文标题】如何在IOS中制作月亮绕地球自转同时自转的CAAnimation效果?【英文标题】:How to create a CAAnimation effect like moon rotates around the earth and rotates by itself at the same time in IOS? 【发布时间】:2015-02-08 22:03:48 【问题描述】:

我知道在IOS中制作月亮绕地球转的效果很简单。假设月球是一个 CALayer 对象,只需将该对象的 anchorPoint 更改为地球,它就会动画围绕地球旋转。但是如何创造同时自转的月亮呢?由于月亮只能有一个锚点,看来我不能再让这个CALayer对象自己旋转了。你们有什么感想?谢谢。

【问题讨论】:

【参考方案1】:

使用两层。

一个是从地球到月球的无形“手臂”。它围绕其锚点(地球中心)进行旋转变换。这会导致位于“手臂”末端的月球围绕地球旋转。

另一个是月亮。它是“手臂”的一个子层,位于手臂末端。如果您希望它独立旋转,请将其围绕锚点旋转,该锚点是它自己的中心。

(但是请注意,真正的月亮不会这样做。对于真正的月亮,“手臂”就足够了,因为真正的月亮与它自己围绕地球的公转同步旋转 - 所以我们总是看到月亮的同一张脸。)

【讨论】:

【参考方案2】:

您可以通过沿贝塞尔路径为“月亮”设置动画,同时为旋转变换设置动画,使“月亮”围绕一个点旋转。这是一个简单的例子,

@interface ViewController ()
@property (strong,nonatomic) UIButton *moon;
@property (strong,nonatomic) UIBezierPath *circlePath;
@end

@implementation ViewController

-(void)viewDidLoad 
    self.moon = [UIButton buttonWithType:UIButtonTypeInfoDark];
    [self.moon addTarget:self action:@selector(clickedCircleButton:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:self.moon];


- (void)viewDidAppear:(BOOL)animated 
    [super viewDidAppear:animated];
    CGRect circleRect = CGRectMake(60,100,200,200);
     self.circlePath = [UIBezierPath bezierPathWithOvalInRect:circleRect];
     self.moon.center = CGPointMake(circleRect.origin.x + circleRect.size.width, circleRect.origin.y + circleRect.size.height/2.0);


- (void)clickedCircleButton:(UIButton *)sender 

    CAKeyframeAnimation *orbit = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    orbit.path = self.circlePath.CGPath;
    orbit.calculationMode = kCAAnimationPaced;
    orbit.duration = 4.0;
    orbit.repeatCount = CGFLOAT_MAX;
    [self.moon.layer addAnimation:orbit forKey:@"circleAnimation"];

    CABasicAnimation *fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    fullRotation.fromValue = 0;
    fullRotation.byValue   = @(2.0*M_PI);
    fullRotation.duration = 4.0;
    fullRotation.repeatCount = CGFLOAT_MAX;
    [self.moon.layer addAnimation:fullRotation forKey:@"Rotate"];

这些特定值将导致“月亮”像地球的月亮一样保持朝向中心的同一面。

【讨论】:

智能解决方案。谢谢! 没有CABasicAnimation可以做到吗?

以上是关于地球自转速度的主要内容,如果未能解决你的问题,请参考以下文章

Unix/Linux系统时间函数API

地球,再一次完成了绝妙的自转 ......

地球的自转

科氏力与地球自转产生的惯性离心力差别

运动学基于matlab GUI地球自转模拟含Matlab源码 1115期

大海扬波,靠地球自转潮汐和飓风