• 注册
  • 理论物理 理论物理 关注:962 内容:77

    曲率飞船的基本原理

  • 查看作者
  • 打赏作者
  • 当前位置: 博科园 > 物理学 > 理论物理 > 正文
    • 11
    • Lv.35火星
      博科园VIP6
      9周年🎂
    • 博科园AI人工智能助手 图灵
      [ AI在线 ]
      __
    •        原理说起来也不难,就是让飞船在它的前方制造一个收缩的时空。譬如通过极高的能量密度,让飞船前方的时空收缩,再用一定手段让飞船后方的时空膨胀。这样的话,飞船就置身于一 个前方收缩、后方膨胀的时空区域当中。这样,整个飞船以及它周围的时空,都会因为前方的收缩和后方的膨胀而往前挪动一个位置,这种飞船就叫曲率飞船。这里要注意,飞船相对于它的空间并未发生移动,而是飞船连同周围的空间整体向前挪动了一些。原则上,只要能量足够大,飞船的整体运动速度就可以无限制地提升,然而因为飞船相对于自己周围的空间并没有运动,因此完全不违背狭义相对论。这个过程就好像我有一块橡皮泥, 上面有一只蜗牛,我可以把蜗牛前方的橡皮泥挤压一些, 后方的橡皮泥拉伸一些,这样蜗牛连同它周围的橡皮泥都被往前移动了一些,但是蜗牛相对于自己下方的橡皮泥根本没有运动。

             你如果注意观察就会发现,很多科幻电影里面考虑得还是非常到位的。飞船在正常飞行的时候,比方遭遇了一些太空战的飞行场景,这些飞船里的人员都会晃来晃去,因为飞船在不断改变航向。但是一旦用上曲率加速,飞船里的人站得反而很稳,他们瞬移的时候,完全不会因为飞船的加速减速而前后摇摆,这恰恰是曲率飞船的好处,因为对于飞船来说,尽管它的坐标发生了改变,但是实际上并没有运动。曲率飞船的基本原理

      墨研每日科普:老王

    • 生成海报
    • Lv.8仄米空洞
      靓号:1956
      9周年🎂
      总有一天,真理会取胜,即使真理在他一生中未能得到胜利,为了坚持真理也会使他变得更好,更加聪明——赫胥黎
      回复
      Lv.22噬菌体
      莱布尼茨
      但首先需要曲速引擎
      回复
      Lv.22噬菌体
      莱布尼茨
      打赏了3金币
      回复
      Lv.30恐龙
      飞越地球
      [s-70]
      回复
      Lv.44猫眼星云
      飞越太阳系
      前方收缩、后方膨胀的时空区域~
      [s-7]
      回复
      Lv.44猫眼星云
      飞越太阳系
      赠送了礼物[棒棒糖]#include<iostream>
#include<iomanip>
#include<cstdlib>

using namespace std;

int search(int data[120], int val)
{

	int low=0, mid, high=119;
	cout << "正在查找......" << endl;
	while (low <= high && val != -1)
	{
		mid = (low + high) / 2;
		if (val < data[mid])
			high = mid - 1;
		else if (val > data[mid])
			low = mid + 1;
		else
			return mid;
	}
	return -1;
}

void erfen()
{
	int num, val = 1,gs, data[100000] = { 0 };
	cout << "请输入你想要生成的个数[100,100000]: " << endl;
	cin >> gs;
	if (gs < 100 || gs>100000)
	{
		cout << "输入错误,请重新输入:" << endl;
		erfen();//想要回到的函数
	}
	else
	{
		for (int i = 0; i < gs; i++)
		{
			data[i] = val;
			val += (rand() % 5 + 1);//rand()随机生成伪随机数,然后对5取余+1;
		}
		while (1)
		{
			num = 0;
			cout << "请输入你要查找的值,输入-1则退出程序:";
			cin >> val;
			if (val == -1)
				break;
			num = search(data, val);
			if (num == -1)
				cout << "没有找到" << setw(3) << val << "!" << endl;
			else
				cout << "在第" << setw(2) << num + 1 << "个位置找到<<" << setw(3) << data[num] << " " << endl;
		}
		cout << "所有数据为: " << endl;
		for (int i = 0; i <  ceil(gs / 10)+1; i++)
		{
			for (int j = 0; j < 10; j++)
				if (data[i * 10 + j] != 0)
				{
					cout << data[i * 10 + j] << setw(5);
				}
				else
					break;
			cout << endl;
		}
		cout << endl;
	}
}

int main(void)
{
	erfen();
	return 0;
}用C++来写一个函数来计算这段代码查找成功时的平均长度
      回复
      Lv.36天狼星B
      博科园VIP7
      飞越地球
      写的非常好,点赞支持
      回复
      Lv.36天狼星B
      博科园VIP7
      飞越地球
      打赏了3金币
      回复
      Lv.36天狼星B
      博科园VIP7
      飞越地球
      赠送了礼物[棒棒糖]你好,我是一位男生
      回复
      Lv.44猫眼星云
      飞越太阳系
      赠送了礼物[棒棒糖]冬至日木星合伴月
      回复

      请登录之后再进行评论

      登录

      赞助商

    • 相互支持,合作共赢 Win-Win Cooperation

      邀请好友加入【博科园】有奖励啦♪

    • 任务
    • 偏好设置(换皮肤)
    • 到底部
    • 帖子间隔 侧栏位置:
      关闭窗口
      下载海报