Python 求环行带的曲率

Python 求环行带的曲率,python,math,Python,Math,所以这是一个超级随机的问题,可能会从一大堆截图中受益 我试图找出一个函数的公式,这个函数可以生成一个值,这个值决定了一条环行于一个圆形皮带轮上的连接带的曲率。本质上,想象一条由N个样本组成的直线,该直线在圆曲率周围的某个点弯曲。这条线上围绕圆弧的点之间的角度将小于180度,而所有其他点将形成一条直线。我相信(但目前无法证明)这个问题可以分解为某种定义良好的函数,但目前我不太确定如何分解 下面是一些截图,展示了我想弄明白的东西。蓝色方块(和线)显示一组沿平面线的数据点,该平面线可以在二维中弯曲。绿

所以这是一个超级随机的问题,可能会从一大堆截图中受益

我试图找出一个函数的公式,这个函数可以生成一个值,这个值决定了一条环行于一个圆形皮带轮上的连接带的曲率。本质上,想象一条由N个样本组成的直线,该直线在圆曲率周围的某个点弯曲。这条线上围绕圆弧的点之间的角度将小于180度,而所有其他点将形成一条直线。我相信(但目前无法证明)这个问题可以分解为某种定义良好的函数,但目前我不太确定如何分解

下面是一些截图,展示了我想弄明白的东西。蓝色方块(和线)显示一组沿平面线的数据点,该平面线可以在二维中弯曲。绿色方块(和线)显示蓝色方块的每个点和紧邻点之间的有效角度

我想做的是找出一个生成绿色曲线的函数,如屏幕截图所示。绿色曲线似乎仅基于两个因素:1)沿蓝线的样本(或正方形)密度,以及折弯本身的开始和停止位置(两者之间的距离基本上决定曲率半径)

截图#1:蓝线弯曲180度

截图#2:蓝线被修改为仅弯曲45度。请注意,绿色图形的轮廓基本相同-只有振幅发生了变化。这让我相信这个问题本质上与蓝色正方形弯曲的曲率半径无关

屏幕截图#3:返回到180度弯板,但这次弯板的开始/结束位置已增加。绿色图形因此显著加宽,可能是因为蓝色样本之间的角度显著减小

屏幕截图#4:折弯的开始/结束位置已合并在一起,创建了一个较小的折弯。请注意绿色图形是如何变为尖峰的

截图#5:这与#1相同,但我增加了样本数量。这似乎对绿色曲线的影响与增加折弯半径的影响非常相似

截图#6:这里我减少了样本总数,导致绿色图形再次变尖

视频#1:这是一个简单的动画,显示了绿色图形上从右向左移动时实时改变弯曲半径的效果:

视频#2:这是另一个动画,但这次使用的是静态弯曲半径和更改的采样数:

总而言之,我在这里要做的是设计一个函数,它接受四个输入:折弯的起始位置(沿0到1的空间-即,0到100%),折弯的结束位置(同上),沿该直线的采样总数,以及采样索引(确定要检索角度的采样)

我试图从这个函数中得到的是一个角度值,它决定了这个样本的曲率,所以基本上它是如何弯曲的,相对于弯曲线上的上一个和下一个样本


这有可能计算吗?它似乎应该是一个定义得相当好的函数,但我似乎在网上找不到类似的函数。

你是在要求观察结果的数学表示(主题外)还是这个等式的Python实现?如果是后者,请提供公式并解释为什么您无法实现它。两者都有点-我对Python最为精通,我希望使用该语言实现该算法,因此这正是我所标记的。我担心要求数学表示法与主题无关。还有其他更好的stackexchange板可以提供答案。您是在询问您的观察结果的数学表示(主题外)还是该等式的Python实现?如果是后者,请提供公式并解释为什么您无法实现它。两者都有点-我对Python最为精通,我希望使用该语言实现该算法,因此这正是我所标记的。我担心要求数学表示法与主题无关。还有其他stackexchange板可以更好地提供答案。