贴吧用户_0U43AyN
54魔塔新手
啥玩意啊,咋回事啊
关注数: 94
粉丝数: 97
发帖数: 8,648
关注贴吧数: 61
打开游戏后还在黑屏时直接弹出崩溃报告 问题发生的一些前提条件: 1.我是预购玩家,今天之前一直可以还算正常的联机和游玩,hr500+ 2.我使用UU加速器 3.我从来没有打过任何mod,任何框架,从来没有对游戏文件进行任何修改,纯绿玩 4.我使用笔记本,显卡rtx4080 问题发生的过程: 1.我今天打开游戏,想进入小队大厅,于是搜索大厅->按照小队搜索 2.由于网络问题,卡在搜索界面长达10分钟(图1),我不想再等,于是alt+tab切换到steam页面,使用steam结束了荒野的游戏进程 3.尝试重启游戏,启动游戏后,还在黑屏时,立刻弹出崩溃报告(图2),无法进入游戏。 在问题发生后,我尝试过以下办法,全部无效,仍然产生一模一样的崩溃: 1.重启 2.更新显卡驱动 3.删除shader.cache文件(由于黑屏时就崩溃,甚至无法生成新的shader.cache) 4.检查游戏完整性 5.替换回备份存档 我还尚未尝试重装整个游戏,不过如果这两天仍然无法解决问题,作为最后手段我会尝试重装整个游戏 最后是崩溃报告CrashReport.txt的最后几行: [Process Information] D:\SteamLibrary\steamapps\common\MonsterHunterWilds\MonsterHunterWilds.exe ExceptionPointer: 00000001541CD870 ExceptionRecord: ExceptionCode : C0000005 ExceptionFlags : 00000000 ExceptionAddress: 00007FFEB38F98CA Callstack's: Stack[0] : 0x00007ffeb38f98ca ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\sl.common.dll ) Stack[1] : 0x00007ffeb23c3c44 ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\sl.dlss_g.dll ) Stack[2] : 0x00007ffeb23c4533 ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\sl.dlss_g.dll ) Stack[3] : 0x00007ffeb23c83a4 ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\sl.dlss_g.dll ) Stack[4] : 0x00007ffebe6a7cd8 ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\sl.interposer.dll ) Stack[5] : 0x000000014024b379 ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\MonsterHunterWilds.exe ) Stack[6] : 0x0000000149e42112 ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\MonsterHunterWilds.exe ) Stack[7] : 0x00000001401da881 ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\MonsterHunterWilds.exe ) Stack[8] : 0x000000014aaf515e ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\MonsterHunterWilds.exe ) Stack[9] : 0x000000014ab19643 ( D:\SteamLibrary\steamapps\common\MonsterHunterWilds\MonsterHunterWilds.exe ) Stack[10] : 0x00007fff18967374 ( C:\WINDOWS\System32\KERNEL32.DLL ) Stack[11] : 0x00007fff18d3cc91 ( C:\WINDOWS\SYSTEM32\ntdll.dll ) Windows Last Error : 0x0000000000000000 Message : Exception Data SHA3 : QUiByT+wF59UWJxNZ40y/YzJ7MbIuw1UYywy56h3iIwQYYlQ0r8VSwTD7kzu0DpSkY/fdYxOOQQtUX+CJ2Axh6dPBHdrRa9BfDWjzb+atbMb5FQnvf1G/mVitH3TpEMultzWkjgs4yztUX+CJ2Axh6oPBHdrRaOq9c3DweINYZb
新巡回开局电路自动控制反应堆超载/起火原因分析,以及解决方案 使用电路控制自动反应堆的大家应该都注意到了,自从1.7.7.0版本(2024的12月冬季更新,github:Commit f6349b2)开始,在新巡回开始时,反应堆会嘟嘟嘟地过热几秒,并有可能伴随着电网超载,烧接线盒。 这都是因为在在那次更新中,作者添加了这么几行:(第254行:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fgithub.com%2FFakeFishGames%2FBarotrauma%2Fblob%2Fmaster%2FBarotrauma%2FBarotraumaShared%2FSharedSource%2FItems%2FComponents%2FMachines%2FReactor.cs%23L254&urlrefer=09730455dee6189e0cbdecf79ee54bcf) //rapidly adjust the reactor in the first few seconds of the round to prevent overvoltages if the load changed between rounds //(unless the reactor is being operated by a player) if (GameMain.GameSession is { RoundDuration: <5 } && lastUser is not { IsPlayer: true }) { UpdateAutoTemp(100.0f, (float)(Timing.Step * 10.0f)); } 这个翻译一下在新巡回开始的5秒内,如果没有玩家操纵反应堆,就用自动控制(UpdateAutoTemp,就是反应堆右上角自带的那个自动控制)的算法,以超快的速度(自动控制是2.0f,他这里是100.0f),以10倍时间步(Timing.Step * 10.0f)进行自动控制。 看起来挺美好是吧,帮你在巡回开始的时候超快地自动调整裂变速率和涡轮速率,使得你一开始没有断电问题。 但问题在于这个自动控制UpdateAutoTemp函数,想必用过自带自动控制的大家都知道这个自动控制有多烂,不单你燃料棒放多了它会抽搐,而且还可能过热。 我这里简单描述一下这个函数在干什么,如果想要更多细节直接看Reactor.cs里UpdateAutoTemp的定义。 首先涡轮控制部分使用的是让涡轮趋近于期望的涡轮值,调节方式为比例控制,而期望的涡轮值以最快20%/s的速度追赶负载。一句话总结在调整速度很快的时候它是匹配上负载的。 而裂变速率部分问题就大了,首先裂变速率的期望值竟然是(30+燃料热值-20)/2,你没看错,也就是说即使只放一根铀棒,它的期望值竟然是(10+80)/2=45,也就是说裂变速率会往这里调,而随着你燃料棒放的更多这个值会不断上涨,这搁哪都会过热。 但是你可能会问,在战役中如果只放一根铀棒打开自动控制好像也不会过热啊,你说的没错,这是因为UpdateAutoTemp中有两个判断阻止这种情况发生,第一个判断是温度超过5000度时,自动控制会立刻调低裂变速率(类似乒乓控制),所以你会看到温度在5000度附近反复横跳;第二个判断是把裂变速率变化率限制到小于5%/s。 然而你可能注意到盲点了,温度的最大变化速度是1000/s,而自动控制在(新巡回开始的5秒内)生效,也就是说无论如何第一个判断都不会发生,这将导致裂变速率自动控制5秒后直接跳到30左右,涡轮从温度堆固定的100调节到匹配功率,然后自动控制就撒手不管了,但是涡轮不是100且在上升,同时也导致温度还在上升,于是导致过热/电网超载。 蠢爆了。 但游戏还得玩,所以只能屎上雕花。 我的解决方案依靠microLua进行计算,所以我只说一下思路,原版电路的实现我没有做: 1.1比1复现UpdateAutoTemp函数,对前5秒的涡轮和裂变速率变化进行模拟,以得到5秒结束后涡轮和裂变速率 2.5秒结束后,先让涡轮匹配负载,别直接往上拉,卡住输出功率不让电网过载。 3.等到温度降低,回到期望值3%附近后,再开始转向温度堆控制模式,开始拉高涡轮输出。 在这种解决方案下,可以做到无超载,且在即使插了4雷素燃料棒情况下,过热10秒以内。过热本身没有影响,它的唯一影响是过热太久会起火/炸反应堆。 温度的最大变化速率是1000/s,而温度上限10000,温度6000度以上算过热,所以估算下过热一般不会超过8秒。 而官船里除了Berilia(起火7秒)Remora(起火8秒)之外,所有的船反应堆起火时间都在10秒及以上,所以不必担心。 如果无论如何还是担心,那可以少放燃料棒,在放1根雷素棒的情况下,过热时间不会超过5秒。
荒野联机问题:有不用加速器且不关闭跨平台联机的流畅联机办法吗 荒野吧没人理我,发到这里试试 楼主断断续续从发售玩到现在,主玩大剑,hr250多,玩过世界,玩过崛起,感觉这一作的网络最烂,烂到无以复加 在这一个月里,每次上线进入大厅都很正常,可以看到玩家也可以看到聊天,有时加入任务也可以正常游玩,但总是延迟很高,出现怪物瞬移或者卡住不动的情况,而且有时任务结束或者任务中会弹出S3087-0-0等的错误。 而且在任务结束后,虽然我依然在大厅里,仍然可以看到玩家也可以看到聊天,但是无法加入大厅内的任何任务,全部显示R35A6-0-0:3。等待几分钟到十几分钟后又恢复到开头的情形,如此循环往复。这使得我没法连贯地联机。这一个月我就硬顶着差不多1秒的延迟玩。 不想用加速器的原因是需要额外花钱,不关闭跨平台联机是因为有朋友开着。 当然我直到现在也没试过加速器,不知道是否管用,也想请教下吧友哪个加速器比较好用? 楼主平常使用Steamcommunity 302 Ver.13.0.02与梯子,这两个分别尝试都出现和上面叙述的一样的情况。 dns使用Google Public DNS (8.8.8.8, 8.8.4.4) 楼主也尝试过自救,以下是楼主试过但没有用的方法: 1.关闭隐私设置:参考BV1pqXkYAEi1 有一定效果,可以快速领取每日奖励和进入大厅,但仍然出现S3087-0-0等与R35A6-0-0:3错误。 2.禁用ipv6,已禁用,无效。 3.更改网络配置文件为“专用”,来源:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fgamewith.net%2Fmonster-hunter-wilds%2F49047&urlrefer=cd8b32b8be7f977537587490e18d858f 已更改,无效。 4.对monster hunter wilds打开网络防火墙:无效,从一开始就是打开的。 5.更改防火墙出站入站规则,打开4500与3074端口:参考BV1quZTYAExW 已更改,无效
联机网络问题:有不用加速器且不关闭跨平台联机的流畅联机办法吗 楼主断断续续从发售玩到现在,主玩大剑,hr250多,玩过世界,玩过崛起,感觉这一作的网络最烂,烂到无以复加 在这一个月里,每次上线进入大厅都很正常,可以看到玩家也可以看到聊天,有时加入任务也可以正常游玩,但总是延迟很高,出现怪物瞬移或者卡住不动的情况,而且有时任务结束或者任务中会弹出S3087-0-0等的错误。 而且在任务结束后,虽然我依然在大厅里,仍然可以看到玩家也可以看到聊天,但是无法加入大厅内的任何任务,全部显示R35A6-0-0:3。等待几分钟到十几分钟后又恢复到开头的情形,如此循环往复。这使得我没法连贯地联机。 不想用加速器的原因是需要额外花钱,不关闭跨平台联机是因为有朋友开着。 当然我直到现在也没试过加速器,不知道是否管用,也想请教下吧友哪个加速器比较好用? 楼主平常使用Steamcommunity 302 Ver.13.0.02与梯子,这两个分别尝试都出现和上面叙述的一样的情况。 dns使用Google Public DNS (8.8.8.8, 8.8.4.4) 楼主也尝试过自救,以下是楼主试过但没有用的方法: 1.关闭隐私设置:参考BV1pqXkYAEi1 有一定效果,可以快速领取每日奖励和进入大厅,但仍然出现S3087-0-0等与R35A6-0-0:3错误。 2.禁用ipv6,已禁用,无效。 3.更改网络配置文件为“专用”,来源:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fgamewith.net%2Fmonster-hunter-wilds%2F49047&urlrefer=cd8b32b8be7f977537587490e18d858f 已更改,无效。 4.对monster hunter wilds打开网络防火墙:无效,从一开始就是打开的。 5.更改防火墙出站入站规则,打开4500与3074端口:参考BV1quZTYAExW 已更改,无效
人形自走核弹:更多遗物(AOCS)与Enhanced Armaments的奇妙互动 众所周知,AOCS添加了一堆有各种好玩功能的异星饰品和无鼻者小丑的小玩意,在这些饰品中,值得注意的有两个东西:异星图形:不会被消耗,可以被扔出或者放入雷管中引爆,扔出碰撞后着火,并在处于火中一段时间后爆炸,放入雷管中引爆的话,威力堪比核弹。蓝色玩意:无鼻者小丑的小玩意,携带时免疫基本所有伤害,但是携带10秒后会对携带者施加麻痹状态,直接倒地。 重点来了:蓝色玩意施加的麻痹状态可以被麻痹治愈剂施加的麻痹抗性所免疫,这意味着打一针麻痹治愈剂可以安全地携带蓝色玩意160秒,这个时间可以被内用辅液的缓慢代谢或者安全官天赋延长,同时免疫伤害效果还生效。 而Enhanced Armaments的扩展Enhanced Armaments Fuel for the Fire Expansion加入了一种武器Formal Complaint,这东西就是个爆破锤,近战攻击打到东西的时候会像雷管一样引爆里面放的爆炸物。而且异星图形算爆炸物,可以放到这个里面。如果我们把异星图形放到Formal Complaint里带上,同时给自己一针麻痹治愈剂,并带上蓝色玩意,通过登船艇降落到敌舰上,会发生什么呢? 答案是人形自走核弹,请看vcr没有Enhanced Armaments Fuel for the Fire Expansion也可以多带几个雷管上去当人形自走核弹
关于无玩家无bot自动巡回的问题 我想纯用lua和电路实现让船实现自动巡回,没有bot也没有玩家进行控制,具体就是起始点和终点确定(起始点设置为巡回开始处,终点设置为巡回结束处附近),然后让船自动寻路,绕开关卡中随机生成的墙壁到达终点(一开始不知道墙壁如何生成)。 我的想法是引擎推力和泵速度都可以用卡尔曼滤波得到近似值,然后用整定过的pid作为路径跟踪。现在的问题是怎么在一开始不知道墙体分布的情况下怎么生成一条比较近的路径?我没学过多少算法,按照我粗浅的想法,只能用传感器探测墙壁,然后一边构造凸多边形更新地图一边用类似电子鼠比赛用的那种泛洪算法寻路。 那具体应该如何实现在提前不知道墙壁分布情况下的寻路部分?或者说有没有实现过自动巡回的潜艇?我想好奇是怎么实现的
官船女武神Herja“合理”改装 这里的“合理”指的是只用战役里可进行的改线操作与microLua进行改造,理论上你可以在战役里把官船女武神改成这个样子。 看到新出的登船仓忍不住想换个带深水炸弹发射器的潜艇玩,而且最近沉迷于改官船,于是小改了一下官船女武神。 工坊链接: http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fsteamcommunity.com%2Fsharedfiles%2Ffiledetails%2F%3Fid%3D3355495316&urlrefer=7f9c2ce5868bb44fa493fa9539d313ec
反应堆全解与最优控制 刚刚忘了写摘要,现在补上重发,如果觉得图片不够清晰,可下载pdf: http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fpan.baidu.com%2Fs%2F1QgnFc3o9JZRueUN66wQ2IA%3Fpwd%3Dbxx3&urlrefer=6a40504cf1adac7eecbafc7151e1a3fd 两个创意工坊链接: http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fsteamcommunity.com%2Fsharedfiles%2Ffiledetails%2F%3Fid%3D3345381549&urlrefer=32145cd2321eea166ec7260853dd19b6 http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fsteamcommunity.com%2Fsharedfiles%2Ffiledetails%2F%3Fid%3D3345842634&urlrefer=e9a440ff40f9750d72eb6bd7c3eaa42e
使用microLua单组件双模自动反应堆 我又来做自动反应堆了,这回还是自我设限为普通船的反应堆,不玩数值怪玩法,力图用控制论解决问题,可战役内改装。 我在用Pontryagin最大化原理尝试得到反应堆滑条这个动力系统的对于线性变化目标的最优控制时,最后算出来的式子有些复杂,不仅包含差分还包含对数。而可惜的是潜渊症那和部件放置顺序有关的电路运行顺序让我难以得到稳定的差分电路,以及孱弱的运算元件让我没法写下数学表达式,遂只能转战microLua,用lua这个脚本语言进行计算和信号处理。 于是就有了现在的这个使用microLua控制的单组件双模自动反应堆,写一下玩一玩。 创意工坊发布页:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fsteamcommunity.com%2Fsharedfiles%2Ffiledetails%2F%3Fid%3D3345381549&urlrefer=32145cd2321eea166ec7260853dd19b6 优点: 1.只需一个microLua组件,一个开关和5条线,兼容反应堆升级,战役内随时随地可改装,燃料棒想插多少插多少(除了单铀棒)。 2.可手动开关的双模式反应堆,温度堆模式(20%/s)变化快,节能模式(5%/s)燃料消耗慢,且模式切换时反应堆温度几乎不变。负载不一定需要接入反应堆负载输出,如果需要,可自行输入设置(比如2倍电压超载和主动电池稳压)。 3.使用Pontryagin最大化原理得到的针对线性变化负载的理论上最优控制,开环控制,实际使用中调整速度可能是最快的,几乎无过冲,且在负载变化速度够小时(温度堆模式<20%/s,节能模式<5%/s)可几乎完美匹配负载。 缺点: 1.需要安装microLua 2.未对反应堆关机后重启时进行处理,可能会过热几秒 3.未做单铀棒适配,因为我不咋用单铀棒 下面是一些图片 温度堆模式负载与功率节能模式负载与功率microLua接线总览使用方法: 1.安装microLua、Cs For Barotrauma、Lua For Barotrauma 2.将最下方的lua代码复制下来,改变第一行的reactorMaxOutput的值为你要控制的反应堆的功率(如果有升级用升级后的) 3.放置一个microLua,改好的代码复制到你的microLua组件的source内 4.如图接线:microLua的输入1接到反应堆负载输出或者你想要设置的负载值,输入2接到反应堆燃料输出,输入3接到一个开关(输入1时切换到节能模式),输出1接到设置裂变速率,输出1接到设置涡轮输出 5.完成! microLua内的代码: local reactorMaxOutput = 10000 --反应堆功率,如有升级变更可更改 local turbineFixed = 100 --温度堆模式下固定的涡轮输出,如果用不到反应堆满输出可降低此值以减少温度堆模式下燃料消耗 local scrollbarSpeed = 5 local eps = 0.00000001 local magicPara = 0.96 local lastLoad = 0 local interiorFissionRate = 0 local targetFissionRate = 0 local interiorTurbine = 0 local targetTurbine = 0 local reacotrMode = 0 local function clamp(x, min, max) if x < min then return min end if x > max then return max end return x end local function sign(x) if x < 0 then return -1 end if x > 0 then return 1 end return 0 end local function getStaticFissionRate(turbine, temperature, fuelHeat) return (turbine+temperature)*50/fuelHeat end inp = {} function upd(deltaTime) local load=clamp(inp[1]/reactorMaxOutput, 0, 1) local heat=inp[2] reacotrMode = inp[3] local Dload=(load-lastLoad)/deltaTime local staticFissionRate=getStaticFissionRate(interiorTurbine,50*load,heat) local DFissionRate=clamp(getStaticFissionRate(targetTurbine-interiorTurbine,50*Dload,heat),-(scrollbarSpeed-eps),(scrollbarSpeed-eps)) local fissionRateSign=sign(DFissionRate+interiorFissionRate-targetFissionRate) local signalFissionRate = staticFissionRate+DFissionRate-magicPara*(scrollbarSpeed*fissionRateSign-DFissionRate)*math.log((targetFissionRate-interiorFissionRate-fissionRateSign*scrollbarSpeed)/(DFissionRate-fissionRateSign*scrollbarSpeed)) signalFissionRate = clamp(targetFissionRate+0.5*(1+scrollbarSpeed/clamp(math.abs(interiorFissionRate-targetFissionRate),0.2,scrollbarSpeed))*(signalFissionRate-targetFissionRate),0,100) local signalTurbine = turbineFixed if reacotrMode==1 then local staticTurbine=100*load local DTurbine=clamp(100*Dload,-(scrollbarSpeed-eps),(scrollbarSpeed-eps)) local turbineSign=sign(DTurbine+interiorTurbine-targetTurbine) signalTurbine = staticTurbine+DTurbine-magicPara*(scrollbarSpeed*turbineSign-DTurbine)*math.log((targetTurbine-interiorTurbine-turbineSign*scrollbarSpeed)/(DTurbine-turbineSign*scrollbarSpeed)) signalTurbine = clamp(targetTurbine+0.5*(1+scrollbarSpeed/clamp(math.abs(interiorTurbine-targetTurbine),0.2,scrollbarSpeed))*(signalTurbine-targetTurbine),0,100) end targetFissionRate=targetFissionRate+clamp(signalFissionRate-targetFissionRate,-scrollbarSpeed*deltaTime,scrollbarSpeed*deltaTime) interiorFissionRate=interiorFissionRate+(targetFissionRate-interiorFissionRate)*deltaTime targetTurbine=targetTurbine+clamp(signalTurbine-targetTurbine,-scrollbarSpeed*deltaTime,scrollbarSpeed*deltaTime) interiorTurbine=interiorTurbine+(targetTurbine-interiorTurbine)*deltaTime lastLoad=load out[1] = signalFissionRate out[2] = signalTurbine table.clear(inp) end
吧友们觉得不主动看周本动画是否属于冒犯人的行为? 众所周知,在某些周本有开场动画,而如果你刚进去不动是不会触发开场动画的,前几个走进战斗区域的人会被掰着头硬看过场动画无法行动,而判定看动画那段还没进入战斗区域的人在这动画期间可以自由行动。平常我没事干的时候喜欢去匹配低等级周本在萌新那刷刷存在感,今天打了个80级散兵周本,房主是个冒险45级的人,剩下我们3人刚开始的时候都不愿意触发动画,卡在战斗区域的边上,等房主动,我的考虑是我比他等级高点应该数值也可能比他高点,让它触发动画的时候我能做些准备打点伤害比他自己去打可能高些,结果这位房主直接开骂,一开始我还没明白他在骂啥,后来出来和他说了两句话才想明白,如下是聊天记录,他踢我踢得有点快所以我没截全,后来就是我跟他聊了两句知道为啥骂,看了看房主的名片,还挺厉害45级就能过12-3了。那么吧友们觉得,不去主动触发周本动画是否是一种非常冒犯的行为?
对吧里温度反应堆的改进 具体改进方法是加了一项微分项,以加强反应堆的跟随性能,依然是开环控制。 创意工坊链接:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fsteamcommunity.com%2Fsharedfiles%2Ffiledetails%2F%3Fid%3D2907666134&urlrefer=c140b9b12c0094899ec8e9ea14a1c658 具体效果使用0.08Hz,功率2000~8000kw的正弦波测试,反应堆统一使用4雷素棒,最大功率10000kw。上图为吧里原本的温度反应堆,可见功率对负载稍有滞后上图为我的改版,相比之下跟随性能较好 参考帖子:https://tieba.baidu.com/p/8085855650 https://tieba.baidu.com/p/8071328802
萌新的300瓶七色黑盒,以及制作过程中的一些疑问 蓝图镇楼
【c++写轨道计算器】源码放到github上了 http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fgithub.com%2F1465114862%2F-&urlrefer=c83003a0eed1f386f5058d56589fdf13 使用IDE:Qt Creator 编译器:Qt_5_11_2_MinGW_32bit 这个版本就是个bug。。。 删节点崩溃,有时重绘制崩溃,滑条数值有问题。。。 所以放代码上来只是交流,希望指出我写程序中的错误,毕竟我才刚学不到俩月。 大概效果:对于程序实现和源码不明白的可以问,看到的话并且明白的话会回答的。
【C++写多体】L1点Halo轨道 行星数据来源:GameData\Principia\real_solar_system\gravity_model.cfg 运动初始数据来源:游戏内,共考虑33颗星体,以及J2项 使用IDE:Clion ,Qt Creator(主要使用Qt和OpenGL) 解方程算法自己写的,2000步方程大约0.05到0.1s。 使用算法增量辛分区四届龙格库塔法。 用三次条样函数内插得解函数。 我是个大一学生,最近上计算概论课,第一节课就留了期末大作业,于是我就想交个这个东西上去,刚刚学编程,还有很多不熟悉的地方,这是个半成品,以后还会优化,反正到期末还有好几个月。
【Principia】利用异宿轨道的节能日地L1L2点转移 这个轨道的理论涉及常微分方程比较高深的内容,我也不太明白,只能以一己之见简单介绍一下。 异宿轨道指的是微分方程组系统的哈密顿函数连接两个鞍点附近的轨道,而圆形限制性三体问题中日地L1L2点正是两个鞍点,这两个鞍点附近都有拟周期的晕轨道,这两种晕轨道都不稳定,微小的扰动可以导致很大偏离,所以可以用这个特性转移至L2点附近,而且一般来说这两种晕轨道能量还比较相近,所以就可以直接用很小的能量修正轨道,进入L2点附近晕轨道。 我的轨道是从日地L1点转移至日地L2点,共三次机动原轨道以及第一次变轨规划第一次变轨完成第二次变轨规划第二次变轨完成第三次变轨规划第三次变轨完成,进入日地L2点所使用卫星,随手捏的测试用的各种参数没有任何参考,完全瞎捏 总使用ΔV=(0.302+0.106+0.193)m/s=0.601m/s,可以说算很少了,卫星放个p就行,为了让这个p放的精确rcs节流阀开到了0.5
关于principia这个mod 手动调了很久调出来一个比较像的双月旁轨道,但是在从月球边上飞掠两次后就很严重地偏离白道面了 各位是怎么保持卫星在白道面内的,还是principia可以拟真白道面变化或者是因为其他的摄动力影响? principia这个mod什么都不显示,手调的好痛苦
1
下一页