[详细建模已更新]2024数学建模国赛高教社杯A题:“板凳龙” 闹元宵 思路代码文章助攻手把手保姆级
A 题 “板凳龙” 闹元宵
“板凳龙”,又称“盘龙”,是浙闽地区的传统地方民俗文化活动。人们将少则几十条,多则上百条的板凳首尾相连,形成蜿蜒曲折的板凳龙。盘龙时,龙头在前领头,龙身和龙尾相随盘旋,整体呈圆盘状。一般来说,在舞龙队能够自如地盘入和盘出的前提下,盘龙所需要的面积越小、行进速度越快,则观赏性越好。
某板凳龙由 223 节板凳组成,其中第 1 节为龙头,后面 221 节为龙身,最后 1 节为龙尾。龙头的板长为 341 cm,龙身和龙尾的板长均为 220 cm,所有板凳的板宽均为 30 cm。每节板凳上均有两个孔,孔径(孔的直径)为 5.5 cm,孔的中心距离最近的板头 27.5 cm(见图 1 和图 2)。相邻两条板凳通过把手连接(见图 3)。
图 1 龙头的俯视图
图 2 龙身和龙尾的俯视图
图 3 板凳的正视图
请建立数学模型,解决以下问题:
问题一:舞龙队沿螺距为55 cm的等距螺线顺时针盘入的建模分析
1. 问题背景
“板凳龙”是由223节板凳组成的舞龙队,其中:
- 第1节为龙头,板长为341 cm;
- 第2节到第221节为龙身,板长为220 cm;
- 第222节为龙尾,板长为220 cm;
- 所有板凳的宽度均为30 cm。
板凳之间通过把手连接,初始时刻龙头前把手的行进速度为1 m/s,且位于螺线的第16圈A点,沿着螺旋线进行顺时针的盘入运动。
2. 问题要求
从初始时刻到300秒,要求每秒计算整个舞龙队的各个节点的位置和速度,包括:
- 龙头前把手
- 龙身第1、51、101、151、201节的前把手
- 龙尾后把手
此外,还需要在特定时刻(如0 s, 60 s, 120 s等)给出上述节点的位置和速度,并将结果保存到 result1.xlsx
文件中。
3. 螺旋线模型
舞龙队沿着等距螺线行进。等距螺线的极坐标方程为:
[
r(\theta) = a + b\theta
]
其中,螺距 ( p = 55 ) cm,因此螺线的参数 ( b ) 可以表示为:
[
b = \frac{p}{2\pi} = \frac{55}{2\pi} \approx 8.75 , \text{cm}
]
设 ( \theta ) 为极角,则螺线在极坐标系中的坐标为:
[
x(\theta) = r(\theta) \cdot \cos(\theta)
]
[
y(\theta) = r(\theta) \cdot \sin(\theta)
]
龙头前把手的初始位置对应于螺线的第16圈,即初始角度为 ( \theta_0 = 16 \times 2\pi = 32\pi )。
4. 龙头速度与时间关系
由于龙头前把手的速度恒定为1 m/s,因此可以通过如下关系推导出每一时刻的角度变化:
[
v = \frac{ds}{dt} = 1 , \text{m/s}
]
其中,( s ) 为龙头前把手沿螺线的弧长,弧长可以通过积分表示为:
[
s = \int_0^{\theta} \sqrt{r^2(\theta) + \left(\frac{dr}{d\theta}\right)^2} , d\theta
]
每一秒的时间步长对应的角度增量 ( \Delta \theta ) 可以通过数值方法计算,结合螺线方程更新龙头的位置。
5. 龙身及龙尾的运动
龙身和龙尾的每一节板凳均由前节板凳带动。对于每一节板凳的运动,需要考虑以下几何约束:
- 相邻板凳的距离为220 cm;
- 每节板凳的把手位于螺线上,保持连接关系。
龙身的运动可以通过相邻板凳的相对位置变化推导出其每一时刻的位置和速度。由于龙头的速度恒定为1 m/s,因此龙身后部的速度会有微小的变化,特别是在螺线盘入时。
6. 数值计算
为了得到每秒的节点位置和速度,我们可以使用数值积分方法(如欧拉法或龙格库塔法)来模拟整个舞龙队的运动。每一个时间步长 ( \Delta t = 1 , \text{s} ),通过以下步骤计算:
- 计算龙头的角度增量 ( \Delta \theta );
- 更新龙头的极坐标位置 ( (r(\theta), \theta) );
- 通过几何约束,依次计算龙身和龙尾的每节板凳的位移和速度;
- 将每秒的结果保存至
result1.xlsx
文件中。
7. 特定时刻的位置和速度
根据题目要求,分别在 0 s, 60 s, 120 s, 180 s, 240 s, 300 s 时,给出以下节点的位置信息和速度:
- 龙头前把手 ( x_{\text{龙头}}(t), y_{\text{龙头}}(t) )
- 第1节龙身前把手 ( x_{\text{第1节}}(t), y_{\text{第1节}}(t) )
- 第51节龙身前把手 ( x_{\text{第51节}}(t), y_{\text{第51节}}(t) )
- 第101节龙身前把手 ( x_{\text{第101节}}(t), y_{\text{第101节}}(t) )
- 第151节龙身前把手 ( x_{\text{第151节}}(t), y_{\text{第151节}}(t) )
- 第201节龙身前把手 ( x_{\text{第201节}}(t), y_{\text{第201节}}(t) )
- 龙尾后把手 ( x_{\text{龙尾}}(t), y_{\text{龙尾}}(t) )
速度的计算采用位移除以时间步长:
[
v = \frac{\Delta s}{\Delta t}
]
每节板凳的速度也需要记录并输出。
8. 总结
本问题的核心在于通过螺旋线的几何模型和舞龙队的运动学模型,推导出每一节板凳
问题二:确定舞龙队盘入的终止时刻,避免板凳之间碰撞
1. 问题描述
舞龙队按照问题一设定的螺旋线盘入。随着时间的推移,龙头不断在螺旋线上前进,后面的龙身和龙尾会逐渐跟随并紧密排列。当螺线的半径变得越来越小,板凳之间的距离可能会缩短到发生碰撞的程度。
问题二要求我们确定舞龙队盘入的终止时刻,即当板凳之间不能继续盘入而发生碰撞时的时刻。并在该时刻输出舞龙队的位置信息和速度。
2. 问题要求
- 确定板凳之间最小的安全距离,避免相邻板凳发生物理碰撞;
- 计算舞龙队不能继续盘入的终止时刻;
- 输出此时舞龙队的位置信息和速度,并将结果保存到
result2.xlsx
文件中; - 额外要求给出终止时刻龙头、龙身第1、51、101、151、201节龙身前把手及龙尾后把手的位置和速度。
3. 碰撞条件的分析
在舞龙队盘入过程中,相邻板凳保持通过把手相连,但随着螺线半径的逐渐减小,板凳之间的相对距离会变短。我们需要定义一个最小安全距离,以确保舞龙队不会发生碰撞。
假设两个相邻板凳之间的最小安全距离为220 cm,即板凳的长度。具体来说,如果两节相邻板凳在螺线上相距小于这个距离,则认为发生碰撞,不能继续盘入。因此,终止时刻可以通过如下条件来确定: