本帖最后由 24K的帅 于 2020-5-13 10:31 编辑
来自群组: The Minecraft Lover
首先上效果图
也许思路不唯一,我实现的方法仅代表个人的思路。如果有其他的方法欢迎交流

也许思路不唯一,我实现的方法仅代表个人的思路。如果有其他的方法欢迎交流
(注:取g=16格/gt2)
我们先来看看我尝试过的几种不同思路,也许是有出口的,只是本人确实很久没碰mc可能比较菜没想到要怎么实现就放弃了
【PlanA】纯粹使用动力学
我们知道,单摆运动是由拉力和重力提供合外力,重力mc本身就有,而拉力该怎么实现是很麻烦的。所以我想到很难制造一个类似于拉力的力就放弃了这种方法
【PlanB】运用能量守恒
运用能量守恒可以轻松计算出在任意一个位置的速度大小,但是要命的是我发现似乎没有办法得到速度的方向,我唯一想到的得到速度方向的方法是反三角函数,但是由于我实在想不到要怎么计算,于是也放弃了
【PlanC】运用角速度
这是我最后想到的实现方法,我个人认为实现起来会比较简单。首先我们可以通过计算得到在任意一个位置的速度,那么用这个速度除以一个固定的R就能够得到这个位置的角速度。那么就能够计算出下一gt摆线将会偏移当前位置的角度。从而达到想要的效果,大致算法思路如下:
1.生成两个markerAEC 一个tag=O另一个tag=P 并且将P高频tp至O的视线正前方R格处
2.用exe store获取两个marker的Y 做减法得到h
3.用能量守恒计算出每个位置的v
4.用v/R得到每个位置的w
5.用exe store获取O的rotation,并通过+/- w实现O的视角的偏移达到效果,最终的效果为P以O为圆心做单摆运动
思路应该不止一种,欢迎交流~
来自群组: The Minecraft Lover
不明觉厉
话说你这个完全是用指令方块做的吗

话说你这个完全是用指令方块做的吗
goodmingzi 发表于 2020-5-13 10:37
不明觉厉
话说你这个完全是用指令方块做的吗
是完全用命令的
好&复杂啊,(但是还挺好看的
24K的帅 发表于 2020-5-13 10:52
是完全用命令的
指令红石渣膜拜大佬
数学库可以算反三角呀awa (优化后执行量50条都不到了)
感觉可以拿这个玩意荡秋千了
感觉可以拿这个玩意荡秋千了
VCS-Official 发表于 2020-5-13 17:24
数学库可以算反三角呀awa (优化后执行量50条都不到了)
感觉可以拿这个玩意荡秋千了 ...
啊这。我火星了,我以为数学库没有反三角(羞愧)
牛顿摆的感觉
谢谢,受教了