2024国赛A题第一问
第一问
板凳龙等距螺线匀速运动模型的建立
坐标系的建立
根据题意,舞龙队沿螺距为55cm的螺线顺时针进入,进入位置为螺线第16圈点A处,即整个螺线的最外侧点,设定其为 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)。为了便于计算出题目要求的结果并将其展示为笛卡尔坐标系对应坐标,本文将螺线中心设定为坐标原点 O O O,建立了极坐标系与笛卡尔坐标系。
极坐标系下该螺线的方程为:
r = a 2 π ⋅ θ r=\frac{a}{2\pi}\cdot \theta r=2πa⋅θ
其中 a a a为螺距,根据题意为55cm。
平面直角坐标系下该螺线的方程为:
{ x = r ⋅ cos ( θ ) = a 2 π ⋅ θ ⋅ cos ( θ ) y = r ⋅ sin ( θ ) = a 2 π ⋅ θ ⋅ sin ( θ ) \begin{cases} x=r\cdot \cos(\theta)=\frac a{2\pi}\cdot\theta\cdot\cos(\theta)\\y=r\cdot \sin(\theta)=\frac a{2\pi}\cdot\theta\cdot\sin(\theta)& \end{cases} {x=r⋅cos(θ)=2πa⋅θ⋅cos(θ)y=r⋅sin(θ)=2πa⋅θ⋅sin(θ)
由上述公式即可表述该螺线在平面直角坐标系和极坐标系下的方程。
积分求解板凳圆孔位置
根据题意,龙头前把手的前进速度为1m/s,故可导出经过时间 t t t之后龙头前把手行进的距离为:
s = v ⋅ t s=v\cdot t s=v⋅t
由于螺线的周长与龙头前把手行进的距离存在对应关系,只需求解出螺线周长 C C C与角度 θ \theta θ的关系,即可通过确定龙头前把手行进的距离得到此时龙头前把手所在的极坐标,进而求解出其笛卡尔坐标。
根据螺线弧长的积分公式:
L = a ∫ θ 1 θ 2 1 + θ 2 d θ L=a\int_{\theta_1}^{\theta_2}\sqrt{1+\theta^2}d\theta L=a∫θ1θ21+θ2dθ
其中 L L L为螺线的弧长, θ 1 \theta_1 θ1为起始角度, θ 2 \theta_2 θ2为终止角度,根据公式可求解出角度之间的弧长 L L L。
由于 A A A点为第16圈的初始点,故可设置 θ 2 = 32 π \theta_2=32\pi θ2=32π,其中 s s s为龙头前把手行进的距离,满足 L = s L=s L=s的条件下,可导出 θ 1 \theta_1 θ1满足的方程为:
∫ θ 1 32 π 1 + θ 2 d θ = s a \int_{\theta_1}^{32\pi}\sqrt{1+\theta^2}d\theta=\frac sa ∫θ132π1+θ2dθ=as
进而通过求解不定积分推导出 θ 1 \theta_1 θ1的表达式为:
1 2 [ θ 1 + θ 2 + ln ( θ + 1 + θ 2 ) ] θ 1 32 π = s a \frac12\left[\theta\sqrt{1+\theta^2}+\ln(\theta+\sqrt{1+\theta^2})\right]_{\theta_1}^{32\pi}=\frac sa 21[θ1+θ2+ln(θ+1+θ2)]θ132π=as
即可求解得到此时龙头前把手所在位置满足的角度 θ = θ 1 \theta=\theta_1 θ=θ1。
基于圆方程联立迭代与二分查找求解各龙身与龙尾圆孔坐标
根据上述分析,可以求解得到龙头前圆孔的极坐标和笛卡尔坐标。基于题目中给出的龙头和龙身板凳的各项参数,确定相邻两圆孔之间的固定距离。本文提出了两种方法:圆方程联立迭代法和二分查找法,用于求解龙身与龙尾的具体坐标。下面是两种方法的具体步骤:
1.圆方程联立迭代法
根据龙头前圆孔的已知坐标,设该坐标为圆心 O i O_i Oi,并以相邻两圆孔之间的固定长度为半径 r r r,构造圆方程。然后将该圆方程与螺线方程联立,通过迭代方法逐步倒推,依次求解龙身和龙尾各个圆孔的坐标。
根据几何关系,可设龙头的坐标为 ( x 1 , y 1 ) (x_1,y_1) (x1,y1),此时的夹角为 θ 1 \theta_1 θ1,可构造圆方程为:
( x − x 1 ) 2 + ( y − y 1 ) 2 = r 1 2 (x-x_1)^2+(y-y_1)^2=r_1^2 (x−x1)2+(y−y1)2=r12
其中半径 r 1 r_1 r1为龙头两孔之间的固定距离,其表达式为:
r 1 = 341 − 27.5 × 2 = 286 ( c m ) r_1=341-27.5\times2=286(cm) r1=341−27.5×2=286(cm)
与螺线的平面坐标系方程联立可得:
{ ( x − x 1 ) 2 + ( y − y 1 ) 2 = 28 6 2 x = 55 2 π ⋅ θ ⋅ cos ( θ ) y = 55 2 π ⋅ θ ⋅ sin ( θ ) \begin{cases} (x-x_1)^2+(y-y_1)^2=286^2&\\ x=\frac {55}{2\pi}\cdot\theta\cdot\cos(\theta)\\y=\frac {55}{2\pi}\cdot\theta\cdot\sin(\theta)&\\ \end{cases} ⎩ ⎨ ⎧(x−x1)2+(y−y1)2=2862x=2π55⋅θ⋅cos(θ)y=2π55⋅θ⋅sin(θ)
即可求解得到相邻圆孔的坐标,表示为 O 2 ( x 2 , y 2 ) O_2(x_2,y_2) O2(x2,y2),此时基于该圆孔再次构造圆方程为:
( x − x 2 ) 2 + ( y − y 2 ) 2 = r 2 2 (x-x_2)^2+(y-y_2)^2=r_2^2 (x−x2)2+(y−y2)2=r22
其中半径 r 2 r_2 r2为龙身两孔之间的固定距离,其表达式为:
r 2 = 220 − 27.5 × 2 = 165 ( c m ) r_2=220-27.5\times2=165(cm) r2=220−27.5×2=165(cm)
同样与螺线平面坐标系方程联立:
{ ( x − x 2 ) 2 + ( y − y 2 ) 2 = 16 5 2 x = 55 2 π ⋅ θ ⋅ cos ( θ ) y = 55 2 π ⋅ θ ⋅ sin ( θ ) \begin{cases} (x-x_2)^2+(y-y_2)^2=165^2&\\ x=\frac {55}{2\pi}\cdot\theta\cdot\cos(\theta)\\y=\frac {55}{2\pi}\cdot\theta\cdot\sin(\theta)&\\ \end{cases} ⎩ ⎨ ⎧(x−x2)2+(y−y2)2=1652x=2π55⋅θ⋅cos(θ)y=2π55⋅θ⋅sin(θ)
求解得到 O 3 ( x 3 , y 3 ) O_3(x_3,y_3) O3(x3,y3),由于龙身与龙尾的尺寸一致,只需迭代上述方程,即可求解得到所有的圆孔坐标 O i ( x i , y i ) O_i(x_i,y_i) Oi(xi,yi)。
2. 二分查找法
为与上述数学方法相互验证,且便于求解,本文基于数值搜索的思想提出了二分查找法确定圆孔坐标,其具体过程如下:
首先设定合适的步长 α = 15 ° \alpha=15° α=15°,从第一个圆孔 O 1 O_1 O1所在的位置出发,逆时针进行搜索,到达下一位置 O 2 O_{2} O2,此处 O 2 O_2 O2的弧度角为:
θ 2 = θ 1 + α \theta_2=\theta_1+\alpha θ2=θ1+α
此时计算 O 2 O_2 O2与 O 1 O_1 O1之间的距离 d d d为:
d = 55 2 ( θ 2 ⋅ cos ( θ 2 ) − θ 1 ⋅ cos ( θ 1 ) ) 2 + ( θ 2 ⋅ sin ( θ 2 ) − θ 1 ⋅ sin ( θ 1 ) 2 d=\frac{55}{2}\sqrt{\left(\theta_2\cdot\cos(\theta_2)-\theta_1\cdot\cos(\theta_1)\right)^2+\left(\theta_2\cdot\sin(\theta_2)-\theta_1\cdot\sin(\theta_1)^2\right.} d=255(θ2⋅cos(θ2)−θ1⋅cos(θ1))2+(θ2⋅sin(θ2)−θ1⋅sin(θ1)2
根据几何原理,三角形的最大角对应最长边,因此我们可以根据距离 d d d与相邻圆孔间的已知距离 r 1 r_1 r1 来判断是否找到下一个圆孔的位置。
- 如果 d < r 1 d<r_1 d<r1:说明还没有搜索到下一个圆孔的位置,此时继续增加步长进行搜索,继续迭代增加 θ 2 \theta_{2} θ2。
- 如果 d > r 1 : d>r_1: d>r1:说明搜索已经超过了下一个圆孔的位置。此时,通过二分查找法,取上一次查找与当前查找的中间点进行比较,再次更新 θ 2 \theta_{2} θ2的位置,并且修改步长为 α n e w = α 2 \alpha_{new}=\frac{\alpha}{2} αnew=2α。
将上述过程反复执行,直到找到距离 d d d接近设定的圆孔间距 r 1 r_{1} r1的位置。此时,若距离 d d d与 r 1 r_1 r1的差值小于设定的阈值 ε = 1 0 − 9 ⋅ r 1 \varepsilon=10^{-9}\cdot r_1 ε=10−9⋅r1,即 ∣ d − r 1 ∣ < ε |d-r_1|<\varepsilon ∣d−r1∣<ε,则认为已成功找到下一个圆孔的位置。
通过反复进行上述步骤,即可确定所有圆孔的位置坐标。
龙身速度模型的建立
根据前文分析,已经得到了龙头的坐标 O 1 ( x 1 , y 1 ) O_1(x_1,y_1) O1(x1,y1),对应的弧度 θ 1 \theta_1 θ1与线速度为 v v v,通过查阅资料,在极坐标系下可将线速度分解为两个方向的分量,分别为:
-
径向分量: v r v_r vr:表征物体在极坐标系下沿着极径 r r r方向的速度分量,其表达式为:
v ⃗ p = d r d t \vec v_p=\frac{\mathrm{d}r}{\mathrm{d}t} vp=dtdr -
切向分量: v θ v_{\theta} vθ:表征物体绕原点旋转的速度分量,其表达式为:
v ⃗ θ = r ⋅ d θ d t \vec v_{\theta}=r\cdot \frac{\mathrm{d}\theta}{\mathrm{d}t} vθ=r⋅dtdθ
则线速度可表达为:
v 1 = v ⃗ p + v ⃗ θ = ( d r 1 d t ) 2 + ( r 1 d θ 1 d t ) 2 = 1 m / s v_1=\vec v_p+\vec v_{\theta}=\sqrt{\left(\frac{dr_1}{dt}\right)^2+\left(r_1\frac{d\theta_1}{dt}\right)^2}=1\mathrm{~m/s} v1=vp+vθ=(dtdr1)2+(r1dtdθ1)2=1 m/s
即求解速度则需要求解 d r d t \frac{\mathrm{d}r}{\mathrm{d}t} dtdr与 r ⋅ d θ d t r\cdot \frac{\mathrm{d}\theta}{\mathrm{d}t} r⋅dtdθ的具体表达。在前文推导板凳圆孔位置时,已导出龙头圆孔位置与时间的函数关系式 1 2 [ θ 1 + θ 2 + ln ( θ + 1 + θ 2 ) ] θ 1 32 π = v t a \frac12\left[\theta\sqrt{1+\theta^2}+\ln(\theta+\sqrt{1+\theta^2})\right]_{\theta_1}^{32\pi}=\frac {vt}{a} 21[θ1+θ2+ln(θ+1+θ2)]θ132π=avt,不妨设 f ( θ ) = θ 1 + θ 2 + ln ( θ + 1 + θ 2 ) f(\theta)=\theta\sqrt{1+\theta^2}+\ln(\theta+\sqrt{1+\theta^2}) f(θ)=θ1+θ2+ln(θ+1+θ2),则可写出时间与弧度的关系为:
55 2 [ f ( 32 π ) − f ( θ ) ] = t \frac{55}{2}[f(32\pi)-f(\theta)]=t 255[f(32π)−f(θ)]=t
根据链式法则可依次导出 d f ( θ ) d θ \frac{\mathrm{d}f(\theta)}{\mathrm{d}\theta} dθdf(θ), d θ d t \frac{\mathrm{d}\theta}{\mathrm{d}t} dtdθ与 d r d t \frac{\mathrm{d}r}{\mathrm{d}t} dtdr,它们之间满足的链式关系与求解得到的结果如下:
{ d f ( θ ) d θ = 1 + 2 θ 2 1 + θ 2 + 1 1 + θ 2 = 2 ( 1 + θ 2 ) 1 + θ 2 d θ d t = − 1 + θ 2 55 ( 1 + θ 2 ) d r d t = a 2 π ⋅ d θ d t d f ( θ ) d t = d f ( θ ) d θ ⋅ d θ d t \begin{cases} \frac{\mathrm{d}f(\theta)}{\mathrm{d}\theta} = \frac{1+2\theta^2}{\sqrt{1+\theta^2}} + \frac{1}{\sqrt{1+\theta^2}} = \frac{2(1+\theta^2)}{\sqrt{1+\theta^2}} \\ \frac{\mathrm{d}\theta}{\mathrm{d}t} = \frac{-\sqrt{1+\theta^2}}{55(1+\theta^2)} \\ \frac{\mathrm{d}r}{\mathrm{d}t} = \frac{a}{2\pi} \cdot \frac{\mathrm{d}\theta}{\mathrm{d}t} \\ \frac{\mathrm{d}f(\theta)}{\mathrm{d}t} = \frac{\mathrm{d}f(\theta)}{\mathrm{d}\theta} \cdot \frac{\mathrm{d}\theta}{\mathrm{d}t} \end{cases} ⎩ ⎨ ⎧dθdf(θ)=1+θ21+2θ2+1+θ21=1+θ22(1+θ2)dtdθ=55(1+θ2)−1+θ2dtdr=2πa⋅dtdθdtdf(θ)=dθdf(θ)⋅dtdθ
将其上式带入龙头的位置信息,求解发现关于 θ \theta θ的项消去后得到龙头速度为 1 1 1m/s,说明了该模型的正确性。
由于该式只确定了龙头的速度,为确定龙身的速度,则需联立(25)与式(20),通过隐函数求导法求解得到相邻圆孔之间的链式关系为:
d θ 1 d θ 2 = θ 1 θ 2 sin ( θ 1 − θ 2 ) + θ 1 cos ( θ 1 − θ 2 ) − θ 2 θ 1 θ 2 sin ( θ 1 − θ 2 ) + θ 1 − θ 2 cos ( θ 1 − θ 2 ) \frac{\mathrm{d}\theta_1}{\mathrm{d}\theta_2}=\frac{\theta_1\theta_2\sin(\theta_1-\theta_2)+\theta_1\cos(\theta_1-\theta_2)-\theta_2}{\theta_1\theta_2\sin(\theta_1-\theta_2)+\theta_1-\theta_2\cos(\theta_1-\theta_2)} dθ2dθ1=θ1θ2sin(θ1−θ2)+θ1−θ2cos(θ1−θ2)θ1θ2sin(θ1−θ2)+θ1cos(θ1−θ2)−θ2
其中 θ 1 \theta_1 θ1为龙头的弧度, θ 2 \theta_2 θ2为相邻圆孔中心的弧度。带入式(25),连续迭代即可求解得到所有圆孔之间的速度 v i v_i vi。
模型的求解
由于模型一中位置的确定部分计算并不复杂,直接通过数学公式可求解出结果,但是速度部分的计算十分繁琐,为了能够更加精确的计算出各个圆孔所在位置的速度,本文提出了实时数值模拟与数学公式计算结合的方法进行龙身各圆孔速度的求解,下面是具体的步骤:
Step1 构建数学模型
在基于前文模型的建立部分的阐述下,使用Python构建螺线及整个舞龙队进入螺线的数学模型,并且实现实时计算各个节点的位置坐标。
Step2 选取合适的极小步长 Δ t \Delta t Δt
根据实际情况,选取极小步长 Δ t = 0.001 s \Delta t=0.001s Δt=0.001s作为实时模拟的步长。
Step3 实时带入计算速度
首先将时间 t t t作为参数带入计算此时各个圆孔的坐标 ( x i 1 , y i 1 ) (x_{i1},y_{i1}) (xi1,yi1)速度 v i 1 v_{i1} vi1,然后选择下一时间为 t + 2 ⋅ Δ t t+2\cdot \Delta t t+2⋅Δt作为参数计算此时各个圆孔的坐标 ( x i 2 , y i 2 ) (x_{i2},y_{i2}) (xi2,yi2)与速度 v i 2 v_{i2} vi2,根据速度的定义:
v = lim Δ t → 0 ( x i 1 − x i 2 ) 2 + ( y i 1 − y i 2 ) 2 Δ t v=\lim_{\Delta t\to0}\frac{\sqrt{(x_{i1}-x_{i2})^2+(y_{i1}-y{_{i2}})^2}}{\Delta t} v=Δt→0limΔt(xi1−xi2)2+(yi1−yi2)2
则可根据数值模拟计算出对应的速度,将其与 v i 1 + v i 2 2 \frac{v_{i1}+v_{i2}}{2} 2vi1+vi2进行比较,若 ∣ v − v i 1 + v i 2 2 ∣ |v-\frac{v_{i1}+v_{i2}}{2}| ∣v−2vi1+vi2∣小于阈值 ε = 0.01 v \varepsilon=0.01v ε=0.01v则判断两者结果一致,将公式计算的结果导出,若大于阈值则选择数值模拟的结果输出。
Step4 计算所有圆孔的速度
将上述模拟过程用于所有圆孔的位置坐标,与实际公式计算进行比对,输出所有结果。
问题一结果分析
观察图可知,随着时间增加,各个把手的速度整体上呈现为下降趋势。下降幅度 随螺线的几何性质变化。观察把手轴可以知道,龙头到龙尾的速度呈增长趋势。
观察结果可视化图可得出如下结论:
- 对于单个把手而言,虽然速度呈现波动的趋势,但是其整体速度呈现下降趋势,这与其运动轨迹在螺线上,螺线曲率半径越来越小相对应。
- 对于整个队伍而言,龙头到龙尾的速度呈现递减的趋势,其原因应为龙头的运动速度虽为1m/s,但是在运动固定位移后,由于运动轨迹为螺线,运动的传递存在迟滞与消耗,故后面的龙身速度会存在减小。
相关文章:
2024国赛A题第一问
第一问 板凳龙等距螺线匀速运动模型的建立 坐标系的建立 根据题意,舞龙队沿螺距为55cm的螺线顺时针进入,进入位置为螺线第16圈点A处,即整个螺线的最外侧点,设定其为 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)。为了便于计算出题目要…...
【魅力golang】之-反射
1、引言 反射(Reflection)在 Golang中用于运行时检查和操作变量的类型和值。通过反射,可以实现动态类型处理,这在构建泛型代码、框架、序列化工具和动态代理等场景中非常有用。 2、什么是反射 反射是指程序在运行时能够动态地检…...
Java在 聊天管理系统中的应用
聊天管理系统已经成为人们日常沟通不可或缺的一部分。无论是企业内部的即时通讯,还是社交媒体平台的聊天功能,聊天管理系统都扮演着至关重要的角色。 Java 作为一种广泛应用的编程语言,凭借其强大的功能、良好的跨平台性以及丰富的类库&…...
记一次rac故障原因分析(虚拟化平台)
一 现象描述 XX客户于1月14号凌晨业务中断,检查数据库发现数据库集群宕机。 XX客户于2月14号春节初五早上业务异常,连接数据库无响应。 二 问题详细诊断 1月14号故障 1月14号凌晨2点,客户反馈业务中断,发现节点1无法连接&…...
opencv中的各种滤波器简介
在 OpenCV 中,滤波器是图像处理中的重要工具,用于对图像进行平滑、去噪、边缘检测等操作。以下是几种常见滤波器的简单介绍。 1. 均值滤波 (Mean Filter) 功能: 对图像进行平滑处理,减少噪声。 应用场景: 去除图像…...
文本数据处理
文本数据处理 一、数据转换与错误处理 (一)运维中的数据转换问题 在计算机审计及各类数据处理场景中,数据转换是关键步骤,涉及将被审计单位或其他来源的数据有效装载到目标数据库,并明确标示各表及字段含义与关系。…...
ThinkPHP 8开发环境安装
【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《ThinkPHP 8高效构建Web应用 夏磊 编程与应用开发丛书 清华大学出版社》【摘要 书评 试读】- 京东图书 1. 安装PHP8 Windows系统用户可以前往https://windows.php.net/downloads/releases/archives/下载PHP 8.0版本&am…...
php怎么去除数点后面的0
在PHP中,我们可以使用几种方法来去除数字小数点后的0。 方法一:使用intval函数 intval函数可以将一个数字转化为整数,另外,它也可以去除小数点后面的0。 “php $number 123.4500; $number intval($number); echo $number; // 输…...
Database.NET——一款轻量级多数据库客户端工具
文章目录 Database.NET简介下载使用使用场景总结 Database.NET简介 Database.NET 是一个功能强大且易于使用的数据库管理工具,适用于多种数据库系统。它为开发者和数据库管理员提供了一个统一的界面,可以方便地管理和操作不同类型的数据库。 支持的数据…...
Unittest02|TestSuite、TestRunner、HTMLTestRunner、处理excel表数据、邮件接收测试结果
目录 八、测试套件TestSuite和测试运行器TestRunner 1、基本概念 2、创建和使用测试套件 3、 自动发现测试用例、创建测试套件、运行测试 4、生成html的测试报告:HTMLTestRunner 1️⃣导入HTMLTestRunner模块 2️⃣运行测试用例并生成html文件 九、unittest…...
protobuf学习使用
1、概述 protobuf是Google开发的一种语言中立、平台无关、可扩展的序列化结构数据格式。允许定义一次数据结构,然后可以使用各种支持的语言来生成代码,以轻松地读写这些结构到一个二进制流中,如网络传输或文件,Protobuf支持多种编…...
跟我学c++中级篇——C++中的缓存利用
一、缓存 学习过计算机知识的一般都知道缓存这个概念,大约也知道缓存是什么。但是如果是程序员,如何更好的利用缓存,可能就有很多人不太清楚了。其实缓存的目的非常简单,就是了更高效的操作数据。大家都听说过“局部性原理”&…...
Goland 安装与使用
GoLand安装 官方网址: JetBrains GoLand:不只是 Go IDE 1. 进入官网,点击下载: 2. 如下图一步步安装 3. 如下图一步步安装...
cesium通过经纬度获取3dtiles 得feature信息
找到这里3dtiles的两种访问方式: 1.1 3DTileContent#getFeature 这里涉及3DTile 数据结构,暂不了解3DTile 数据结构,因此暂不使用。 1.2 scene.pick 本次使用 scene表示虚拟场景中所有 3D 图形对象和状态的容器;scene中…...
spring cloud gateway 3
**Spring Cloud Gateway 3** 是 Spring Cloud 生态系统中的一个重要组件,用于构建 API 网关,提供路由、监控、安全等关键功能。以下是关于 Spring Cloud Gateway 3 的详细介绍: ## 1. 什么是 Spring Cloud Gateway? **Spring Clou…...
青少年编程与数学 02-005 移动Web编程基础 03课题、流式布局
青少年编程与数学 02-005 移动Web编程基础 03课题、流式布局 一、流式布局二、网页示例HTML (index.html)CSS (styles.css) 三、精灵图精灵图的工作原理精灵图的优点精灵图的缺点精灵图的适用场景 四、轮播图HTML (index.html)CSS (styles.css)JavaScript (script.js) 课题摘要…...
【数据可视化复习方向】
1.数据可视化就是数据中信息的可视化 2.数据可视化主要从数据中寻找三个方面的信息:模式、关系和异常 3.大数据可视化分类:科学可视化、信息可视化、可视分析学 4.大数据可视化作用:记录信息、分析推理、信息传播与协同 5.可视化流程&…...
Spring Security 6 系列之九 - 集成JWT
之所以想写这一系列,是因为之前工作过程中使用Spring Security,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级为6.3.0,关键是其风…...
大数据实验三
Python and anaconda 实验三数据预处理和轨迹聚类参考地址: https://www.hifleet.com/wp/communities/data/hangyundashujujishukechengshiyanzhinanshujuyuchulijiguijijuleichixugengxinzhong#post-2212https://www.hifleet.com/wp/communities/data/hangyundas…...
《计算机网络(第7版)-谢希仁》期末考试复习题和答案(总结整理)
目录 前言: 一、选择题。 二、填空题。 三、名词解释。 四、简答题。 前言: 这个自动标题自己带了序号,一开始想全部选项和题号都改过来的,结果一看一百多个全是,懒得改了 一、选择题。 1、广域网覆盖的地理范围…...
学习笔记 --C#基础其他知识点(持续更新)
C#中的同步和异步《一》 以下理解借鉴博客:借鉴博客地址1 异步编程(Asynchronous) 允许任务在后台执行,而不会阻塞调用线程。C#使用async和await关键字 async Task AsynchronousMethod() {// 等待异步操作完成await Task.Delay…...
STM32 高级 谈一下IPV4/默认网关/子网掩码/DNS服务器/MAC
首先可以通过 winr->输入cmd->输入ipconfig 命令可以查看计算机的各种地址 IPV4:是互联网协议第 4 版(Internet Protocol version 4)所使用的地址。它是一个 32 位的二进制数字,通常被分为 4 个 8 位的部分ÿ…...
智能家居实训室中,STC单片机驱动的“互联网+”智能家居系统设计
一、引言 随着经济的快速发展,人们对家居环境的智能化、网络化需求日益增强,智能家居的研究也因此受到了国内外相关机构的广泛关注。STC单片机凭借其卓越的性能和广泛的应用领域,成为了智能家居系统设计的优选方案。作为一种先进的微控制器&…...
esp32学习:用虫洞ESP32S3-EYE开发板快速实现USB摄像头(UVC免驱)
直接上干货:实现一个USB摄像头,免驱UVC设备。 硬件准备: 乐官方推荐的Cam开发板就是乐鑫带摄像头OV2604的esp32-s3-eye,我们虫洞esp32-s3-eye完全兼容这个板子哦,虫洞ESP32-S3-EYE 人脸识别 esp-cam升级 OpenCV LVGL …...
Python 面向对象编程 五(结束)组合
Python 面向对象编程 五(结束)组合 组合 组合 组合是面向对象编程中另一个流行的概念,它与封装也有一定关系。简单地说,组成是指在一个对象中包含一个或多个对象,从而形成一个真实世界的对象。包含其他类对象的类称为…...
基于微信小程序的校园访客登记系统
基于微信小程序的校园访客登记系统 功能列表 用户端功能 注册与登录 :支持用户通过手机号短信验证码注册和登录。个人资料管理 :允许用户编辑和更新个人信息及其密码。站内信消息通知:通知公告。来访预约:提交来访预约支持车牌…...
docker 部署mysql8
在Docker中部署MySQL 8是一个相对简单的过程。以下是基本的步骤: 拉取MySQL 8镜像: 使用Docker命令拉取最新的MySQL 8镜像: docker pull registry.openanolis.cn/openanolis/mysql:8.0.30-8.6创建并运行MySQL容器: 创建并运行MySQ…...
聊一聊 C#前台线程 如何阻塞程序退出
一:背景 1. 讲故事 这篇文章起源于我的 C#内功修炼训练营里的一位朋友提的问题:后台线程的内部是如何运转的 ? ,犹记得C# Via CLR这本书中 Jeffery 就聊到了他曾经给别人解决一个程序无法退出的bug,最后发现是有一个 Backgrond…...
【编译原理】往年题汇总(山东大学软件学院用)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀编译原理_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …...
【原创学习笔记】近期项目中使用的西门子V20变频器总结(上篇)
现场V20 22kW变频器如图所示 进线分别为L1,L2,L3,PE线,出现分别为U,V,W接电机 在西门子官网查询手册后,查询可知可以通过多种方式控制变频器,比如:面板(BOP)控制,端子(NPN/PNP&…...
IndexOf Apache Web For Liunx索引服务器部署及应用
Apache HTTP Server 是一款广泛使用的开源网页服务器软件,它支持多种协议,包括 HTTP、HTTPS、FTP 等 IndexOf 功能通常指的是在一个目录中自动生成一个索引页面的能力,这个页面会列出该目录下所有的文件和子目录。比如网上经常看到的下图展现的效果,那么接下来我们就讲一下…...
Pytorch | 利用PI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
Pytorch | 利用PI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集PI-FGSM介绍背景和动机算法原理算法流程 PI-FGSM代码实现PI-FGSM算法实现攻击效果 代码汇总pifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器: Pytorch | 从零构建AlexN…...
Casino Royale靶场wp
0x00 下载安装 https://download.vulnhub.com/casinoroyale/CasinoRoyale.ova 导入vmware启动 0x01 主机信息收集 0x02目录扫描 index.php 获取到一个域名 修改本地hosts 添加一行 路径:C:\Windows\System32\drivers\etc 192.168.2.20 casino-royale.local 点击…...
c/c++ 无法跳转定义
背景 对于嵌入式开发离不开交叉编译工作,采用vccode远程到虚拟机开发来说,总会遇到一个函数跳转问题。下面针对运用开发如何设置vscode保证函数能正确跳转大函数定义。 一、安装c/c插件 安装C/C Extension Pack插件,这插件包含有几个插件。…...
4.5 数据表的外连接
本次课程我们将继续的学习数据表的连接。因为数据表的连接是分为内连接和外连接的。内连接的语法,还有一些练习,我们都是学习到了。那么本次课程咱们就开始学习数据表的外连接语法。首先我来解释一下为什么要使用外连接这种语法。咱们首先看一条记录&…...
请购单一直提示需求部门不能为空无法提交
终于发现了它的逻辑。用户很多次反馈,提交请购单时,提示需求部门不能为空,既使选择了需求部门,保存时,神奇的是会清空掉部门的信息,提交时就会有错误提示出来。 原因:光选择单头上的需求部门是…...
Jenkins基础教程
Jenkins介绍 Jenkins 是一款开源的持续集成(CI)和持续交付(CD)工具,在软件开发和自动化部署流程中发挥着关键作用。 1.背景和起源 它最初是由 Sun Microsystems 公司的一名工程师开发的 Hudson 项目,后来…...
如何配置 Java 环境变量:设置 JAVA_HOME 和 PATH
目录 一、什么是 Java 环境变量? 二、配置 Java 环境变量 1. 下载并安装 JDK 2. 配置 JAVA_HOME Windows 系统 Linux / macOS 系统 3. 配置 PATH Windows 系统 Linux / macOS 系统 4. 验证配置 三、常见问题与解决方案 1. 无法识别 java 或 javac 命令 …...
深入解析 Pytest 钩子函数及二次开发过程
关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 在 Pytest 测试框架中,钩子函数(Hooks)是一种强…...
http 请求总结get
关于get请求传递body的问题 错误代码 有400 , 415 等情况 <!doctype html><html lang"zh"><head><title>HTTP Status 400 – 错误的请求</title><style type"text/css">body {font-family:Tahoma,Arial,sans-seri…...
漏洞扫描:网络安全的 “体检” 与 “防护指南”
在当今数字化时代,网络安全如同守护城堡的坚固城墙,而漏洞扫描则是检查城墙是否存在缝隙与薄弱环节的重要手段。那么,究竟什么是漏洞扫描?又该如何进行呢? 什么是漏洞扫描? 漏洞扫描是一种安全检测过程&a…...
《Vue进阶教程》第二十七课:实现侦听对象
往期内容: 《Vue进阶教程》第十六课:深入完善响应式系统之单例模式 《Vue进阶教程》第十七课:支持分支切换 《Vue进阶教程》第十八课:避免死循环 《Vue进阶教程》第十九课:computed初步实现 《Vue进阶教程》第二十…...
【Linux 网络 (五)】Tcp/Udp协议
Linux 网络 一前言二、Udp协议1)、Udp协议特点2)、Udp协议格式3)、Udp报文封装和解包过程4)、UDP的缓冲区 三、TCP协议1)、TCP协议特点2)、TCP协议格式1、4位首部长度、源端口、目的端口2、16位窗口大小3、…...
算法工程化工程师
算法工程化工程师是一种结合算法研究与工程开发能力的技术职位,主要职责是将算法从理论研究到实际落地,应用到各种工业或商业场景中。以下是关于这个职位的一些核心内容: 核心职责: 算法实现与优化: 将数学模型或算法…...
信息系统管理师试题-转型升级
1.3.转型升级 战略转型升级是对组织的长期发展方向、运行模式、组织战略、组织方式、资源配置方式、祖师文化等进行全方位升级变革。下列对战略转型升级的描述错误的是() A大多数组织的转型主要是战略转型 B组织转型升级首先要解决的是战略选择问题 C组织…...
mysql三种读取模式(普通、流式、游标)
在与MySQL数据库交互时,数据的读取方式有多种选择,包括流式读取、游标读取和普通读取。每种方式都有其独特的原理、优势和劣势。本文将对这三种读取方式进行详细介绍, 1. 普通读取 介绍 普通读取是指通过JDBC的Statement或PreparedStateme…...
月子会所ERP管理云平台 GetData.ashx SQL注入致RCE漏洞复现
0x01 产品简介 月子会所ERP管理云平台是武汉金同方科技有限公司专为为母婴服务行业提供信息化解决方案,是结合行业顶级月子中心相关企业需求开发的一套综合性管理软件。该系统全面管控月子中心经营过程中的各个环节,提高总店及分店月子中心管理水平,规范月子中心从业人员操作…...
Ubuntu22.10/22.04 autoinstall--OK
第一步:建立ubuntu22.04 jammy apt本地源(见本博主对应栏) --------------------------------------------------------------------------------------- ubuntu22.04 grub配置: menuentry Ubuntu22.04-autoinstall(UEFI) --id UBUNTU22.04-autoinstall { echo "…...
操作系统之同步与互斥的基本概念
1. 同步的基本概念 定义:同步是指在多个并发执行的进程或线程之间协调其行为,以使它们能够正确地相互合作。在计算机科学中,同步通常指对共享资源进行访问控制,以避免竞争条件和死锁等问题。 实现方式:为了实现同步&a…...
【ANGULAR网站开发】初始环境搭建
1. 初始化angular项目 1.1 创建angular项目 需要安装npm和nodejs,这边不在重新安装 直接安装最新版本的angular npm install -g angular/cli安装指定大版本的angular npm install -g angular/cli181.2 启动angular 使用idea启动 控制台启动 ng serve启动成功…...