2024国赛A问题2

news/2024/12/27 8:03:28/

问题二

由于问题一只考虑了圆孔之间的固定距离与运动状态,问题二需要考虑整个板凳的长度与宽度以及板凳之间相互位置是否产生干扰,故需要在第一问圆孔运动的基础上加入板凳长与宽的具体条件,构建各个板凳的具体数学模型,通过求解板凳各边的数学方程与宽度约束将板凳等效为螺线中的矩形块,同时为各个板凳之间设定0-1决策变量 δ i j \delta_{ij} δij,用于判定第 i i i个板凳与第 j j j个板凳之间是否存在面积交错,若非相邻板凳之间存在面积交错则判断此时存在相撞情况,求解最早出现相撞情况的时间 t c t_c tc并将其作为参数代入第一问位置速度模型即可完成第二问的求解。

模型的建立

板凳矩形模型的建立

根据题意,各个板凳的把手中心均位于螺线上,且前后板凳通过把手实现上下交错连接,故可将单个板凳等效为一个矩形,建立单个板凳位于螺线上的几何模型,此时设第 i i i个板凳的前孔中心的位置为 ( x i , y i ) (x_i,y_i) (xi,yi),其中 i i i表示第 i i i个板凳,根据板凳间的交错连接关系,后孔的位置可写为 ( x i + 1 , y i + 1 ) (x_{i+1},y_{i+1}) (xi+1,yi+1),,由于板凳可等效为一个长宽已知的矩形,则其与螺线之间的几何关系如下图所示

由图可知,板凳中两把手所在的圆孔中心在平面上位于螺线上,将两中心连接,设此直线方程为:
l 0 : y = k x + b 0 l_{0}:y=kx+b_0 l0:y=kx+b0
显然该直线方程可以由两圆孔中心坐标确定,可写为:
y − y i = y i + 1 − y i x i + 1 − x i ( x − x i ) y-y_i=\frac{y_{i+1}-y_i}{x_{i+1}-x_i}(x-x_i) yyi=xi+1xiyi+1yi(xxi)
由于板凳等效为一个长宽已知的矩形,根据几何关系,矩形的长边需平行于 l 0 l_0 l0,故可设该板凳两长边分别为 l 1 l_1 l1 l 2 l_2 l2,则可设两者的方程为:
l 1 : y = k x + b 1 l 2 : y = k x + b 2 l_{1}:y=kx+b_1\\ l_{2}:y=kx+b_2 l1:y=kx+b1l2:y=kx+b2
由于矩形的宽长度已知,可根据两直线之间的距离公式,得到 b 1 b_1 b1 b 2 b_2 b2满足的方程为:
d = ∣ b 0 − b ∣ 1 + k 2 d=\frac{|b_0-b|}{\sqrt{1+k^2}} d=1+k2 b0b
其中 k = y 2 − y 1 x 2 − x 1 k=\frac{y_2-y_1}{x_2-x_1} k=x2x1y2y1 d d d为板凳宽度的一半,即15cm。

显然该方程求解得到的两根即为 b 1 b_1 b1 b 2 b_2 b2。再根据矩形长与宽所在直线斜率满足关系 k 1 ⋅ k 2 = − 1 k_1 \cdot k_2=-1 k1k2=1与圆孔距离宽边的距离,即可求解出板凳宽边满足的方程。首先根据点 ( x i , y i ) (x_i,y_i) (xi,yi)与矩形长边的斜率 k k k,即可求解出过该点在宽边上垂线的与矩形宽边的交点 ( x w , y w ) (x_w,y_w) (xw,yw)坐标可表示为:
{ x w = x i + 1 k 2 + 1 ⋅ l y w = y i + k k 2 + 1 ⋅ l \begin{cases} x_w=x_i+\frac1{\sqrt{k^2+1}}\cdot l\\y_w=y_i+\frac k{\sqrt{k^2+1}}\cdot l& \end{cases} {xw=xi+k2+1 1lyw=yi+k2+1 kl
其中 l l l为圆孔中心到边缘的距离,由于圆孔中心到较远边缘和较近边缘均满足该式子,故此处均使用 l l l表示, k k k为前文中求解出的长边斜率。根据点 ( x w , y w ) (x_w,y_w) (xw,yw)以及斜率 k 1 = − 1 k k_1=\frac{-1}{k} k1=k1即可导出宽边的方程为:
y = − 1 k ( x − ( x i + 1 k 2 + 1 ⋅ l ) ) + ( y i + k k 2 + 1 ⋅ l ) y=-\frac1k(x-(x_i+\frac1{\sqrt{k^2+1}}\cdot l))+\left(y_i+\frac k{\sqrt{k^2+1}}\cdot l\right) y=k1(x(xi+k2+1 1l))+(yi+k2+1 kl)
由于板凳四边还满足长度约束,设圆孔中心到较近边缘距离为 l 1 l_1 l1,到较远边缘距离为 l 2 l_2 l2,设第 i i i个板凳的矩形区域为 S i S_i Si,综上所述则可写出板凳矩形区域 S i S_i Si满足的约束方程组如下:
{ l 1 : y = k x + b 1 l 2 : y = k x + b 2 l 3 : y 1 = − 1 k ( x − ( x i + 1 k 2 + 1 ⋅ l 1 ) ) + ( y i + k k 2 + 1 ⋅ l 1 ) l 4 : y 2 = − 1 k ( x − ( x i − 1 k 2 + 1 ⋅ l 2 ) ) + ( y i − k k 2 + 1 ⋅ l 2 ) ∣ b 0 − b ∣ 1 + k 2 = 15 , 其中 b 1 , b 2 为其两根 k = y 2 − y 1 x 2 − x 1 l 1 − l 2 = { 286 , 龙头到龙身的距离 165 ,龙身之间的距离 \begin{cases} l_{1}:y=kx+b_1\\ l_{2}:y=kx+b_2\\ l_{3}:y_1=-\frac1k(x-(x_i+\frac1{\sqrt{k^2+1}}\cdot l_1))+\left(y_i+\frac k{\sqrt{k^2+1}}\cdot l_1\right)&\\ l_{4}:y_2=-\frac1k(x-(x_i-\frac1{\sqrt{k^2+1}}\cdot l_2))+\left(y_i-\frac k{\sqrt{k^2+1}}\cdot l_2\right)\\ \frac{|b_0-b|}{\sqrt{1+k^2}}=15,其中b_1,b_2为其两根\\ k=\frac{y_2-y_1}{x_2-x_1}\\ l_1-l_2=\begin{cases} 286,龙头到龙身的距离\\ 165,龙身之间的距离 \end{cases} \end{cases} l1:y=kx+b1l2:y=kx+b2l3:y1=k1(x(xi+k2+1 1l1))+(yi+k2+1 kl1)l4:y2=k1(x(xik2+1 1l2))+(yik2+1 kl2)1+k2 b0b=15,其中b1,b2为其两根k=x2x1y2y1l1l2={286,龙头到龙身的距离165,龙身之间的距离

板凳相撞的判断

根据题意,可计算出每个板凳圆孔到最近矩形顶点的距离为: 27. 5 2 + 1 5 2 = 31.3 ( c m ) \sqrt{27.5^2+15^2}=31.3(cm) 27.52+152 =31.3(cm),由于 2 × 31.3 = 62.6 > 55 2 \times31.3=62.6>55 2×31.3=62.6>55,故一定存在两个板凳相撞的可能,故定义决策变量 δ i j \delta_{ij} δij,用于判断第 i i i个板凳与第 j j j个板凳之间是否相撞,由于相邻板凳之间是通过把手连接存在高度差,其直线方程区域存在固定的重叠,故不考虑相邻板凳之间的相撞,由此可写出决策变量的表达式为:
δ i j = { 1 , S i ∩ S j ≠ ∅ 且 ∣ i − j ∣ > 1 0 , 其他 \delta_{ij}= \begin{cases} 1,S_i\cap S_j\neq\emptyset\quad\text{且}\quad|i-j|>1 \\ 0,其他 \end{cases} δij={1,SiSj=ij>10,其他
在板凳龙的运动过程中,只要出现相撞情况,即对任意 δ i j \delta_{ij} δij出现为1的情况,则停止板凳龙运动,此时即为舞龙队盘入的终止时刻,可以决策变量表示为:
∑ i = 1 223 ∑ j = 1 , 223 δ i j > = 1 \sum_{i=1}^{223}\sum_{j=1,}^{223}\delta_{ij}>=1 i=1223j=1,223δij>=1
即板凳龙运动过程中出现满足上式的最早时刻,即为舞龙队盘入的终止时刻 t c t_c tc,将该时刻带入第一问的模型,即可求解出此时舞龙队的位置和速度。

模型的求解

问题二的求解过程基于前文所述的数学公式,但是在具体实现的过程中需要实现矩形的构建,此处本文使用Python中的shapely库实现,通过对矩形的定义与方程(28)实现矩形模型位置的计算,最后通过实时进行决策变量判断此时是否出现相撞,具体步骤如下所示:

Step1 设定时间步进与坐标速度计算

设定固定的时间步进 Δ t = 1 0 − 2 s \Delta t=10^{-2}s Δt=102s,作为参数带入问题一模型求解出此时的位置坐标与速度。

Step2 根据圆孔中心确定矩形位置

对于任意第 i i i个矩形的两圆孔 ( x i , y i ) (x_i,y_i) (xi,yi)与( x i + 1 , y i + 1 x_{i+1},y_{i+1} xi+1,yi+1),计算两点的中点 ( x i + x i + 1 2 , y i + 1 + y i 2 ) (\frac{x_i+x_{i+1}}{2},\frac{y_{i+1}+y_i}{2}) (2xi+xi+1,2yi+1+yi),将其作为矩形的中心,通过前文式(28)计算出两边的斜率,设定其矩形的方向与长宽即可确定其在螺线中的相对位置。

Step3 决策变量计算

遍历所有矩形,计算所有矩形相互之间的决策变量 δ i j \delta_{ij} δij的值并且求和。

Step4 结果导出

∑ i = 1 223 ∑ j = 1 , 223 δ i j > = 1 \sum_{i=1}^{223}\sum_{j=1,}^{223}\delta_{ij}>=1 i=1223j=1,223δij>=1则退出循环,若不满足则继续更新时间为 t n e w = t n o w + Δ t t_{new}=t_{now}+\Delta t tnew=tnow+Δt,继续计算,直至满足条件。


http://www.ppmy.cn/news/1558472.html

相关文章

【Linux】进程间关系与守护进程

目录 进程组 什么是进程组 组长进程 会话 什么是会话 作业控制 守护进程 进程组 什么是进程组 我们在命令行中输入sleep 1 | sleep 2 | sleep 3,然后查看进程, 我们看到它们有不同的pid,表明它们是不同的进程,它们的ppid…

qwenvl 以及qwenvl 2 模型架构理解

qwenvl 模型理解: 参考资料: https://qwenlm.github.io/zh/blog/qwen2-vl/ https://github.com/QwenLM/Qwen2-VL?tabreadme-ov-file https://qwenlm.github.io/zh/blog/qwen2-vl/ 论文: qwenvl https://arxiv.org/abs/2308.12966 Qwen2-VL …

纯真社区版IP库CZDB数据格式使用教程

1. 概述 纯真社区版IP库是一种免费且公开的IP地理位置数据库,主要面向非商业用途。其最新推出的CZDB格式是一种全新的数据文件格式,自2024年10月起将成为官方维护和更新的唯一版本。该格式支持同时存储IPv4和IPv6地址信息,具备以下优点&…

ASP.NET Web应用程序出现Maximum request length exceeded报错

一、问题描述 在ASP.NET的web应用中,导出数据时出现500 - Internal server error.Maximum request length exceeded。 二、原因分析 这个错误通常出现在Web应用程序中,表示客户端发送的HTTP请求的长度超过了服务器配置的最大请求长度限制。这可能是因为…

常用的数据结构的时间复杂度

下面是常用数据结构及其常见操作(如插入、删除、查找等)时间复杂度的表格。表格中列出了每种数据结构的常见操作在不同情况下的时间复杂度。 数据结构操作平均时间复杂度最坏时间复杂度最优时间复杂度数组插入/删除O(n)O(n)O(1)查找O(1)O(1)O(1)更新O(1…

常用网络协议

了解TCP/IP 、 UDP 、 DNS 、 DHCP 、HTTP/HTTPS、FTP/SFTP 协议(protocol),其实就是一个群体之间规定的规则,这个规则的目的是为了保证这个群体里面的人可以正常交流。 把与互联网相关联的协议集合起来总称为 TCP/IP,TCP/IP 是…

C语言-数据结构-查找

目录 一,查找的概念 二,线性查找 1,顺序查找 2,折半查找 3,分块查找 三,树表的查找 1,二叉排序树 (1)查找方式: (2)、二叉排序树的插入和生成 (3)、二叉排序树的删除 2,平衡二叉树 (1)、什么是平衡二叉树 (2)、平衡二叉树的插入调整 (1)L…

对gPTP上PTP安全控制的评估

论文标题:Evaluation of PTP Security Controls on gPTP(对gPTP上PTP安全控制的评估) 作者信息: Mahdi Fotouhi, Alessio Buscemi, Thomas Engel:卢森堡大学科学、技术与医学系(Faculty of Science, Tech…