时间:2017/3/22 大三下学期

       最近做完了一堆想要进一步学习的东西,便突然闲了下来,于是突然想用C++和OpenGL做一个赛车游戏,顺便练一下手。可是,真正上手起来发现,对于一款游戏而言,游戏引擎、几何处理是一个重要方便,但是若是想模拟出真实的运动效果,物理引擎也是少不了的。

       然而,网上关于游戏开发中遇到的汽车物理建模的资料少之又少,无奈从google发现一篇讲述特别全面的英文文章。特此翻译了其中的大部分(仍有一小部分没有翻译,因为觉得只是模拟而言,不需要太过于真实),现在拿出来分享一下。

我实现的效果:(耗时 2 天)


英文原文链接:Car Physics   

http://www.asawicki.info/Mirror/Car%20Physics%20for%20Games/Car%20Physics%20for%20Games.html

译文如下:

游戏开发中的汽车物理建模

作者:Marco Monster

翻译者:@RyuZhihao123 http://blog.csdn.net/mahabharata_) 

时间:2017/3/22 大三下学期

摘要:一个关于游戏中的汽车物理建模的介绍。

 

简介Introduction:

     This tutorial is about simulating cars in games, in other wordsvehicle physics.   

     One of the key points in simplifying vehicle physics is to handle the longtitudinal and lateral forces separately.  Longtitudinal forces operate in the direction of the car body (or in the exact opposite direction).  These are wheel force, braking force, rolling resistance and drag (= airresistance).  Together these forces control the acceleration or deceleration of the car and therefore the speed of the car.  Lateral forces allow the car to turn.  These forces are caused by sideways friction on the wheels.  We'll also have a look at the angular moment of the car and the torque caused by lateral forces.

       这是一个关于如何模拟游戏中的汽车的教程,换句话说,关于汽车物理学

       简化汽车物理模型的一个要点是为了分别独立的处理纵向横向的受力。纵向的作用力控制汽车身体的前进方向。它们包括:车轮牵引力(Wheel Force)、制动力(Braking force)、滚动摩擦力(Rolling Resistance)以及空气阻力(Drag、Air resistance)。它们共同控制着加速度(Acceleration)、减速度(Deceleration)以及车速(Speed)。横向的作用力允许汽车转向。它们包括:轮子轮胎侧向滚动的阻力。

下面,我将了解一下车辆行驶的一般情况。

 

将采用的记号和惯例NotationsAnd Conventions

        Vectors are shown in bold, we'll be using 2d vectors.  So the notation a = -b would translate to the following code snippet: 
      a.x = -b.x 
      a.y = -b.y

     Throughout this tutorial I'll be assuming that the rear wheels provide all the drive (for four wheel drives apply the neccesary adaptations).

     I'll be mainly using S.I. units (meters, kilograms, Newtons, etc.), but I've included a handy conversion table at the end for those readers more familiar with imperial measures (pounds, feet, miles, etc.) 

        我们规定,向量(Vectors)将用粗体(bold)表示。我们将使用2d向量。所以,记号“a = -b”将会被翻译成如下的代码片段:

         a.x= -b.x;

         a.y= -b.y;

         在这篇教程,我将始终假设后轮(rear wheels)提供所有的驱动力(Drive),对于四轮驱动将会做一些必要的调整。

         我将主要使用国际标准单位制(S.I units. meters,kilograms,Newtons,ets)。但是我也在文章的最后提供了一份方便的关于常见单位的转换表给读者(我没列出……因为篇幅太大,关于单位进制转化,大家高中也都学过,或者百度一下咯,谢谢体谅~)。

 

直线行驶的物理规律Straightline physics

       First let's consider a car driving in a straight line.  Which forces are at play here?  First of all there's what the tractive force, i.e. the force delivered by the engine via the rear wheels.  The engine turns the wheels forward (actually it applies a torque on the wheel), the wheels push backwards on the road surface and, in reaction, the road surface pushes back in a forward direction.  For now, we'll just say that the tractive force is equivalent in magnitude to the variable Engineforce, which is controlled directly by the user.

    Ftraction = u * Engineforce, 
    where u is a unit vector in the direction of the car's heading.

       首先,我们考虑直线行驶中的车辆。那么有哪些力在这里起作用?首先是牵引力(tractiveforce),进一步说,是由引擎通过后轮传递的力。引擎使车轮向前转动(实际上,引擎提供力矩Torque作用在车轮上),于是,车轮向后推动地面,相对的,地面也会向前推动汽车。现在,我们可以讲:牵引力等于不断变化着的引擎力(EngineForce),可以由用户直接控制。

        牵引力:Ftraction=u * Engineforce(即:牵引力 = u * 引擎力)

        其中:u是汽车行驶方向的单位向量。

           

    If this were the only force, the car would accelerate to infinite speeds.  Clearly, this is not the case in real life.  Enter the resistance forces.  The first and usually the most important one is air resistance, a.k.a. aerodynamic drag.  This force is so important because it is proportional to the square of the velocity. When we're driving fast (and which game doesn't involve high speeds?) this becomes the most important resistance force.

    Fdrag = - Cdrag * v * |v| 
    where Cdrag is a constant and v is the velocity vector and the notation |v| refers to the magnitude of vector v

      如过这是唯一的力,汽车将会无限加速!显然,这不是现实中的情况。于是,我们引入了摩擦力(Resistance forces)。其中最常见并且最重要的就是空气阻力(air resistance/ drag)。空气阻力之所以重要是因为它与速度(velocity)的平方成正比。当我们行驶的越快,空气阻力在诸多摩擦力中的效果也越来越显著。

      空气阻力Fdrag = - Cdrag *v * |v|

      其中:Cdrag是一个常量,v是速度矢量,|v|是速率标量。前面的负号保证了空气阻力的方向和速度始终相反。

         

      

    The magnitude of the velocity vector is more commonly known as the speed. Note the difference of data type: speed is a scalar, velocity is a vector. Use something like the following code:

    speed = sqrt(v.x*v.x + v.y*v.y); 
    fdrag.x = - Cdrag * v.x * speed; 
    fdrag.y = - Cdrag * v.y * speed;

       速度矢量的数值(模)就是我们常说的速率。两者的不同在于数据类型:速率Speed是一个标量,速度velocity是一个矢量。我们使用如下的代码计算空气阻力drag:

         Speed= sqrt(v.x*v.y +v.y*v.y);

         Fdrag.x = - Cdrag*v.x * speed;

          Fdrag.y= - Cdrag * v.y * speed;


        

    Then there is the rolling resistance. This is caused by friction between the rubber and road surface as the wheels roll along and friction in the axles, etc.etc.. We'll approximate this with a force that's proportional to the velocity using another constant.

    Frr = - Crr * v 
    where Crr is a constant and v is the velocity vector.

       然后就是滚动摩擦力(RollingResistance)。这是由车轮滚动时橡胶和地面的摩擦以及车轴的摩擦导致。这里,我们将用一个与速度velocity和一个常量的乘积成正比的力来表示:

       滚动摩擦力:Frr = - Crr *V

       其中,Crr是一个常量,V是速度矢量。

        

       

     At low speeds the rolling resistance is the main resistance force, at high speeds the drag takes over in magnitude. At approx. 100 km/h (60 mph, 30 m/s) they are equal ([Zuvich]). This means Crr must be approximately 30 times the value of Cdrag

    The total longtitudinal force is the vector sum of these three forces.

    Flong =   Ftraction + Fdrag   + Frr

       显然,在低速时,滚动摩擦力Frr是主要因素,在高速时,空气阻力Fdrag占据主导地位。

       这样,在纵向方向的合力Flong由三个力的总和组成:

       加速时纵向的合力:Flong=Ftraction + Fdrag+Frr

        

       注意:如果你在直线行驶,空气阻力和滚动摩擦力将会和牵引力的方向相反。因此,在数值计算方面,你需要从牵引力中减去摩擦力。当汽车匀速行驶时,合力Flong等于0。

         于是,汽车的加速度(m/(s*s))由牛顿第二定律可以通过作用在车上的合力(牛顿N)和汽车的总重量M(千克kg)得出:

        加速度:a=Flong / M

         汽车的速度(m/s)由加速度和时间得出:

        速度:v =v+ a*dt

         这里,dt是时间的增量。

         汽车的位置相应的由速度和时间决定。

        位置p =p + v*dt;

        

        With these three forces we can simulate car acceleration fairly accurately.  Together they also determine the top speed of the car for a given engine power. There is no need to put a maximum speed anywhere in the code, it's just something that follows from the equations.  This is because the equations form a kind of negative feedback loop.  If the traction force exceeds all other forces, the car accelerates.  This means the velocity increases which causes the resistance forces to increase.  The net force decreases and therefore the acceleration decreases.  At some point the resistance forces and the engine force cancel each other out and the car has reached its top speed for that engine power.

       通过上述三个力,我们几乎可以完全准确的模拟汽车的加速过程。同时,他们也共同决定了在给定的引擎动力下的最高速度,因此我们没有必要再代码中设置一个最高时速的变量加以限制。这是因为:上面的方程来自于一种消极反馈机制。如果,牵引力(traction)超过合阻力(Fdrag+Frr),那么汽车将加速。然而随着速度增加,阻力也在增加,这导致了合力Flong减小,加速度降低。在某一时刻,合阻力和牵引力会相互抵消,达到最高速度。

        

         在上表中,X轴是车速(m/s),y轴是力(N)。其中深蓝色维持不变的是牵引力(Ftraction)。

浅蓝色的是合阻力(Fdrag+Frr)。在低速时,空气阻力(drag)超过滚动摩擦力(Rolling Resistance),大概30m/s时两个阻力相等,在高速时,滚动摩擦力超过空气阻力。在37m/s时,合阻力与牵引力相等,这时,加速度为0,37m/s便是当前引擎动力下所能达到的最高速度。

 

关于常量取值Magic Constants

       至今为止,我们已经介绍了两个常量:Cdrag和Crr。如果你不太清楚在游戏中你应该给定什么样的数值能看起来更加真实。例如,在街机赛车游戏中,你可能更加希望你的车比现实生活中的任何车加速的更快!在另一方面,如果你担心实际模拟的效果,你可能会想让这些常量为真实情况下的取值。

 

空气阻力(Drag/Ari Resistance)由如下公式指定[来源Fluid Mechanics by Landau and Lifshitz, [Beckham] chapter 6, [Zuvich]]:

Fdrag= 0.5*Cd*A*rho*(v*v)

这里,Cd、A、rho是相关常量,我把他们一律组成上面的Cdrag(想了解具体信息的话,可以看一下原文链接,这里翻译君不做翻译啦~)

我们给出一组上面三个相关常量的具体数值来计算Cdrag。

Cdrag= 0.5*0.30*2.2*1.29 = 0.4257

我们通常让Crr等于30倍的Cdrag,即:

Crr= 30 * Cdrag = 30*0.4257 = 12.8

说实话,我无法确定Crr的值。因为我不能在任何地方找到它确切的数值。因此,用这个式子来模拟它的现实情况。

 

制动/刹车 braking

      当制动的时候,牵引力被一个相反方向的制动力(braking force)代替。此时,纵向合力由如下三个力的矢量和组成:

      制动时纵向的合力:Flong= Fbraking+Fdrag +Frr

      关于制动力的一个简化模型是:

      制动力:Fbraking = -u*Cbraking

      在这个模型中,制动力是一个常量。记住当车速降低到0时,就不要再维持制动力了,否则汽车将会向相反方向继续跑!!。

 

重量转换Weight Transfer

       译者按:略,这里没有翻译,因为模拟过程完全可以没有这一步也能实现很好的效果!但是我在实现我的游戏的过程中,尝试使用到这里的知识,觉得还挺好玩的。可以做出汽车切换状态时的缓冲效果,更加真实。但是稍微有点难度,如果想了解的,可以直接从上文给出的英文原链接中了解。


引擎动力EngineForce // 上文中的牵引力Fdirve的具体解释

         在前面有提及到引擎提供一个确切的动力,这其实是一种简化。实际上,引擎提供的是力矩(Torque)。力矩等于力乘以距离,是一种转动效应。如果你施加10N的力在距离转动轴0.3m处,你将得到一个3N*m的力矩。这等效于1N的力和距离转轴3m处的力矩。在两种情况下杠杆效应是相同的。

         引擎提供的力矩取决于引擎的转速(the speed at which the engine is turning),通常表达为rpm(转/分钟)。力矩和转速不是简单的线性关系,而是通常以一条力矩曲线表示(曲线的具体形状和高度因引擎不同而异,这取决于引擎测试)。这里一个5.7Liter、V8引擎的示例:

 

         注意:力矩曲线(黄色Torquecurve)的峰值在大约4400rpm出现,此时力矩最值为350lb-ft(约475N*m)。马力曲线(紫色Power curve)的峰值在大约5600rpm处出现,此时马力最值为345hp(257kW)。在这个特定的情况下,曲线仅仅被限制在1000~6000rpm的范围内,因为这是引擎的工作区间。低于1000rpm,引擎会熄火。高于6000rpm(也被称作“红线”),你就会毁了这台机器。

         哦,顺便提一下,这个图表是在给定转速下,发动机所能提供的最大力矩!实际力矩则依赖于你的节流阀(throttle?)的位置等因素。

         其中,我们最关心的可能是上面的力矩曲线,但是很多人也发现马力曲线也相当有意思。你可以使用下面的等式来描述马力hp和力矩torque(单位:英尺*磅)之间的关系:

         hp= torque * rpm / 5252;

         由于这个关系,两条曲线通常在5252rpm处交汇。你可以在上面的图表中验证一下。

         这里也有用国际单位制的对应图表(力矩:牛*米N*m,马力:千瓦kiloWatt),曲线的形状是相似的,但是相应的比例会不同(也因此他们不会再相交!)

        

         引擎产生的力矩在作用到后轮之前通过齿轮和差速器(齿轮传动装置)被修改。杠杆比例通过一个依赖于齿轮比(gearratios)的因素增加力矩。

         不幸的是,相当多的能量在这个过程中丢失。多达30%的能量转化为热能散失。这也就是所谓的70%转化率。让我说明一下我提及的是一个典型的数据,我没有任何特定车辆的实际数值。

         作用在后轮轴承上的力矩(torque)除以车轮半径(wheelradius)就是轮胎作用在地面上的力。(力等于力矩除以距离)

         顺便提一下,如果你想要搞通过那些神秘的轮胎产品标号来查询轮胎半径,可以看一下《The Wheel and Tyre Bible》http://www.carbibles.com。它也提供了一个非常方便的小计算器。例如:它能告诉我们P275/40ZR-18后轮的“Convette牌”车的空载半径是34cm。

        

         下面给出一个通过引擎力矩得到两个后轮作用在地面的纵向推动力的公式:

        牵引力:Fdrive= u*Tengine * Xg* Xd * n /Rw

         其中:u是车的方向,Tengine是在给定转速下的引擎力矩,Xg是齿轮比(gearratio),Xd是差分率,n是转换效率,Rw是车轮半径。

         一个例子:引擎转速为2500rpm,观察上面的曲线可知引擎力矩为448N*m,齿轮比是2.66(1档位),差分率是3.42,能量转换效率为0.7(也许!),车轮半径为0.34m。车子重量为1500Kg。

         此时,提供的推动力Fdrive就是(448*2.66*3.42*0.7/0.34=)8391N。

 

齿轮比GearRatios

         下面给出的齿轮比适用于CorvetteC5 hardtop车型

(来源:http://www.idavette.net/facts/c5specs/)

 

第一档g1: 2.66

第二档g2: 1.78

第三档g3: 1.30

第四档g4: 1.00

第五档g5:   0.74

第六档g6:   0.50

倒车档gR:   2.90

差分率Xd:  3.42

 

曲线运动Curves:

         好啦,现在对于直线运动的知识已经足够啦。那么来点转向的小餐怎么样?

         首先,一个需要始终记在心中的是:低速下转向和高速下转向的模拟是不同的。在低速行驶时(例如,停车场中的打方向),轮子更多的向他们指向的方向运动。为了模拟这种情况,你需要一些几何学和动力学知识。你不必考虑受力和重量。

         在高速行驶时,有一点值得注意:在车轮向一个方向运动的同时,它们也在向另一个方向运动(我理解为惯性!)。换句话说,轮子可能会拥有一个与车轮方向不同的速度。这意味着,存在着一个和车轮方向成一定夹角的速度分量,这是由摩擦导致的。正常情况下,一个车轮被设计成能够轻松的向一个特定方向滚动,但是侧向推动轮子由于摩擦力的存在是非常困难的。在高速转向时,轮子将被侧向推动,我们必须将它考虑在内。

首先看一下低速的情况 (我的模拟仅仅用这个(;′⌒`))

在这种情形下,我们可以假设轮子只能向它指向的方向运动。轮子能够滚动,但是不能侧向滑动。如果前轮转向delta角度,并且汽车维持匀速运动,那么汽车将会做圆弧运动。假设有许多直线汽车中心位置垂直速度方向向曲线内侧延伸,那么两条直线的交汇处,便是圆心。

         这能够被下面的截图很容易的说明。注意绿色直线都交汇于一点(汽车转向围绕的中心)。你可能注意到前轮并不是沿着同样的角度,外侧的轮子比内侧的车轮转过的更少。这也发生在现实生活中,汽车的控制系统被设计成将车轮转过不同的角度。对于汽车物理模拟,这一点显得不那么重要。我将仅仅关注控制前面内侧车轮转过的角度而忽略另一侧。

        

         弧线的半径由下图所示的几何规律决定:

        

         (译者注解:这里的两个灰色方块是两个车轮)。前后轮轴承间的距离已知且记为L。汽车运动轨迹半径记为R。图中显示了一个由弧线中心、两个车轮组成的三角形。假定前轮转过delta,那么其中各处的角度便如图所示。也因此便有如下关系:

        L= R*sin(delta);

         即R=L/sin(delta):※

         注意:如果转向角度detla是0,那么弧线半径是无限大,即我们将会直线行驶。

        

         好啦,现在我们如何已经可以通过转向角度delta得到弧线半径R了。下一步就是计算角速度,即汽车转向的速率。角速度通常用希腊字母ω表示,单位弧度/秒。他可以非常简单的去定义:如果我们以速率v、沿半径为R的曲线匀速驾驶,我们多久可以跑完一个圆?只需要圆周长度除以速率即可。在这段时间里,汽车将绕一个圆形路线完整的走一圈。换句话说:

         角加速度: ω=v/R

         通过使用最后的这两个公式,我们知道汽车在特定速度、特定转动角度下能转动多快。对于低速情况下,这就是我们所有需要的知识。转动角度delta必须由用户指定。车速取决于直线行驶情况下的速率。通过这些量,我们就可以计算弧线半径和加速度!汽车的速率(标量)不受转向影响,仅仅影响了速度矢量的方向。

关于高速情况下的,转向,则为惯性原理,原文最后仅仅做了简单的讲述,这个不多赘述了……。

 

 

 

 

 

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

相关文章

  1. 双眼皮视频全部过程视频播放

    ...

    2024/4/20 16:53:40
  2. 电商项目day02(angularjs入门及品牌页面)

    一.Angularjs入门以及常用的命令 1.简介 AngularJS 诞生于2009 年,由 Misko Hevery 等人创建,后为 Google所收购。是一款优 秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心 的是&#xff…...

    2024/4/20 16:53:40
  3. 双眼皮视频全部过程

    ...

    2024/4/26 1:46:05
  4. 双眼皮伤口不愈合怎么办

    ...

    2024/4/20 16:53:37
  5. Angular9入门(1)

    一:环境搭建 参考文档:https://angular.cn/guide/setup-local 1:安装 Angular CLI 你可以使用 Angular CLI 来创建项目、生成应用和库代码,以及执行各种持续开发任务,比如测试、打包和部署。 全局安装 Angular CLI。…...

    2024/4/21 11:50:50
  6. angular2项目上线后,当刷新路由时候,找不到Cannot Get ....

    为什么80%的码农都做不了架构师?>>> 当点刷新的时候,浏览器是不明白,要先进入到localhost:8000的路由后,再找到相对应的参数,再找到相对应的产品,简单的说,浏览器没有那么智能. 如何解决: 比较简单,在app.module.ts文件加一个新的provide就好了.看如下代…...

    2024/4/21 11:50:49
  7. 双眼皮全切眼综合

    ...

    2024/4/21 11:50:48
  8. React-native动态切换tab组件的方法

    在APP中免不了要使用tab组件,有的是tab切换,也有的是tab分类切换.这篇文章主要介绍了react-native动态切换tab组件的方法,非常具有实用价值,需要的朋友可以参考下 在APP中免不了要使用tab组件,有的是tab切换,也有的是tab分类切换. 这些组件分成下面两种.…...

    2024/4/20 21:55:35
  9. 将mat-tab 设置为button

    在mat-tab中设置为 disabled&#xff0c;然后再添加个button <mat-tab disabled><ng-template mat-tab-label><button mat-button color"primary" >Button</button></ng-template></mat-tab>...

    2024/4/21 11:50:46
  10. Extjs 中Tabpanel使用以及tab切换事件

    Extjs 中Tabpanel使用以及tab切换事件 在使用extjs开发中我们有时候会使用到标签页这种组件用于显示多种分类的信息&#xff0c;这里将简单介绍一下怎么使用。 先看代码&#xff0c;具体是创建了一个窗口&#xff0c;这个窗口内再创建了一个TabPanel&#xff0c;其中第一个ta…...

    2024/4/28 12:31:45
  11. 双眼皮全切五天痒

    ...

    2024/5/2 6:36:27
  12. 双眼皮全切是什么

    ...

    2024/4/21 11:50:43
  13. 网易校园招聘历年经典面试题汇总:前端 岗

    面试严选 &#xff08;1&#xff09;、介绍一下backbone &#xff08;2&#xff09;、了解过SEO吗&#xff1f; &#xff08;3&#xff09;、低版本浏览器不支持HTML5标签怎么解决&#xff1f; &#xff08;4&#xff09;、用js使低版本浏览器支持HTML5标签 底层是怎么实现的&…...

    2024/4/21 11:50:42
  14. 2019 renew 博客目录

    .net && .net core Microsoft.AspNet.SignalR实现弹幕(即时通讯) C#调用JS httpclient POST请求(urlencoded) 二维码生成与返回客户端 .net core使用ef 6 ef core code first from exist db ef core 数据类型 && 表字段名设置 sql server使用正则表达式 Entity…...

    2024/4/21 11:50:41
  15. 《Web应用开发基础》期末复习整理~2021(九章知识点)

    注&#xff1a;出现404说明我修改了文章错误的部分&#xff0c;文章在被审核&#xff0c;不是我删除了文章 文章目录1 Web基础知识与开发运行环境2 HTML、XML和CSS3 JavaScript4 JSP基本语法与内置对象5 Servlet与JavaBean6 JSP数据库应用7 JSP实用组件8 表达式语言和标签9 框架…...

    2024/4/27 13:51:06
  16. 前端面试实习题目总结:

    以下是部分整理&#xff0c;有时间还会整理出其他的~~&#xff08;最近还在找实习呜呜~~&#xff09; 1.JavaScript是一种弱类型语言&#xff0c;有什么优点和缺点https://blog.csdn.net/sinolze...&#xff08;1&#xff09;强类型定义语言&#xff1a;强制数据类型定义的语言…...

    2024/4/21 11:50:40
  17. 前端面试准备

    前端面试准备计算机网络基础七层结构和五层结构HTTP和HTTPSHTTP访问过程HTTPS访问过程HTTP版本怎样实现二进制编码HTTP状态码TCP UDP区别TCP四次挥手IPIP协议IP地址划分子网VLSMIP与MAC (Media Access Control Address)路由表&#xff08;Routing Info Base&#xff0c;RIB&…...

    2024/4/20 16:53:50
  18. 笔记

    遍历数组的方式: 1.定义循环数组 $arr = array(website=>http://www.poluoluo.com,webname=>脚本之家) while(list($k,$v) = each($arr)){ echo $k.=>.$v.<br />; } 2.定义数组 $arr = array(http://www.poluoluo.com,脚本之家,PHP教程); foreach($arr…...

    2024/4/20 16:53:48
  19. IDEA使用教程—2、创建一个scala程序

    1. Intellij IDEA开发环境简介具体介绍请参见:http://baike.baidu.com/link?url=SBY93H3SPkmcmIOmZ8H60O1k4iVLgOmdqoKdGp9xHtU-Pbdsq2cpn75ZPZPWAJxeUlwr0ravraQzOckh777beqIntellij IDEA是我用过最好的集成开发环境,没有之一,它对于Scala的支持远胜于Scala IDE for Eclip…...

    2024/4/20 16:53:47
  20. python爬虫的原理以及步骤-Python-爬虫的基本原理

    什么是爬虫 爬虫就是请求网站并提取数据的自动化程序。其中请求&#xff0c;提取&#xff0c;自动化是爬虫的关键&#xff01;下面我们分析爬虫的基本流程 爬虫的基本流程发起请求 通过HTTP库向目标站点发起请求&#xff0c;也就是发送一个Request&#xff0c;请求可以包含额外…...

    2024/4/20 16:53:45

最新文章

  1. 数据结构----第九天(选择题)

    101.在SELECT查询语句中&#xff0c;如果要对得到的结果中的某个字段按降序处理&#xff0c;则在ORDER BY短句中使用参数 &#xff08;&#xff09; A.ASC B.DESC C.BETWEEN D.IN 102.下面关于视图说法中错误的是&#xff08;&#xff09; A.视图是个虚拟表 B.可以使用视…...

    2024/5/2 21:58:19
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Jenkins 使用 Description Setter

    想要的效果如图: 在打包完成之后直接在构件历史的部分展示出来构建的docker镜像名,这样就不需要去找日志了。 首先安装插件 Description Setter, 如何安装就不在此赘述了。 安装完成之后&#xff0c;在构件后操作选项添加一个流程&#xff0c; 有两个字段: regular expressi…...

    2024/5/1 4:32:53
  4. 02 OSI和TCP/IP参考模型

    OSI参考模型优点&#xff1a; 1. 分层结构&#xff1a;OSI参考模型将网络通信划分为七个不同的层次&#xff0c;每个层次都有特定的功能和责任。这样的分层结构使得网络通信变得模块化&#xff0c;易于理解、设计和维护。 2. 标准化&#xff1a;OSI参考模型的制定依据了通信领…...

    2024/5/2 19:59:42
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/2 9:28:15
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57