专栏/[KSP/kRPC] 文档翻译 - 教程与示例:参考系(Reference Frame)

[KSP/kRPC] 文档翻译 - 教程与示例:参考系(Reference Frame)

2024年01月18日 16:29--浏览 · --点赞 · --评论
尽逝die数
粉丝:18文章:4

    kRPC文档翻译的第二篇,目前并没有翻译全部文档的计划,即使有也不太可能实现。主要选择英语文本量较大以及个人觉得相对重要的部分翻译。代码部分只搬运了我个人比较的熟悉Python。

    原文网址链接 http://krpc.github.io/krpc/tutorials/reference-frames.html 。本文只针对英文文本进行翻译而无其他讲解说明。UP主 薛定谔的松鼠 已经做过了kRPC中参考系的细致讲解,具体请移步文章 CV9657892 查看。

序言

    kRPC 中的所有位置、方向、速度和旋转都是相对于某物体的,参考系定义了该物体是什么。

    参考系指定:

  • 原点的位置为 (0,0,0)

  • 坐标轴 x、y 和 z 的方向

  • 原点的线速度(如果参照系移动的话)

  • 坐标轴的角速度(坐标轴的旋转速度和方向)

    注:KSP和kRPC 都使用左手坐标系。

原点位置和轴线方向

    下面举例说明各种参考系的原点位置和坐标轴方向。

天体参考系

    调用 Kerbin CelestialBody.reference_frame 参考系有如下属性:

  • 原点位于 Kerbin 的中心

  • y 轴从 Kerbin 中心指向北极

  • x 轴从 Kerbin 中心指向本初子午线与赤道的交点(位于经度 0°、纬度 0°的地表位置)

  • z轴从Kerbin中心指向位于东经90°的赤道

  • 轴随行星旋转,即参照系的旋转/角速度与地球同步。

P1 天体参考系

    天体(例如Kerbin)的参考系。赤道用蓝色表示,本初子午线用红色表示。黑色箭头表示坐标轴,原点位于星球中心。

    这意味着该参照系相对于 Kerbin 是固定的--它随行星中心移动,也随行星自转。因此,该参照系中的位置是相对于行星中心的。下面的代码会打印出当前飞船在 Kerbin 参考系中的位置:

    对于位于发射台上的飞船来说,这个位置矢量的大小大约为 600,000 米(等于 Kerbin 的半径)。位置矢量也不会随时间而改变,因为飞船位于 Kerbin 的表面上,而参考系也会随着 Kerbin 的旋转而旋转。

飞船轨道参考系

P2 轨道参考系

    另一个例子是飞船的轨道参考系,通过调用 Vessel.orbital_reference_frame 使用。该参考系相对飞船固定(原点随飞船运动),参考系的的坐标轴指向飞船轨道的顺向,法向和径向(向内)。

  • 原点位于飞船的质量中心

  • y 轴指向飞船轨道顺向

  • x 轴指向飞船轨道径向向内

  • z 轴指向飞船轨道的法线方向

  • 坐标轴会随着顺向,法向和径向的变化而旋转,例如,当船只在轨道上继续运行时,顺向会发生变化。

  • 飞行器参考系

        另一个例子是 Vessel.reference_frame。与前一个例子一样,它固定在飞船上(原点随飞船移动),但坐标轴的方向不同。参考系跟随的是飞船的方向:

P3 飞行器参考系
  • 原点位于飞船质心

  • y 轴和飞船的朝向指向相同方向

  • x 轴指向飞船右方

  • z 轴指向飞船下方

  • 坐标轴指向随飞船的旋转而变化。

线速度与角速度

        参考系之间是相对移动和旋转的。例如,前面讨论过的参考系的原点位置都固定在某个物体(如飞行器或行星)上。这意味着它们的移动和旋转都是为了跟踪物体,因此具有与之相关的线速度和角速度。

        例如,通过调用 CelestialBody.reference_frameKerbin 获得的参考系相对于 Kerbin 是固定的。这意味着参考系的角速度与 Kerbin 的角速度相同,参考系的线速度与 Kerbin 当前的轨道速度一致。

    可用参考系

        kRPC 提供了如下的参考系:

    相对参考系和混合参考系也可以根据上述参照系构建。

    自定义参考系

        自定义参考系可以从上述内置参考系中提取。它们有两种类型: 相对 "和 "混合"。

        相对参考系由父参考系、固定位置偏移(offset)和固定旋转偏移构成。例如,通过对 Vessel.reference_frame 沿 z 轴应用 10 的位置偏移,可以构建一个原点位于飞船下方 10 米处的参考系,如下所示。相对参考系可以通过调用 ReferenceFrame.create_relative() 来构建。

        混合参考系从其他参考系的分量中继承其分量(位置、旋转、速度和角速度)。请注意,这些分量不一定是固定的。例如,可以构建一个位置为船只质心(继承自 Vessel.reference_frame )、旋转为所绕行星旋转(继承自 CelestialBody.reference_frame )的参考系。相对参考系可以通过调用 ReferenceFrame.create_relative() 来构建。

        自定义参考系的父参考系也可以是其他自定义参考系。例如,您、可以将上面的两个示例参考系结合起来:构建一个混合参考系,以船只为中心,并随所绕行星旋转,然后创建一个相对参考系,将该参考系的位置沿 Z 轴偏移 10 米。这样得到的参考系将以飞船下方 10 米处为原点,并随所绕行星旋转。

    参考系之间的转换

        kRPC 提供了在不同参照系之间转换位置、方向、旋转和速度的方法:

    可视化调试

        参考系可能会引起混淆,选择正确的参考系本身就是一项挑战。为了帮助调试,可以使用 kRPC 的绘图功能来可视化游戏中的方向向量。

        Drawing.add_direction_from_com() 可以绘制方向向量,该向量以当前飞船的质心为起点。例如,下面的代码会绘制当前飞船相对于所环绕天体表面的速度方向:

        注:客户端必须保持连接才能继续绘制,因此本例末尾出现了无限循环。

    示例

        以下示例展示了几个参考系的应用。

    导航球

        本例演示了如何使飞船指向导航球上的不同方向。

        程序调用了飞船地表参考系 Vessel.surface_reference_frame,如下图所示:

        第一部分指示自动驾驶仪指向飞船表面参考系中的方向 (0,1,0)(即沿 y 轴)。根据要求,参考框架的 y 轴指向北方。
        第二部分指示自动驾驶仪指向飞船表面参考系中的方向(1,0,0)(即沿 x 轴)。参考系的 x 轴按要求指向上方(远离行星)。
        最后,代码指示自动驾驶仪指向 (0,0,-1)(沿负 Z 轴)。参考系的 z 轴指向东方,因此所要求的方向指向西方。

    轨道方向

        本示例演示了如何使飞船在 "轨道 "模式下指向导航球上显示的各个轨道方向。调用 Vessel.orbital_reference_frame 。

        这段代码使用了飞船的轨道参考系,如图所示:

    地表顺向

        本例演示了如何获取相对于被绕行物体表面的飞船速度(矢量)。
        要做到这一点,需要混合参考系。这是因为我们需要一个以飞船为中心的参考系,但其相对于地面的线速度是固定的。
        因此,我们创建了一个混合参考系,其旋转设置为飞船的表面参考系( Vessel.surface_reference_frame ),而所有其他属性(包括位置和速度)则设置为天体的参考系( CelestialBody.reference_frame )--它与天体一起旋转。

    飞船速度

        此示例演示如何获取飞船相对于绕轨道运行的物体表面的速度(矢量)。 为此,需要混合参考系。 这是因为我们需要一个以飞船为中心的参考系,但其线速度相对于地面是固定的。 因此,我们创建一个混合参考系,其旋转设置为飞船的表面参考系(Vessel.surface_reference_frame),所有其他属性(包括位置和速度)设置为主体的参考系 (CelestialBody.reference_frame) – 随天体旋转

    攻角

        本例计算飞船指向的方向与飞船移动方向(相对于海面)之间的夹角:

        注意到,用于获取方向和速度矢量的参考系的方向并不重要,因为无论坐标轴的方向如何,两个矢量之间的夹角都是相同的。但是,如果我们使用一个随飞行器移动的参考系,速度将返回 (0,0,0)。因此,我们需要一个相对于飞行器不固定的参考系。CelestialBody.reference_frame  正好满足这些要求。

    着陆点

        本例计算的参考系位于给定高度的天体表面,可用作着陆自动驾驶仪的目标。


    投诉或建议

    玻璃钢生产厂家南京定制玻璃钢雕塑要多少钱娄底长沙玻璃钢雕塑定制制作淮南玻璃钢雕塑设计合肥城市玻璃钢雕塑销售电话鼎湖玻璃钢人物雕塑价格景观玻璃钢雕塑多少钱商场美陈管理工作玻璃钢红色文化雕塑露天商场美陈创意丽江市玻璃钢雕塑设计要多少钱吉林特色玻璃钢雕塑销售厂家蜗牛玻璃钢雕塑广东江门玻璃钢动物雕塑定制厂家供应品牌好的玻璃钢雕塑水泥直塑工程玻璃钢雕塑南京镜面玻璃钢雕塑来电咨询福州玻璃钢牛雕塑厂家海南玻璃钢雕塑设计及定制玻璃钢仿铜理发师雕塑张掖彩色玻璃钢雕塑制作台湾商场开业美陈透明的玻璃钢花盆加工玻璃钢卡通雕塑出厂价格长沙玻璃钢雕塑多少钱镇平玻璃钢雕塑厂家阜阳玻璃钢雕塑制作玻璃钢商场美陈椅商场的美陈点如何讲解成都商场美陈多少钱福建公园玻璃钢雕塑哪家便宜香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

    玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化