2017年认证杯SPSSPRO杯数学建模A题(第一阶段)安全的后视镜全过程文档及程序

2017年认证杯SPSSPRO杯数学建模

A题 安全的后视镜

原题再现:

  汽车后视镜的视野对行车安全非常重要。一般来说,汽车的后视镜需要有良好的视野范围,以便驾驶员能够全面地了解车后方的道路情况。同时,后视镜也要使图像的畸变尽可能小,以使驾驶员能够准确地判断距离。如果汽车的后视镜使用平面镜,图像没有畸变,对距离的判断十分准确。但是当镜面大小受限时,视野相对较小。如果使用凸面镜,可以以较小的镜面获得更加宽广的视野,但是图像存在畸变,很难准确判断镜中物体与自己的距离。有的镜面是由平面镜和凸面镜拼合在一起组成,意图兼顾两者的优点。但事实上,驾驶员在观察后视镜时,两者很难同时看清。较受欢迎的做法是构造一个变曲率的后视镜,使后视镜可以兼顾两者的优点,也降低了观察和距离判断上的难度。目前市场上有售不同设计的变曲率后视镜。最常见的是一种双曲率后视镜,内侧接近平面镜,外侧则是一个凸面镜,在它们之间进行了平滑的过渡。图 1 是两个例子,为了便于驾驶员对距离进行判断,镜中由虚线或细实线示意了不同曲率的镜面间的分界线。它们的具体设计有所区别,性能也会有所不同。
  第一阶段问题: 对典型的小型家用轿车而言,共有三面后视镜,左右车门的外侧各装一面外后视镜,车内正中还有一面内后视镜。假设两面外后视镜都设计成如图 1 所示的双曲率后视镜,请你建立相应的数学模型,对外后视镜给出优化的设计方案,包括镜面的曲面外形以及分界示意线的位置。并以一种现有的轿车为例 (可自选),给出具体的计算结果,镜面的边缘轮廓可以沿用现有的设计。由于我们只做理论上的研究,所以在设计时暂不需要考虑和遵循相应的国家标准。
在这里插入图片描述

整体求解过程概述(摘要)

  汽车在换道、超车、转弯、掉头、倒车入库行驶时,汽车后视镜使驾驶者可以间接看清汽车后方、侧方和下方位置的环境状况,起到了“第二只眼睛”的作用。当前汽车的外后视镜多选择双曲率后视镜,内侧接近平面镜,外侧则是一个凸面镜,既扩大视野又减小畸变。镜面设计时需要考虑平面镜与凸面镜的分配比例及凸面镜的曲率大小,并保证平面镜与凸面镜的平滑过渡。针对双曲率外后视镜设计的多目标优化问题,本文进行了下列工作:
  一:建立视野及畸变率量化指标。本文采用视野面积表征视野大小,采用畸变率表征镜像失真程度。首先建立了车体坐标系、镜面坐标系,通过设定人眼、外后视镜及测试屏幕在车体系下的位置,利用后视镜曲面光学原理,求出 40X10镜面光点对应测试屏幕光点坐标,通过连接测试屏幕散乱点,计算无重复三角形面积和,考虑车身遮挡及左右眼点的交集面积表示为视野面积;分别计算测试屏幕光点在不同方向、不同眼点的畸变率,再求取其平均值作为表征畸变程度的物理量,建立畸变率模型。
  二:建立并分析多种双曲率镜面模型。在保证平滑过渡的基础上,对内侧镜面与外侧镜面曲面形式,尝试多类组合方式,建立相应镜面模型。通过计算不同镜面模型视野、畸变率的大小,定量分析了视场角及畸变率的影响因素。
  三:利用第二步得出的结论,建立镜面模型。本文选用球面作为内侧镜面的曲面,选用圆环作为外侧镜面的曲面,球面与圆环外表面完全相切,保证平滑过渡。建立多目标采用拟牛顿法作为非线性方程求解算法,结合模拟退火算法优化,得出最佳的球面与圆环面的结合位置及球面与圆环面的曲率,在保证视野畸变率的前提下,视野面积增加了 15.8%。
  此外,使用 CATIA 三维实体软件,对优化出的镜面进行验证。分析视野在路面的投影区域,验证了本文设计的镜面满足法规的要求,并且视场足够大。本文在建模过程也考虑一些其他因素,如驾驶员高度,安全性等因素对镜面设计的影响,但本文所建立的镜面模型为双曲率镜面,没有分析变曲率镜面的设计因素。考虑左右外后视镜没有耦合问题,且建模原理一致,所以本文仅对左后视镜镜面建模并优化分析。

问题分析:

  左后视镜内侧主要用于观察离车身较近的物体的信息(如图 ),驾驶员需通过该区域的图像信息进行距离的准确判断,因此内侧模型主要考虑图像畸变率。左后视镜外侧主要用于观察离车身较远的物体的信息,这部分信息主要是起到辅助观察的左右,对于该部分的图像可以适当放大失真率,以换求更加广泛的视野范围。因此外侧模型主要考虑在人体可接受的图像畸变率范围内(通常定为 7%),通过改变镜面曲率,尽量增加视野范围。

在这里插入图片描述
  由于内外侧选择不同的曲面模型,那么必然存在曲面模型衔接的问题,为了防止整个镜面的曲率突变,应该保证内外侧模型在结合处进行平滑过渡。针对上述镜面内外侧模型的功能不同,建模时需要对注意以下几点:
  1. 内外侧模型分别选取合适的曲面模型进行建模。
  2. 基于对题意的理解,保证曲面之间进行平滑过渡,本文理解为内外侧模型应该保证相切。
  3. 内外侧模型曲面类型确定之后,应针对该问题的特点,选择合适的优化算法进行模型参数优化。
  4. 对优化的结果进行仿真验证。

模型假设:

  本次建模假设如下:
  1. 人眼高度及左右位置固定,两眼距离固定,且两眼连线垂直于车身纵向平面。
  2. 后视镜的外壳与车身固定,
  3. 不考虑右侧后视镜、车内后视镜对左侧后视镜视野的影响。
  4. 不考虑反射率的问题,认为反射率为 100%。
  5. 镜面垂直垂直于水平地面。
  6. 镜面与镜壳夹角固定,本文设置镜面与镜壳平行。
  7. 后视镜外壳不影响人眼的视线。
  8. 假设镜面边缘为矩形。其他未尽假设在建模时说明。

论文缩略图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

clc;close all;clear;
%眼点尺寸计算
Peye_v=[-0.7 -0.4 0.25]';%眼点在车体坐标系中的位置
%x 为车头方向,y 为车左侧为正,z 为上为正
leyes=0.065;%双眼点之间的距离
Peyel_v=Peye_v+[0 0.0325 0]';
Peyer_v=Peye_v+[0 -0.0325 0]';
%镜面局部坐标系:垂直镜面向前为 x,沿镜面向后为 y 正
l_mr=0.2;
h_mr=0.1;
%镜子相对车体的安装 角度
afa=60*pi/180;
%镜子离车体的距离 ,延长线方向
dmr=0.08;
%车体坐标原点在镜面坐标系下的坐标
Pmv=[0 -l_mr/2-dmr -h_mr/2]';
%左镜面坐标系原点在车体系下的坐标
Pvm=[-(l_mr/2+dmr)*cos(afa) (l_mr/2+dmr)*sin(afa) h_mr/2]';
%右镜面坐标系原点在车体系下的坐标
Pvm_R=[-(l_mr/2+dmr)*cos(afa) -(l_mr/2+dmr)*sin(afa)-1.8 h_mr/2]';
%从右镜面坐标系到车体坐标系的转换矩阵
AvmR=[cos(pi/2-afa) cos(afa) 0;cos(pi/2+afa) cos(pi/2-afa) 0;0 0 1];
%从车体坐标系到镜面坐标系的转换矩阵
Amv=[cos(pi/2-afa) cos(afa) 0;cos(pi-afa) cos(pi/2-afa) 0;0 0 1];
%从镜面坐标系到车体坐标系的转换矩阵
Avm=Amv';
%车体轮廓,车体坐标下
Pcar_v=[
1 -2.8 -2.8 1 1;
0 0 -1.8 -1.8 0;
0 0 0 0 0
];
%左侧车尾点
Pcarbk=Pcar_v(:,2);
%车体轮廓在镜面坐标下
Pcar_m=Amv*Pcar_v;
Pcar_m(1,:)=Pcar_m(1,:)+Pmv(1);
Pcar_m(2,:)=Pcar_m(2,:)+Pmv(2);
Pcar_m(3,:)=Pcar_m(3,:)+Pmv(3);
%后视镜轮廓坐标 镜面坐标下 %左上 左下 右下 右上 左上
Pmr_m=[0 0 0 0 0;l_mr/2 l_mr/2 -l_mr/2 -l_mr/2 l_mr/2;h_mr/2 -h_mr/2 -h_mr/2 h_mr/2 h_mr/2];
%右后视镜轮廓坐标 镜面坐标下 %左上 左下 右下 右上 左上
Pmr_m_R=[0 0 0 0 0;l_mr/2 l_mr/2 -l_mr/2 -l_mr/2 l_mr/2;h_mr/2 -h_mr/2 -h_mr/2 h_mr/2 h_mr/2];
%左后视镜在车体系下坐标 左上 左下 右下 右上 左上
Pmr_v=[-(dmr+l_mr)*cos(afa) (l_mr+dmr)*sin(afa) h_mr;-(dmr+l_mr)*cos(afa) (l_mr+dmr)*sin(afa) 0;-dmr*cos(afa) dmr*sin(afa) 0;-dmr*cos(afa) dmr*sin(afa) h_mr;-(dmr+l_mr)*cos(afa) (l_mr+dmr)*sin(afa) h_mr]';
%使用方向余弦矩阵处理
Pmr_v=Avm*Pmr_m;
Pmr_v(1,:)=Pmr_v(1,:)+Pvm(1);
Pmr_v(2,:)=Pmr_v(2,:)+Pvm(2);
Pmr_v(3,:)=Pmr_v(3,:)+Pvm(3);
%右后视镜轮廓在车体坐标系下
Pmr_R_v=AvmR*Pmr_m_R;
Pmr_R_v(1,:)=Pmr_R_v(1,:)+Pvm_R(1);
Pmr_R_v(2,:)=Pmr_R_v(2,:)+Pvm_R(2);
Pmr_R_v(3,:)=Pmr_R_v(3,:)+Pvm_R(3);
%投影屏幕轮廓 车体坐标下
%投影屏幕大小
ls=12;
hs=4;%
diss=10;
Ps=[-diss ls/2 0;-diss ls/2 -hs;
-diss -ls/2 -hs-diss -ls/2 0;-diss ls/2 0]';
%转换到镜面坐标下
Psm=Amv*Ps;
Psm(1,:)=Psm(1,:)+Pmv(1,1);
Psm(2,:)=Psm(2,:)+Pmv(2,1);
Psm(3,:)=Psm(3,:)+Pmv(3,1);
%屏幕平面 方程 x=-10
%眼点在镜面坐标系下的坐标值
Peye_m=Amv*Peye_v+Pmv;
Peyel_m=Amv*Peyel_v+Pmv;
Peyer_m=Amv*Peyer_v+Pmv;
%后视镜上的离散点坐标
num_l=40;
num_h=10;
PmEdge=zeros(3,num_l*num_h);
R=1.5;%0.4;%半径
%球心坐标
r=0.7;%环半径
Psphere=[R 0 0]';
%求法向量矩阵
Fm=zeros(3,num_l*num_h);
%反射点到车尾的向量
b2bk=zeros(3,num_l*num_h);
for i=1:num_lfor j=1:num_hPmEdge(2,j+(i-1)*num_h) =-l_mr/2+ l_mr/(num_l-1)*(i-1);PmEdge(3,j+(i-1)*num_h) =h_mr/2- h_mr/(num_h-1)*(j-1);if PmEdge(2,j+(i-1)*num_h)<=0%spherePmEdge(1,j+(i-1)*num_h) 
=-sqrt(R^2-PmEdge(2,j+(i-1)*num_h)^2-PmEdge(3,j+(i-1)*num_h)^2)+R;Fm(:,j+(i-1)*num_h)=[PmEdge(1,j+(i-1)*num_h)-Psphere(1) ...PmEdge(2,j+(i-1)*num_h)-Psphere(2) 
PmEdge(3,j+(i-1)*num_h)-Psphere(3)]/R; elsePmEdge(1,j+(i-1)*num_h)=R-sqrt((R-r+sqrt(r^2-PmEdge(2,j+(i-1)*num_h)^2 ))^2-PmEdge(3,j
+(i-1)*num_h)^2);
Fm(:,j+(i-1)*num_h)=[2*(sqrt((PmEdge(1,j+(i-1)*num_h)-R)^2+PmEdge(3,j+(i-1)*num_h)^2)-R+r)*((PmEdge(1,j+(i-1
)*num_h)-R)^2+PmEdge(3,j+(i-1)*num_h)^2)^-0.5*(PmEdge(1,j+(i-1)*num_h)-R); 2*PmEdge(2,j+(i-1)*num_h)2*(sqrt((PmEdge(1,j+(i-1)*num_h)-R)^2+PmEdge(3,j+(i-1)*num_h)^2)-R+r)*((PmEdge(1,j+(i-1
)*num_h)-R)^2+PmEdge(3,j+(i-1)*num_h)^2)^-0.5*PmEdge(3,j+(i-1)*num_h)];Fm(:,j+(i-1)*num_h)=Fm(:,j+(i-1)*num_h)/sqrt(Fm(1,j+(i-1)*num_h)^2+Fm(2,j+(i-1)*num_h)
^2+Fm(3,j+(i-1)*num_h)^2);endend 
end
%画镜面在镜面坐标下的形状
subplot(3,4,4);hold on;grid on;
%镜面轮廓
plot3(Pmr_m(1,:),Pmr_m(2,:),Pmr_m(3,:));
for i=1:num_l*num_hplot3(PmEdge(1,i),PmEdge(2,i),PmEdge(3,i),'*g')
end
view([-60, 30])
title('镜面形状')
set(gca,'DataAspectRatio',[0.3 1 1])
%入射光线方向向量 左眼
[m n]=size(PmEdge);
FmRL=zeros(m,n);
FmRR=zeros(m,n);
for i=1:nFmRL(:,i)=PmEdge(:,i)-Peyel_m;%入射光线方向向量 左眼FmRR(:,i)=PmEdge(:,i)-Peyer_m;%入射光线方向向量 右眼
end
%入射光线单位方向向量
for i=1:n
d=sqrt(FmRL(1,i)^2+FmRL(2,i)^2+FmRL(3,i)^2);
FmRL(:,i)=FmRL(:,i)/d;
d=sqrt(FmRR(1,i)^2+FmRR(2,i)^2+FmRR(3,i)^2);
FmRR(:,i)=FmRR(:,i)/d;
end
%反射向量
b_left=zeros(m,n);
b_right=zeros(m,n);
for i=1:n
b_left(:,i)=FmRL(:,i)-2*(Fm(:,i)'*FmRL(:,i))*Fm(:,i);
b_right(:,i)=FmRR(:,i)-2*(Fm(:,i)'*FmRR(:,i))*Fm(:,i);
end
%转到车体系
b_v_left=Avm*b_left;
b_v_right=Avm*b_right;
%反射点到车尾的向量
b2bk=zeros(3,num_l*num_h);
%车体系下镜边缘点的位置
P_v_mEedge=zeros(m,n);
for i=1:nP_v_mEedge(:,i)=Avm*(PmEdge(:,i)+Pvm);b2bk(:,i)=Pcarbk- P_v_mEedge(:,i);%镜上点到车尾的向量b2bk(:,i)=b2bk(:,i)/sqrt(b2bk(1,i)^2+b2bk(2,i)^2+b2bk(3,i)^2); 
end
%屏幕边缘坐标转到车体系下
% PmEdgeV=Avm*P_v_mEedge;
%求车体系下的交点 %屏幕交点在车体系下的
Psv_L=-diss*ones(m,n);
Psv_R=-diss*ones(m,n);
for i=1:nKK=(-diss-P_v_mEedge(1,i))/b_left(1,i);
Psv_L(2,i)=KK*b_left(2,i)+P_v_mEedge(2,i);
Psv_L(3,i)=KK*b_left(3,i)+P_v_mEedge(3,i);KK=(-diss-P_v_mEedge(1,i))/b_right(1,i);Psv_R(2,i)=KK*b_right(2,i)+P_v_mEedge(2,i);Psv_R(3,i)=KK*b_right(3,i)+P_v_mEedge(3,i);
end
Psm_L=Amv*Psv_L;
Psm_R=Amv*Psv_R;
%车体系下绘图
subplot(1,4,[1 3]);hold on;grid on;
title('屏幕投影')
%eye 
plot3(Peye_v(1,1),Peye_v(2,1),Peye_v(3,1),'*')
plot3(Peyel_v(1,1),Peyel_v(2,1),Peyel_v(3,1),'*')
plot3(Peyer_v(1,1),Peyer_v(2,1),Peyer_v(3,1),'*')
%car
plot3(Pcar_v(1,:),Pcar_v(2,:),Pcar_v(3,:));
%左镜面轮廓
plot3(Pmr_v(1,:),Pmr_v(2,:),Pmr_v(3,:));
%右镜面轮廓
plot3(Pmr_R_v(1,:),Pmr_R_v(2,:),Pmr_R_v(3,:));
%幕轮廓
plot3(Ps(1,:),Ps(2,:),Ps(3,:));
set(gca,'DataAspectRatio',[1 1 1])
xlim([-10 2]);
view([100 25])
for i=1:nif b2bk(2,i)<=b_left(2,i)plot3(Psv_L(1,i),Psv_L(2,i),Psv_L(3,i),'r*');elseplot3(Psv_L(1,i),Psv_L(2,i),Psv_L(3,i),'g.'); endif b2bk(2,i)<=b_right(2,i)plot3(Psv_R(1,i),Psv_R(2,i),Psv_R(3,i),'bo');elseplot3(Psv_R(1,i),Psv_R(2,i),Psv_R(3,i),'c.');end
end
dt = DelaunayTri(Psv_L(2,:)',Psv_L(3,:)');
k = convexHull(dt);
abs(trapz(dt.X(k,1),dt.X(k,2)))
dt = DelaunayTri(Psv_R(2,:)',Psv_R(3,:)');
k = convexHull(dt);
abs(trapz(dt.X(k,1),dt.X(k,2)))
distortioncalc;
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/241053.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一款 StarRocks 客户端工具,支持可视化建表、数据编辑

什么是 StarRocks&#xff1f; StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理&#xff0c;就可以用 StarRocks 来支持多种数据分析场景的极速分析。 为了…

IDEA中启动项目报堆内存溢出或者没有足够内存的错误

1.报错现象 java.lang.OutOfMemoryError: Java heap space 或者 Could not reserve enough space for object heap 2.解决办法 在运行配置中VM选项后加下面的配置&#xff1a; -server -XX:MaxHeapSize256m -Xms512m -Xmx512m -XX:PermSize128M -XX:MaxPermSize256m 3.JVM虚…

Cloudflare cdn 基本使用

个人版免费试用&#xff0c;一个邮箱账号只能缓存一个网站cdn。 地址&#xff1a;cloudflare.com 创建站点 在网站创建站点&#xff0c;填上你的域名 点击进入网站 缓存全局配置 可清除缓存&#xff0c;设置浏览器缓存时间 我设置了always online,防止服务器经常不稳定 缓…

RK3568平台开发系列讲解(Linux系统篇)设备树中 GPIO 相关属性

🚀返回专栏总目录 文章目录 一、RK ft5x06 设备树节点二、gpio-controller三、#gpio-cells四、gpio-ranges五、gpio 引脚描述属性沉淀、分享、成长,让自己和他人都能有所收获!😄 一、RK ft5x06 设备树节点 我们以ft5x06设备树中的gpio使用为例: 二、gpio-controller

Vue学习笔记9--vuex(专门在Vue中实现集中式状态(数据)管理的一个Vue插件)

一、vuex是什么&#xff1f; 概念&#xff1a;专门在Vue中实现集中式状态&#xff08;数据&#xff09;管理的一个Vue插件&#xff0c;对vue应用中多个组件的共享状态进行集中式的管理&#xff08;读/写&#xff09;&#xff0c;也是一种组件间通信的方式&#xff0c;且适用于…

人工智能 AI 如何让我们的生活更加便利

每个人都可以从新技术中获益&#xff0c;一想到工作或生活更为便利、简捷且拥有更多空余时间&#xff0c;谁会不为之高兴呢&#xff1f;借助人工智能&#xff0c;每天能够多一些空余时间&#xff0c;或丰富自己的业余生活&#xff0c;为培养日常兴趣爱好增添一点便利。从电子阅…

【Docker】网络模式详解及容器间网络通信

目录 一、概述 二、默认网络 三、网络模式及应用 1. Bridge模式 2. Host模式 3. none网络模式 四、自定义网络应用 1. 网络相连 2. 自定义通讯 3. 自定义IP 每篇一获 一、概述 在 Docker 中&#xff0c;网络设置包括 IP 地址、子网掩码、网关、DNS 和端口号等关键组…

一文了解GeoTrust SSL证书

在当今互联网的高度连接世界中&#xff0c;确保网站安全性至关重要。SSL证书是保护网站和用户数据的关键组成部分。GeoTrust证书在SSL证书市场上享有盛誉&#xff0c;被许多网站所有者和企业所信赖。JoySSL将深入探讨GeoTrust证书的特点&#xff0c;帮助大家了解该品牌并做出更…

Go后端开发 -- 反射reflect 结构体标签

Go后端开发 – 反射reflect && 结构体标签 文章目录 Go后端开发 -- 反射reflect && 结构体标签一、反射reflect1.编程语言中反射的概念2.interface 和反射3.变量内置的pair结构4.reflect的基本功能TypeOf和ValueOf5.从relfect.Value中获取接口interface的信息6…

Docker本地私有仓库搭建配置指导

一、说明 因内网主机需要拉取镜像进行Docker应用&#xff0c;因此需要一台带外主机作为内网私有仓库来提供内外其他docker业务主机使用。参考架构如下&#xff1a; 相关资源&#xff1a;加密、Distribution registry、Create and Configure Docker Registry、Registry部署、D…

【C语言深度剖析——第三节(关键字3)】《C语言深度解剖》+蛋哥分析+个人理解

本文由睡觉待开机原创&#xff0c;未经允许不得转载。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言&#xff0c;共同进步&#xff01; 目录 1.基本数据类型2.sizeof关键字 前言&#xff1a; 本期我们继续探讨关于C深度解剖这本书相关内容&#…

Java爬虫爬取图片壁纸

Java爬虫 以sougou图片为例&#xff1a;https://pic.sogou.com/ JDK17、SpringBoot3.2.X、hutool5.8.24实现Java爬虫&#xff0c;爬取页面图片 项目介绍 开发工具&#xff1a;IDEA2023.2.5 JDK&#xff1a;Java17 SpringBoot&#xff1a;3.2.x 通过 SpringBoot 快速构建开发环境…

IT大侦“碳”:Concept Luna向循环设计持续演进

IT大侦“碳”&#xff1a;Concept Luna向循环设计持续演进

代码、课程、教学的一些思考-2024

1 代码、算法、艺术品 1.1 代码 最典型的C代码示例。 以下是一个简单的C代码示例&#xff0c;它打印出“Hello, World!”&#xff1a; #include <iostream> int main() { std::cout << "Hello, World!"; return 0; } 这段代码定义了一个程序&a…

C#winform上位机开发学习笔记1-串口助手的ModbusCRC功能

1.首先自定义CRC校验函数 private UInt16 Crc_Check(byte[] Data, byte DataLEN){UInt16 CRC 0xFFFF;for (byte i 0; i < DataLEN; i){ CRC ^ Data[i];for(byte j 0; j < 8; j){if((CRC & 0x0001) 0x0001){CRC (UInt16)((CRC >> 1) ^ 0xA001);}else{CRC …

DDoS攻击规模最大的一次

有史以来DDoS攻击规模最大的是哪一次&#xff1f; Google Cloud团队在2017年9月披露了一次此前未公开的DDoS攻击&#xff0c;其流量达 2.54Tbps&#xff0c;是迄今为止有记录以来最大的DDoS攻击。 在同时发布的另一份报告中&#xff0c;分析高端威胁团体的谷歌安全团队谷歌威胁…

Vray渲染效果图材质参数设置

渲染是创造出引人入胜视觉效果的关键步骤&#xff0c;在视觉艺术领域尤为重要。不过&#xff0c;渲染作为一个资源密集型的过程&#xff0c;每当面对它时&#xff0c;我们往往都会遭遇到时间消耗和资源利用的巨大挑战。幸运的是&#xff0c;有几种方法能够帮助我们优化渲染&…

网易云音乐 API

网易云音乐 API 网易云音乐 API灵感来自环境要求安装运行Vercel 部署操作方法 可以在Node.js调用支持 TypeScript使用文档功能特性更新日志单元测试SDK贡献者License 网易云音乐 API 网易云音乐 Node.js API service 灵感来自 disoul/electron-cloud-music darknessomi/musi…

Jira 宣布Data Center版涨价5%-15%,6年内第8次提价

近日&#xff0c;Atlassian官方面向合作伙伴发布2024年涨价通知&#xff1a; 自2024年2月15日起&#xff0c;旗下核心产品Jira Software、Confluence、Jira Service Management的DC版本&#xff08;Data Center版本&#xff09;价格提高5%-15%&#xff08;涨幅与坐席数阶梯相关…

【算法】串联所有单词的子串【滑动窗口】

题目 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。例如&#xff0c;如果 words ["ab","cd","ef"]&#xff0c; 那么 "abcd…