小爷要修仙之相对论

光速是唯一的相对速度和绝对速度都是同一值的速度。

唯一的罪魁祸首是光速是有限的,这个物理世界上一切都是有限的。

因为有无限的,相当于带进去了另一个域,就很难符合逻辑了。

这个世界上,速度是有限的,当你逼近光速,空间会变化(不是正常的空间了),当然这个速度是相对速度,你向手电筒反方向跑,光那边看你,空间会压缩,也就是说,光以光速行驶的话,达到了光速,没空间没时间,那可以理解为光不存在这个世界上。

如果真有这种光,那么我以接近光速去追,仍然以光速远离我。因为空间不一样了,越接近光速,跑得越快,因此在未来,赛跑仍是有效的。

即便在地表的人看我俩位置是相对静止的,依然以光速远离我。因为时间已经不一样了,天上方一日,地上已千年。

因为光速是不变的,意味着你到达光速的一刹那,就到达了时间的终点。同时质量接近无穷,体积变成一个极点。但是加速你的能量也接近无穷,所以你到不了。

所以这个世界上是存在无穷的,只不过你到不了,用不了。

对方都会认为对方是极速的,对方在神仙境,对方变成动作缓慢的了。

广义相对论

简单地说,广义相对论的两个基本原理是:

一,等效原理:惯性力场与引力场的动力学效应是局部不可分辨的  

二,广义相对性原理:所有的物理定律在任何参考系中都取相同的形式。这就是广义相对性原理。

这一理论首次把引力场解释成时空的弯曲

狭义相对论

狭义相对性原理

一切物理定律(除引力外的力学定律、电磁学定律以及其他相互作用的动力学定律)在所有惯性系中均有效;或者说,一切物理定律(除引力外)的方程式在洛伦兹变换下保持形式不变。不同时间进行的实验给出了同样的物理定律,这正是相对性原理的实验基础。

光速不变原理

真空中总是以确定的速度c传播,速度的大小同光源的运动状态无关。在真空中的各个方向上,光信号传播速度(即单向光速)的大小均相同(即光速各向同性);光速同光源的运动状态和观察者所处的惯性系无关。这个原理同经典力学不相容。有了这个原理,才能够准确地定义不同地点的同时性

狭义相对论的时空背景是平直的四维时空,而广义相对论则适用于任意伪黎曼空间,它的时空背景是弯曲的黎曼时空。

光速不变,不变就是不变

伽利略变换与洛伦兹变换

伽利略变换假设时间和空间是绝对的。

以下为伽利略变换的数学表达式,其中(x,y,z,t)和(x′,y′,z′,t′)分别为同一个事件在两个坐标系S和S'中的坐标(四维时空的坐标)。两个坐标系以相对均速运行(速度v,也不管通向还是反向,反正是矢量),运行方向为xx′,原点在时间为t=t'=0时重合(这是举了一个例子)。 

x'=x-vt;

z'=z;

t'=t。

最后一条方程式意味着时间是不受观测者的相对运动影响的。

什么意思呢,就是最简单的坐标变换,我觉得做游戏可能也会遇到,假如两个坐标系A 和 B,那么A中某点的坐标转换为B中的就是 PB = PA-BA,其中BA是B源点在A坐标系中的位置,你稍微假设一下就很明显了。

关于速度的变换,也是一样的,相对于坐标系A的速度转换为相对于坐标系B的速度,VB=VA-VBA,VBA是B源点在A坐标系中的速度,设想最简单的X轴就可以了。

洛伦兹变换

要在 Visual Studio 中使用 ADB API(例如在 C++ 项目中),你需要完成以下几个步骤: 1. **安装必要的库**:确保已经安装了 Python 和相关的 Python ADB 库,比如 uiautomator2。你可以通过官网或包管理器(如 pip)来安装。 ```sh pip install uiautomator2 ``` 2. **添加头文件**:将提供的 .h 文件(头文件)复制到你的 C++ 项目的 include 目录下,以便在代码中引用它们。 3. **链接动态库**:如果 ADB API 是用 C++ 编写的,并且有相应的 DLL 文件,你需要将其添加到你的项目的 lib 目录,并确保编译器能找到这个库。在 Visual Studio 中,右键点击项目 -> 属性 -> 链接器 -> 输入 -> 添加目录,指向包含 ADB DLL 的路径。 4. **API集成**:在 C++ 代码中,你可以像导入其他 C++ 库一样引入 ADB API 的头文件,然后编写调用 ADB 函数的代码。例如,如果你有一个名为 `adb.h` 的头文件,可以用 `#include "adb.h"` 引入。 示例代码片段: ```cpp #include <iostream> #include "adb.h" int main() { auto device = uiautomator2::Device("your_device_id"); try { device.press("back"); } catch (const std::runtime_error& e) { std::cerr << "Error: " << e.what() << std::endl; } return 0; } ``` 这里假设 `uiautomator2` 已经实现了你需要的 ADB 功能。 5. **配置调试**:在 Visual Studio 中设置调试选项,确保可以在运行时通过命令行访问 ADB。 6. **编译连接**:最后,编译并运行你的项目,测试 ADB API 是否能正常工作。 **相关问题--:** 1. 如何在C++中处理ADB API可能出现的异常? 2. 如果DLL找不到怎么办? 3. 怎样确保我的Visual Studio环境能够正确地使用Python的ADB库?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值