精华内容
下载资源
问答
  • PB Graph曲线.rar

    2020-05-30 10:31:04
    PB源码的graph曲线,比自带的曲线漂亮、灵活,易于开发、集成,需要的可以下载测试使用,有问题请及时反馈。。。
  • pb中graph曲线图的综合应用,横坐标、纵坐标、曲线图显示数据点数据
  • PB封装的报表

    2016-12-16 12:16:39
    很好的报表控件,类型多,漂亮,稳定
  • PB中的曲线图的绘制

    千次阅读 2009-01-09 09:26:00
    近来做项目用到曲线图,研究了一下PB这个曲线图的绘制方法。现在把自己的收获分享给大家!有不对之处或不足之处希望大家留言改正。首先,曲线图的做法可以分为两种,一种是通过数据窗口,数据从数据库里面取,另一种...

    近来做项目用到曲线图,研究了一下PB这个曲线图的绘制方法。现在把自己的收获分享给大家!有不对之处或不足之处希望大家留言改正。

    首先,曲线图的做法可以分为两种,一种是通过数据窗口,数据从数据库里面取,另一种是Graph控件,数据可以自己用方法去添加。

    先介绍第一种方法,通过数据窗口中的Graph来做,数据源是数据库中的一个表,其中有几个参数需要设置,Category表示什么代表横坐标;value表示什么代表纵坐标;Series表示图中有几条曲线,例如你想对比今年的温度和去年的温度,那就需要用到此参数,图表中用两条曲线代表两个不同的问题。在此种方法中可以让数据库里面的数据自动变化,而图表隔断时间刷新一次就可以达到事实监视的效果。

    第二中方法中主要用到几个函数,

        第一个是GraphControl.AddCategory(categoryname ),作用就是在图表中加入横坐标。

                    其中categoryname 代表你希望在横坐标显示的字符串。

                     返回值是一个数字,代表每一个横坐标。

        第二个是GraphControl.AddSeries(Seriesname),作用就是在图表中加入一个曲线的种类,不同的参数需要用不同的曲线分别。

                    其中Seriesname代表你要加的曲线的名字,

                    函数返回值,是一个整数,代表此曲线类别,不同曲线类别用这个数区分。

        第三个是GraphControlAddData ( seriesnumber, datavalue {, categoryvalue } ),作用就是往图表中添加数据

                    其中seriesnumber代表你希望往哪条曲线上添加数据点。

                    datavalue 代表希望添加的数据、

                    categoryvalue 代表希望往横坐标轴上的那个坐标上添加数据,不指定的话新的横坐标就会填上去。

                    返回值代表在哪个曲线种类上那个横坐标上添加的数据,也就是横坐标编号。

    先写到这里吧,以后慢慢补充!

      

    展开全文
  • PB自定义折线图

    2018-12-24 12:27:29
    PB自定义折线图
  • PB手动绘制图形曲线

    热门讨论 2011-12-18 18:23:51
    PB手动绘制图形曲线,可以实现实时曲线和历史曲线
  • 示例中在PB9.0环境下,使用了多线程产生随机数做数据源,通过TeeChart 8 OCX组件绘制两条曲线。FastLine类型的曲线分布在两个纵坐标轴上。供学习参考,也可以用来学习TeeChart的绘制曲线方法。
  • PB xy曲线图两个示例程序,压缩包中还有Teechart第三方控件及帮助文档,花了很大的精力收集到一起的,希望对大家有所帮助!
  • 新产品具备用户可选择的两段式(快充)或八段式(最适于完全充电)充电曲线,在内建的微处理器控制下可快速有效率地将电池充饱,提升有效储电量。  PB-1000系列设计包含了双充电端口,可同时处理两组电池组的充电任务...
  • pb 用数据窗口实现自由画图 折线图 显示数值 图示http://hi.csdn.net/attachment/201007/25/0_1280022736VGaU.gif
  • 曲线

    2021-07-25 07:58:25
    [shuāng qū xiàn]双曲线语音编辑锁定讨论上传视频一般的,双曲线(希腊语“ὑπερβολή”,字面意思是“超过”或“超出”)是定义为平面交截直角圆锥面的两半的一类圆锥曲线。它还可以定义为与两个固定的点...

    [shuāng qū xiàn]

    双曲线

    语音

    编辑

    锁定

    讨论

    上传视频

    一般的,双曲线(希腊语“ὑπερβολή”,字面意思是“超过”或“超出”)是定义为平面交截直角圆锥面的两半的一类圆锥曲线。

    它还可以定义为与两个固定的点(叫做焦点)的距离差是常数的点的轨迹。这个固定的距离差是a的两倍,这里的a是从双曲线的中心到双曲线最近的分支的顶点的距离。a还叫做双曲线的实半轴。焦点位于贯穿轴上,它们的中间点叫做中心,中心一般位于原点处。

    中文名

    双曲线

    外文名

    hyperbola

    学科应用

    实际应用

    标准方程1

    x²/a²-y²/b² = 1焦点在x轴标准方程2

    y²/a²-x²/b² = 1焦点在y轴

    a,b大小

    a >0,b >0

    渐近线方程

    Y=±(b/a)X或Y=±(a/b)X

    离心率

    e=c/a(a²+b²=c²)

    参数关系

    c²=a²+b²

    准线方程

    x=±a²/c[1]

    双曲线简介

    编辑

    语音

    在数学中,双曲线(多重双曲线或双曲线)是位于平面中的一种平滑曲线,由其几何特性或其解决方案组合的方程定义。双曲线有两片,称为连接的组件或分支,它们是彼此的镜像,类似于两个无限弓。

    双曲线是由平面和双锥相交形成的三种圆锥截面之一。(其他圆锥部分是抛物线和椭圆,圆是椭圆的特殊情况)如果平面与双锥的两半相交,但不通过锥体的顶点,则圆锥曲线是双曲线。

    双曲线出现在许多方面:

    作为在笛卡尔平面中表示函数cdfc0e13aa1aeefb3e6b6d51174715d1.svg的曲线;作为日后的阴影的路径;作为开放轨道(与闭合的椭圆轨道不同)的形状,例如在行星的重力辅助摆动期间航天器的轨道,或更一般地,超过最近行星的逃逸速度的任何航天器;作为一个单一的彗星(一个旅行太快无法回到太阳系)的路径;作为亚原子粒子的散射轨迹(以排斥而不是吸引力作用,但原理是相同的);在无线电导航中,当距离到两点之间的距离而不是距离本身可以确定时,等等。

    双曲线的每个分支具有从双曲线的中心进一步延伸的更直(较低曲率)的两个臂。对角线对面的手臂,一个从每个分支,倾向于一个共同的线,称为这两个臂的渐近线。所以有两个渐近线,其交点位于双曲线的对称中心,这可以被认为是每个分支反射以形成另一个分支的镜像点。在曲线cdfc0e13aa1aeefb3e6b6d51174715d1.svg的情况下,渐近线是两个坐标轴。

    双曲线共享许多椭圆的分析属性,如偏心度,焦点和方向图。许多其他数学物体的起源于双曲线,例如双曲抛物面(鞍形表面),双曲面(“垃圾桶”),双曲线几何(Lobachevsky的着名的非欧几里德几何),双曲线函数(sinh,cosh,tanh等)和陀螺仪矢量空间(提出用于相对论和量子力学的几何,不是欧几里得)。[2]

    双曲线名称定义

    编辑

    语音

    我们把平面内与两个定点F1,F2的距离的差的绝对值等于一个常数(常数为2a,小于|F1F2|)的轨迹称为双曲线;平面内到两定点的距离差的绝对值为定长的点的轨迹叫做双曲线。

    即:||PF1|-|PF2||=2a

    定义1:

    平面内,到两个定点的距离之差的双曲线。定点叫双曲线的焦点,两焦点之间的距离称为焦距,用2c表示。

    定义2:平面内,到给定一点及一直线的距离之比为常数e(e>1,即为双曲线的离心率;定点不在定直线上)的点的轨迹称为双曲线。定点叫双曲线的焦点,定直线叫双曲线的准线。

    定义3:一平面截一圆锥面,当截面与圆锥面的母线不平行也不通过圆锥面顶点,且与圆锥面的两个圆锥都相交时,交线称为双曲线。

    定义4:在平面直角坐标系中,二元二次方程F(x,y)=Ax2+2Bxy+Cy2+2Dx+2Ey+F=0满足以下条件时,其图像为双曲线。

    1、系数矩阵满秩,即a1a04e640d5f243dcbb3c817694893e0.svg

    2、Δ=B2-AC>0

    在高中的解析几何中,学到的是双曲线的中心在原点,图像关于x,y轴对称的情形。这时双曲线的方程退化为:.Ax²+Cy²+F=0

    上述的四个定义是等价的,并且根据负号的前后位置判断图像关于x,y轴对称。

    双曲线特征介绍

    编辑

    语音

    双曲线标准方程

    1、焦点在x轴上时为:

    600d7b5a919594532b9cf49b7a97edfe.svg (a>0,b>0)

    2、焦点在y轴上时为:

    cd940a3e1af5d850da6e06c960b0acdd.svg (a>0,b>0)

    其中:||PF1|-|PF2||=2a,b²=c²-a²,|F1F2|=2c。

    双曲线分支

    可以从图像中看出,双曲线有两个分支。当焦点在x轴上时,为左支与右支;当焦点在y轴上时,为上支与下支。

    双曲线焦点

    在定义1中提到的两个定点称为该双曲线的焦点。双曲线有两个焦点,焦点的横(纵)坐标满足c²=a²+b²。

    双曲线准线

    在定义2中提到的给定直线称为该双曲线的准线。

    双曲线的准线的方程是:e7a7079abc5cf7e5f58a6d3b227638b1.svg (焦点在x轴)或4f86673d7a4eb4d0e11764db4df86f54.svg (焦点在y轴)

    双曲线离心率

    在定义2中提到的到给定点与给定直线的距离之比,称为该双曲线的

    离心率a34d69eaa96141593d30d12dd6997137.svg

    双曲线有两个焦点,两条准线。(注意:尽管定义2中只提到了一个焦点和一条准线,但是给定同侧的一个焦点,一条准线以及离心率可以根据定义2同时得到双曲线的两支,并且两支关于虚轴对称。所以在两侧的焦点,准线和相同离心率得到的双曲线是相同的。)

    双曲线顶点

    双曲线和它的焦点连线所在直线有两个交点,它们叫做双曲线的顶点。

    双曲线实轴

    两顶点之间的线段称为双曲线的实轴,实轴长的一半称为半实轴。

    双曲线虚轴

    在标准方程中令x=0,得y²=-b²,该方程无实根,为便于作图,在y轴上画出B1(0,b)和B2(0,-b),以B1B2为虚轴。

    双曲线渐近线

    双曲线有两条

    渐近线的方程求法是:将标准方程的右边的常数改为0,即可用解二元二次的方法求出渐近线的解。

    以焦点在x轴上的双曲线为例,将方程改为7d5df50f4450b9176f168183089c99e9.svg,移项之后两边开平方得e2ca6b2cbf03dfe0d73a67a74b8b0c82.svg,这就是焦点在x轴上的双曲线的渐近线方程。

    同理可知焦点在y轴上的双曲线的渐近线方程为01bcd5b89b06485cb9d7799d5ae01356.svg

    双曲线参数方程

    焦点在x轴上的双曲线的参数方程为f7653ed50cefcbbd72caaca8157c1f8e.svg,其中参数t的范围是[0,2π)且17df1863c8b013f44c016b6914fe6b4e.svg

    双曲线极坐标方程

    以双曲线的右焦点为极点,x轴正方向为极轴建立极坐标系,则双曲线的极坐标方程为969f8190ffc915ba5bc5e3bcea521252.svg。其中e是双曲线的离心率,e>1;c72576537015744d9f20164dd1a6240f.svg叫做双曲线的焦准距,即焦点到对应准线的距离。

    注意极角θ的取值,因双曲线的e>1,会出现分母为0的情况。解1-ecosθ=0,得cosθ=1/e=a/c,在[0,2π)上存在两个点使得等式成立。事实上这两个角恰好就是两条渐近线的倾斜角。

    若以左焦点为极点,仍然以x轴正方向为极轴建立极坐标系,则双曲线的极坐标方程为ed1a2535c58c782606e431b88a9779ce.svg

    双曲线焦半径

    连接焦点与双曲线上任意一点所得的线段叫做双曲线的焦半径,一般用r1、r2来表示左焦半径与右焦半径。

    焦半径公式可由距离公式或圆锥曲线的第二定义推出。

    双曲线顶点连线斜率

    双曲线上一点(不包括两顶点)与两顶点连线的斜率之积为定值6818e334b11bbc0521dbe7beb2caa2d7.svg。有的参考书上把这条性质看作双曲线的第三定义,即平面内一点0b45f0da82ffaa8de35b449f6fde2e2d.svg与两定点7ef3f6080b6de3e3f5d489338f3dd8ae.svg的连线的斜率之积为定值(该定值>0)时,P的轨迹为双曲线(但不包括两定点)。

    0b13f73ec77f50db65a7cce7bacafa33.png

    双曲线

    双曲线实际应用

    编辑

    语音

    双曲线在实际中的应用有通风塔,冷却塔,埃菲尔铁塔,广州塔等。

    双曲线几何性质

    编辑

    语音

    由于双曲线在高考的小题中经常出现,并且经常结合渐近线出题,这里列举几个常见的双曲线几何性质,尤其是关于渐近线的性质,便于小题中能快速使用这些性质来解题。

    双曲线有关渐近线的性质

    (1)设双曲线的右准线和一条渐近线交于P,A是右支的端点,F是右焦点,那么OP=OA,OP⊥PF。左边同理。根据这个性质,过焦点作渐近线的垂线,垂足一定在准线上,并且Rt△OPF的三边恰好为a、b、c。

    证明:右准线的方程为f64d314981bddcd534062e3ed1ea90c6.svg ,设它和渐近线35e3fd8c190493c0db185a774e53b7ef.svg 交于f1985a189e8b9bf6a64eb79bf087f6bb.svg ,于是利用两点之间的距离公式,OP=a=OA。

    同时由斜率的定义得到b6ea066b021ead9c457212c94ae745e9.svg ,所以699dff0838d767d67fa2edfcc108eb58.svg 。连接PF,在△OPF中使用余弦定理可得PF=b,∠OPF=90°。即Rt△OPF的三边恰好为a、b、c。

    (2)过双曲线上任意一点P作某条渐近线的平行线,交准线于Q,则PQ=PF。

    证明:以右焦点和右准线为例,过P作PM⊥准线于M,根据双曲线的第二定义,21795941b3cf24bc0c204249701a51f4.svg

    所以PF=PM*e

    又根据已知条件,PQ与PM的夹角(或其补角)恰好为渐近线的倾斜角,于是3225b09bc6c987c9a916b1cf3ed0fb46.svg ,所以b252ee912fe8be6406327998ae994419.svg

    根据三角函数的定义,e40be8a2f25e8e9c9624871a1bb46df1.svg

    (3)过双曲线上一点P作x(y)轴的平行线,交渐近线于A、B,则PA*PB=a²(b²)。

    证明:以作x轴的平行线为例。设P(x0,y0),平行于x轴的直线为y=y0,交渐近线于f931ab5fda7f7232fd5026d706319144.svg 。于是:

    ccb3b9d86ae41b5cd750a7922ee45af0.svg

    8717eb75e40d1e5109a9ca531d8dfefc.svg

    (4)过双曲线上一点P作两条渐近线的垂线PM、PN,则e551a34d441556bbbfe737973cd4052e.svg

    证明:根据平面几何知识可知∠MON和∠MPN互补,因此cos∠MPN=-cos∠MON

    而根据双曲线的对称性,x轴平分∠MON,利用三角函数的万能公式,

    153bd4d27743e777c5e7f3c4325a1d41.svg

    因此3232739d0ed77ad954fe50a301123075.svg

    又设P(x0,y0),利用点到直线的距离公式,520934f52e0b05043896dfffdb830a5a.svg

    所以c024f623c89235056594d2133d600792.svg

    注意P点在双曲线上,有2c0cc105693e1f5ce6fa9241c508299f.svg ,代入上式得到最终结果。

    (5)设一条直线与双曲线交于A、B两点(可以同支或不同支),交两条渐近线于C、D两点,则AC=BD。特别地,若直线是双曲线的切线,切点为P,那么有PC=PD。

    证明:利用平面几何。

    ①当直线垂直于x轴时,根据对称性立刻得到结论。

    ②当直线不垂直于x轴时,过A、B分别作x轴的垂线,两条垂线交两渐近线于M、N、R、S四点。

    得到两组相似三角形△ACM∽△BCR和△ADN∽△BDS

    于是有27bfcd2ce7ef6c22ce4fc72e49ea3164.svg

    将两个等式相乘,得12ece80854d007283d76349c8b70e3a6.svg

    又根据性质3,AM*AN=BR*BS=b²,所以有AC*AD=BC*BD

    AC*(AB+BD)=BD*(AB+AC)

    化简得AC=BD

    当CD是切线时,AB重合为一点P,此时有PC=PD,即:双曲线的一条切线交两条渐近线于两点,则切点到这两点的距离相等。

    (6)双曲线的一条切线交渐近线于A、B两点,则:

    bd3ad85b767c674709f9a0868434e385.svg 为定值;

    ②OA*OB为定值。

    上述定值均与切点位置无关。

    证明:显然,所有平行于x轴的直线都和双曲线有两个交点,因此它们都不会是切线,即双曲线的切线必定与x轴不平行。

    所以设切线方程为x=my+n,联立双曲线方程,消去x,得

    84a89ccb94327da5cd47dfe64b9e82d1.svg

    切线和双曲线只有一个交点,判别式为0,因此9d2246aee89bc37cd3cbd7895ab1c2b3.svg

    化简得n²=a²-b²m²

    从该式子可看出a²>b²m²(因为n一定不会是0,如果n=0则b²m²=a²,使得上述方程的二次项为0,于是得到矛盾方程a²b²=0),因此a±bm≠0。

    联立切线和两条渐近线方程,可解得433cd9fb412c40c510cf3bbdd947449c.svg

    设切线和x轴交于N(n,0),则

    9cde158d2f054fed27d21d6fba5a1ba7.svg

    为定值,与切点所处位置无关。

    要计算OA*OB,直接套距离公式非常麻烦,可利用向量的方法。

    因为2cb5937fc5b42c33a2a6a1355819e51f.svg ,且1164600f4a164d379694536f0ed526f8.svg (证明见性质4),所以

    246fdaa0e7ede11e00a52caacfa0247b.svg

    为定值,与切点所处位置无关。

    (7)过双曲线上任意一点P作两渐近线的平行线,分别交于A、B两点,则平行四边形OAPB的面积为定值(与P的位置无关)。

    设P(x0,y0),那么PA和PB的方程可写为cd3675dbe47ce21738167e5a84e018c9.svg459d8fee5af19595d0ae3092a3e377ab.svg,于是可以分别求出a830eb922121253472a76ee6731993df.svg

    利用平行四边形的面积公式,

    2367807dfd8b94afc7c1bc2110e44717.svg

    该性质也可以看作性质(5)(6)的推论,这是因为假设过P的切线交渐近线于M、N两点,由性质(5)可知P是MN的中点。于是由三角形中位线定理,A、B分别是OM、ON中点。那么S△OAP=1/2*S△OMP,S△OBP=1/2*S△ONP。因此S△OAP+S△OBP=1/2*(S△OMP+S△ONP),即S平行四边形OAPB=1/2*S△OMN。根据性质(6)可知S平行四边形OAPB=1/2*ab是定值。

    双曲线其他性质

    因为圆锥曲线涉及切线问题的几乎只有焦点在y轴上的抛物线,双曲线不会考,但作为补充仍给出下列性质。

    (8)双曲线600d7b5a919594532b9cf49b7a97edfe.svg 上任意一点d50dbfebb564b1676f0d9ba097b232cf.svg 的切线方程为a4547281071f52cdeedaa075fa14a715.svg (注:利用隐函数的求导法则求出斜率后,根据点斜式写出切线方程)

    (9)设双曲线在P点的切线与准线交点为Q,那么∠PFQ=90°。焦点弦两端的切线相交于准线上。

    (10)设PF1和PF2是两条焦半径,那么P点的切线平分∠F1PF2。反过来,若已知某直线平分焦半径PF1与PF2的夹角,那么该直线与双曲线切于P。这个性质又被称作双曲线的光学性质,即从一个焦点发出的光线,经双曲线反射后,反射光的反向延长线经过另一个焦点。

    (11)若椭圆和双曲线的焦点相同,在椭圆与双曲线的交点处分别作椭圆与双曲线的切线,那么这两条切线垂直。

    双曲线蒙日圆问题

    编辑

    语音

    设双曲线两条互相垂直的切线交于P,则P的轨迹是一个圆(去掉与渐近线的4个交点)。

    设交点P(x0,y0),因为双曲线的切线不可能与x轴平行,所以另一条切线不可能与y轴平行,即两条切线都有斜率。

    设切线方程为y=k(x-x0)+y0,联立双曲线,消去y得

    e5d825eeb5e18dfe5e2b07a4cb1b07e3.svg

    因为直线和双曲线相切,判别式为0,得

    b1a8d332700dbd974546496f3630bc1b.svg

    整理得f21437826f20483d734349d693285481.svg

    两条切线互相垂直,斜率之积为-1,根据韦达定理,有eb3586d1e2c158547d5c7c42008fe512.svg

    整理得2c0df5a9e9b171dff2a67ed0ec329573.svg

    但是,注意到一开始联立切线与双曲线的方程中,二次项系数不能为0,即08a28e33ee0c9ac2857a41ca1837595b.svg 。把这个关系代入关于k的一元二次方程中,得到1752cf31f7abe3d8d15883ed1eaf1b70.svg 。因此,P的轨迹是去掉与渐近线的4个交点的圆2f5259d9feeee503c8c2070a8310520b.svg ,这个圆叫做蒙日圆,又叫做外准圆。

    注意:只有当a>b时方程x²+y²=a²-b²才表示一个圆,此时双曲线的离心率510160e02c2bb54d811fb31ce016aabd.svg

    双曲线内准圆问题

    编辑

    语音

    上面介绍了外准圆(蒙日圆)的概念,现在来研究内准圆的概念。

    设AB是双曲线的一条弦(A和B可以在同支或不同支),弦对中心O的张角∠AOB=90°,则无论AB的位置如何,O到直线AB的距离都是一个常数。以该常数为半径,中心O为圆心的圆叫做双曲线的内准圆。

    为了证明O到AB的距离是常数,先证明一个引理。

    引理:若A、B在双曲线600d7b5a919594532b9cf49b7a97edfe.svg 上并且OA⊥OB,那么5c12f8fc7fc99b75e1c5af10258f1dc4.svg 是常数(与A、B位置无关)。

    以O为极点,x轴的非负半轴为极轴建立极坐标系,则根据极坐标与直角坐标的转换关系,双曲线上任意一点(ρ,θ)均满足ea2fe96140a8b073bcb29d96197f9f11.svg

    由于OA⊥OB,不妨设A(ρ1,θ),B(ρ2,θ+90°),代入上述方程中,得

    679130411ba2ce3907f9ae5344718c9d.svg

    104478d0d84d00c344f1739abe6514a1.svg

    第二个等式是利用了三角函数的诱导公式cos(θ+90°)=-sinθ和sin(θ+90°)=cosθ。

    又根据极坐标的定义,c4fab4412b874fe35f35ba886d5b7ddb.svg 为定值。

    有了引理之后,利用面积法可以证明O到AB的距离是定值。

    设O到AB距离是d,根据三角形的面积公式,有6633718a115c8976a40042cf1f1f135c.svg

    两边平方,得b60fb50365937bfa40f4640d23c21ff1.svg

    所以e12d11d7ed79e7adaa8a5d9ffcd42a80.svg 是定值。

    内准圆的方程为1f5c63d85fbd7a76888c33def8ccdee9.svg

    注意:同外准圆相反,拥有内准圆的条件是3ecb0163e65181c16855a37e644d9195.svg,所以双曲线内外准圆只能有其中一个。特别地,(又叫直角双曲线,满足a=b)既没有内准圆也没有外准圆。

    这个性质可以简单记忆如下:双曲线内准圆的任意一条切线被双曲线截得的弦,对中心O的张角为直角。

    双曲线焦点三角形面积公式

    编辑

    语音

    设P为双曲线上一点,F1、F2为两个焦点,△PF1F2叫做焦点三角形。若∠F1PF2=θ,

    则S△F1PF2=4fbb5235d9eea3c495c89abcb3230897.svg

    推导:

    不妨设|PF1|=m,|PF2|=n,|F1F2|=2c。由余弦定理,

    7d2dc6f8b762471818c6fbe173b4bb7b.svg

    而根据双曲线的定义,|m-n|=2a,两边平方,整理得m²+n²=2mn+(2a)²

    代入余弦定理的表达式:7f65071430901c1db2b305cea8c18e72.svg

    所以得到65bc347e2677ecc08a0fad234177e843.svg

    所以35c33d96a220e524ac381f9105b54a16.svg

    此外,若设P(x0,y0),则△PF1F2可以看做底是2c,高是|y0|的三角形,那么2811f5568112c7d61b032c87868a0197.svg

    所以如果知道了点P的坐标或∠F1PF2的其中一个,那就可以求另一个。

    075af21b5ff6ae92c5e75c50b8b3f0bb.png若从几何角度研究这个结论:02826041133b20f1209122a9a850182d.svg,如图所示,过P作双曲线的切线,交右准线于Z。

    则由几何性质(8)和(9)可知PZ是角平分线,且有∠PSZ=90°

    而PM⊥MZ,即∠PMZ=90°,所以PMZS四点共圆

    所以有∠XMS=∠SPZ=θ/2

    而XS是,1d487e996b07f1be849c9d0485ce691c.svg,根据三角函数的定义,03eb470ed6995e113dfbb651f55f5339.svg,即02826041133b20f1209122a9a850182d.svg

    例:已知F1、F2为双曲线C:x2-y2=1的左右焦点,点P在C上,∠F1PF2=60°,则P到x轴的距离为多

    少?

    解:由双曲线焦点三角形面积公式得:

    S△F1PF2=b2×cot(θ/2)=5a8021a01559b42a743783231a904930.svg

    设P到x轴的距离为h,则S△F1PF2=;h=eb811d34764294d48c14c8a67e8daaa5.svg

    双曲线重点

    编辑

    语音

    双曲线取值范围

    │x│≥a(焦点在x轴上)或者│y│≥a(焦点在y轴上)。

    双曲线对称性

    关于坐标轴和原点对称,其中关于原点成中心对称。

    双曲线顶点

    A(-a,0),A'(a,0)。同时AA'叫做双曲线的且│AA'│=2a。

    B(0,-b),B'(0,b)。同时BB'叫做双曲线的且│BB'│=2b。

    F1(-c,0)或(0,-c),F2(c,0)或(0,c)。F1为双曲线的左焦点,F2为双曲线的右焦点且│F1F2│=2c

    对实轴、虚轴、焦点有:a2+b2=c2

    双曲线渐近线

    焦点在x轴:e2ca6b2cbf03dfe0d73a67a74b8b0c82.svg

    焦点在y轴:01bcd5b89b06485cb9d7799d5ae01356.svg

    双曲线离心率

    第一定义:e=c/a且e∈(1,+∞)

    第二定义:双曲线上的一点P到定点F的距离│PF│与点P到定直线(相应)的距离d的比等于双曲线的离心率e。

    d点│PF│/d线(点P到定直线(相应准线)的距离)=e

    双曲线焦半径

    (圆锥曲线上任意一点P(x,y)到焦点距离)

    左焦半径:r=│ex+a│

    右焦半径:r=│ex-a│

    双曲线等轴双曲线

    一双曲线的实轴与虚轴长相等即:2a=2b且e=√2

    这时渐近线方程为:y=±x(无论焦点在x轴还是y轴)

    双曲线共轭双曲线

    双曲线S'的是双曲线S的虚轴且双曲线S'的虚轴是双曲线S的实轴时,称双曲线S'与双曲线S为。

    几何表达:S:(x2/a2)-(y2/b2)=1,S':(y2/b2)-(x2/a2)=1

    特点:

    (1)共渐近线,与渐近线平行得线和双曲线有且只有一个交点;

    (2)焦距相等;

    (3)两双曲线的平方后的倒数相加等于1。

    双曲线准线

    焦点在x轴上:x=±a2/c

    焦点在y轴上:y=±a2/c

    双曲线与反比例函数

    X2/a2-Y2/b2=1(a>0,b>0)

    而反比例函数的标准型是xy=c(c≠0)

    但是反比例函数图象确实是双曲线轨迹经过旋转得到的

    因为xy=c的对称轴是y=x,y=-x而X2/a2-Y2/b2=1的对称轴是x轴,y轴

    所以应该旋转45°

    设旋转的角度为a(a≠0,)

    (a为双曲线渐进线的)

    则有:

    X=xcosa+ysina

    Y=-xsina+ycosa

    取a=π/4

    则:

    X2-Y2=(xcos(π/4)+ysin(π/4))2-(xsin(π/4)-ycos(π/4))2

    =(√2/2x+√2/2y)2-(√2/2x-√2/2y)2

    =4(√2/2x)(√2/2y)

    =2xy

    而xy=c

    所以:

    X2/(2c)-Y2/(2c)=1(c>0)

    Y2/(-2c)-X2/(-2c)=1(c

    由此证得,其实就是双曲线的一种形式,只不过是双曲线在平面直角坐标系内的另一种摆放形式。

    双曲线内、上、外

    在双曲线的两侧的区域称为双曲线内,则有x2/a2-y2/b2>1;

    在双曲线的线上称为双曲线上,则有x2/a2-y2/b2=1;在双曲线所夹的区域称为双曲线外,则有x2/a2-y2/b2。

    双曲线光学性质

    编辑

    语音

    61997ee23189ad5effa0f1643e184ce9.png

    双曲线的光学性质从双曲线一个焦点发出的光,经过双曲线反射后,反射光线的反向延长线都汇聚到双曲线的另一个焦点上。双曲线这种反向虚聚焦性质,在的设计等方面,也能找到实际应用。

    词条图册

    更多图册

    参考资料

    1.

    毋光先, 毋绪道. 椭圆 双曲线准线的几何作图[J]. 数学通报, 2003(3):26-26.

    2.

    Kazarinoff, Nicholas D. (2003), Ruler and the Round, Mineola, N.Y.: Dover, ISBN 0-486-42515-0

    展开全文
  • 摘要:本文整理自360 政企安全集团的大数据工程师苏军以及刘佳在 Flink Forward Asia 2020 分享的议题《基于 Flink 的 PB 级数据即席查询实践》,文章内容为...

    摘要:本文整理自 360 政企安全集团的大数据工程师苏军以及刘佳在 Flink Forward Asia 2020 分享的议题《基于 Flink 的 PB 级数据即席查询实践》,文章内容为:

    1. Threat Hunting 平台的架构与设计(苏军)

    2. 以降低 IO 为目标的优化与探索(刘佳)

    3. 未来规划

    Tips:点击「阅读原文」即可查看原文视频~

    首先做一个简单的个人以及团队介绍。我们来自 360 政企安全集团,目前主要从事 360 安全大脑的 “威胁狩猎“ 项目的开发工作。我们团队接触 Flink 的时间比较早,在此期间,我们基于 Flink 开发出了多款产品,并在 2017 年和 2019 年参加了于柏林举办的 Flink Forward 大会,分别介绍了我们的 “UEBA” 以及 “AutoML” 两款产品。

    本次分享主要分为两块内容:

    • 第一部分 “Threat Hunting 平台的架构与设计” 将由苏军来为大家分享;

    • 第二部分 “以降低 IO 为目标的优化与探索” 将由刘佳来为大家分享。

    一、Threat Hunting 平台的架构与设计 


    第一部分内容大致分为三个部分,分别是:

    • 平台的演进

    • 架构设计

    • 深入探索索引结构

    1. 平台的演进

    我们认为所有技术的演化和革新都需要具体的商业问题来驱动,以下是我们团队近几年基于 Flink 开发的几款产品:

    • 2017 年我们基于 Flink DataStream 开发了用户行为分析系统 UEBA,它是通过接入企业 IT 拓扑的各类行为数据,比如身份认证数据、应用系统访问数据、终端安全数据、网络流量解析数据等等,以用户 / 资产为核心来进行威胁行为的实时检测,最后构建出用户威胁等级和画像的系统;

    • 2018 年基于 UEBA 的实施经验,我们发现安全分析人员往往需要一种手段来获取安全事件对应的原始日志,去进一步确认安全威胁的源头和解决方式。于是我们基于 Spark 开发了 HQL 来解决在离线模式下的数据检索问题,其中 HQL 可以认为是表达能力比 SQL 更加丰富的查询语言,大致可以看作是在 SQL 能力的基础上增加了算法类算;

    • 2019 年随着离线 HQL 在客户那边的使用,我们发现其本身就能够快速定义安全规则,构建威胁模型,如果在离线模式下写完语句后直接发布成在线任务,会大大缩短开发周期,加上 Flink SQL 能力相对完善,于是我们基于 Flink SQL + CEP 来升级了 HQL 的能力,产生了 HQL RealTime 版本;

    • 2020 年随着客户数据量的增大,很多已经达到了 PB 级,过往的解决方案导致离线的数据检索性能远远低于预期,安全分析人员习惯使用 like 和全文检索等模糊匹配操作,造成查询延时非常大。于是从今年开始,我们着重优化 HQL 的离线检索能力,并推出了全新的 Threat Hunting 平台。

    通过调查发现,拥有 PB 级数据规模的客户往往有以下几个商业需求:

    • 第一是低成本的云原生架构。我们知道目前大部分的大数据架构都是基于 hadoop 的,其特点是数据就在计算节点上,能够减少大量网络开销,加速计算性能。但是整个集群为了做到资源均衡,往往需要相同的资源配置,且为了能够存储尽量多的数据,集群规模会很大, 所以这类架构在前期需要投入大量硬件成本。

      而存算分离和弹性计算则能够解决这一问题,因为磁盘的价格是远低于内存和 CPU 的,所以用廉价的磁盘存储搭配低配 CPU 和内存来存储数据,用少量高配机器来做计算,可以在很大程度上降低成本。

    • 第二是低延时的查询响应。安全分析人员在做威胁检测时,大部分时间是即席查询,即通过过滤、join 来做数据的检索和关联。为了能够尽快的获取查询结果,对应的技术方案是:列存/索引/缓存。

      • 列存不用多说了,是大数据领域常见的存储方案;

      • 在列存的基础上,高效的索引方案能够大量降低 io,提高查询性能;

      • 而存算分析带来的网络延时可以由分布式缓存来弥补。

    • 第三是需要丰富的查询能力,其中包括单行的 fields/filter/udf 等,多行的聚合 /join,甚至算法类的分析能力,这部分我们主要依赖于自己开发的分析语言 HQL 来提供。

    2. 架构设计

    首先,数据是来自于已经存储在 ES 中的历史数据和 kafka 里的实时数据,其中 ES 里的历史数据我们通过自己开发的同步工具来同步,kafka 里的实时数据我们则通过 Streaming File Sink 写 orc 文件到存储集群。在数据同步的同时,我们会将这批数据的索引信息更新到数据库中。

    安全分析人员会从前端页面通过写交互式分析语言 HQL 发起数据检索的请求,此时请求会进入调度系统,一旦开始执行作业,首先会将分析语句解析成算子列表,算子缓存算法会判断该次查询是否可以命中缓存系统中已有的缓存数据。

    • 如果分析语句的输入是已经算好并且 cache 好了的中间结果,那么直接读取缓存来继续计算;

    • 如果不能命中,证明我们必须从 orc 文件开始重新计算。

    我们会先提取出查询语言的过滤条件或者是 Join 条件来做谓词下推,进入索引数据库中获得目前符合该查询的文件列表,随后将文件列表交给计算引擎来进行计算。计算引擎我们采用双引擎模式,其中复杂度高的语句我们通过 Flink 引擎来完成,其它较为简单的任务我们交给平台内部的 “蜂鸟引擎”。“蜂鸟引擎” 基于 Apache arrow 做向量化执行,加上 LLVM 编译,查询延迟会非常小。

    由于整个系统的存算分离,为了加速数据读取,我们在计算集群节点上增加了 alluxio 来提供数据缓存服务,其中不仅缓存 remote cluster 上的数据,同时会缓存部分历史作业结果,通过算子缓存的算法来加速下次计算任务。

    这里还需要强调两点:

    • 第一点是索引数据库会返回一批符合该条件的文件列表,如果文件列表非常大的话,当前的 Flink 版本在构建 job graph 时,在获取 Filelist Statistics 逻辑这里在遍历大量文件的时候,会造成长时间无法构建出 job graph 的问题。目前我们对其进行了修复,后期会贡献给社区。

    • 第二点是数据缓存那一块,我们的 HQL 之前是通过 Spark 来实现的。用过 Spark 的人可能知道,Spark 会把一个 table 来做 cache 或 persist。我们在迁移到 Flink 的时候,也沿用了这个算子。Flink 这边我们自己实现了一套,就是用户在 cache table 时,我们会把它注册成一个全新的 table source,后面在重新读取的时候只会用这个新的 table source 来打通整个流程。

    3. 深入探索索引结构

    数据库为了加速数据检索,我们往往会事先为数据创建索引,再在扫描数据之前通过索引定位到数据的起始位置,从而加速数据检索。而传统数据库常见的是行索引,通过一个或若干字段创建索引,索引结果以树形结构存储,此类索引能够精确到行级别,索引效率最高。

    某些大数据项目也支持了行索引,而它所带来的弊端就是大量的索引数据会造成写入和检索的延时。而我们平台处理的是机器数据,例如终端/网络这类数据,它的特点是重复度非常高,而安全分析的结果往往非常少,极少数的威胁行为会隐藏在海量数据里,占比往往会是 1/1000 甚至更少。

    所以我们选择性价比更高的块索引方案,已经能够支撑目前的应用场景。目前通过客户数据来看, 索引能够为 85% 的语句提供 90% 以上的裁剪率,基本满足延时要求。

    某些大数据平台是将索引数据以文件的形式存储在磁盘上,外加一些 cache 机制来加速数据访问,而我们是将索引数据直接存在了数据库中。主要有以下两个方面的考虑:

    • 第一是 transaction。我们知道列存文件往往是无法 update 的,而我们在定期优化文件分布时会做 Merge File 操作,为了保证查询一致性,需要数据库提供 transaction 能力。

    • 第二是性能。数据库拥有较强的读写和检索能力,甚至可以将谓词下推到数据库来完成,数据库的高压缩比也能进一步节省存储。

    上图为块索引的设计。在我们的索引数据库中,我们把这些数据分为不同类别数据源,比如终端数据为一类数据源,网络数据为一类数据源,我们分类数据源的逻辑是他们是否拥有统一的 Schema。就单个数据源来说,它以日期作为 Partition,Partition 内部是大量的 ORC 小文件,具体到索引结构,我们会为每一个字段建 min/max 索引,基数小于 0.001 的字段我们建 Bloom 索引。

    上文提到过,安全人员比较喜欢用 like 和全文检索。对于 like 这一块,我们也做了一些优化。全文检索方面,我们会为数据来做分词,来构建倒排索引,同时也会对于单个分词过后的单个 item 来做文件分布层面的位图索引。

    上图是一个索引大小的大致的比例假设,JSON 格式的原始日志大有 50PB,转化成 ORC 大概是 1PB 左右。我们的 Index 数据是 508GB, 其中 8GB 为 Min/Max 索引,500GB 为 Bloom。加上上文提到的位图以及倒排,这个索引数据的占比会进一步加大。基于此,我们采用的是分布式的索引方案。

    我们知道日志是在不断的进行变化的,对于有的数据员来说,他有时会增加字段或者减少字段,甚至有时字段类型也会发生变化。

    那么我们采取这种 Merge Schema 模式方案,在文件增量写入的过程中,也就是在更新这批数据的索引信息的同时来做 Schema Merge 的操作。如图所示,在 block123 中,文件 3 是最后一个写入的。随着文件的不断写入,会组成一个全新的 Merge Schema。可以看到 B 字段和 C 字段其实是历史字段,而 A_V 字段是 A 字段的历史版本字段,我们用这种方式来尽量多的让客户看到比较全的数据。最后基于自己开发的 Input format 加 Merge Schema 来构建一个新的 table source ,从而打通整个流程。

    二、以降低 IO 为目标的优化与探索 


    上文介绍了为什么要选择块索引,那么接下来将具体介绍如何使用块索引。块索引的核心可以落在两个字上:“裁剪”。裁剪就是在查询语句被真正执行前就将无关的文件给过滤掉,尽可能减少进入计算引擎的数据量,从数据源端进行节流。

    这张图展示了整个系统使用 IndexDB 来做裁剪流程:

    • 第一步是解析查询语句。获取到相关的 filter,可以看到最左边的 SQL 语句中有两个过滤条件, 分别是 src_address = 某个 ip,occur_time > 某个时间戳。

    • 第二步将查询条件带入 Index DB 对应数据源的 meta 表中去进行文件筛选。src_address 是字符串类型字段,它会联合使用 min/max 和 bloom 索引进行裁剪。occur_time 是数值类型字段并且是时间字段,我们会优先查找 min/max 索引来进行文件裁剪。需要强调的是, 这里我们是将用户写的 filter 封装成了 index db 的查询条件,直接将 filter pushdown 到数据库中完成。

    • 第三步在获取到文件列表后,这些文件加上前面提到的 merged schema 会共同构造成一个 TableSource 来交给 Flink 进行后续计算。

    同时,构建 source 的时候,我们在细节上做了一些优化。比如在将 filter 传给 ORC reader 的时候,清除掉已经 pushdown 了的 filter, 避免在引擎侧进行二次过滤。当然, 这里并不是将所有 filter 都清除掉了,我们保留了 like 表达式,关于 like 的 filter pushdown 会在后文介绍。

    接下来着重介绍一下四大优化点:

    • 第一点,数据在未排序的情况下,裁剪率是有理论上限的,我们通过在数据写入的时候使用 hilbert 曲线排序原始数据来提升裁剪率;

    • 第二点,因为安全领域的特殊性,做威胁检测严重依赖 like 语法,所以我们对 orc api 进行了增强,使其支持了 like 语法的下推;

    • 第三点,同样是因为使用场景严重依赖 join,所以我们对 join 操作也做了相应的优化;

    • 第四点,我们的系统底层支持多种文件系统,所以我们选取 Alluxio 这一成熟的云原生数据编排系统来做数据缓存,提高数据的访问局部性。

    1. 裁剪率的理论上限及 Hilbert 空间填充曲线

    裁剪可以抽象成 N 个球扔进 M 个桶的概率问题,在这里我们直接说结论。假设行在块中随机均匀分布,所有块的总行数固定,查询条件命中的总行数也固定,则块命中率直接与 “命中的总行数 / 总块数” 正相关。

    结论有两个:

    • 第一点,如果命中总行数 = 总块数,即 X 轴值为 1 的时候,命中率为 2/3, 也就是 2/3 的块,都包含命中的行,对应的块修剪率的上限是 1/ 3。1/3 是一个很低数值,但是由于它的前提是数据随机均匀分布,所以为了让数据分布更好,我们需要在数据写入时对原始数据进行排序。

    • 第二点,假设命中总行数固定,那么大幅度减少每块中的行数来增加总块数,也能提升块修剪率。所以我们缩小了块大小。根据测试结果,我们设定每个文件的大小为:16M。缩小文件大小是很简单的。针对排序,我们引入了 hilbert 空间填充曲线。

    为什么使用 hilbert 曲线?主要是基于两点:

    • 首先是,以什么路径遍历 2 维空间,使路径的地址序列对其中任一维度都基本有序?为什么要对每一列或者说子集都有序?因为系统在使用的过程中,查询条件是不固定的。数据写入时排序用到了 5 个字段,查询的时候可能只用到了其中的一个或两个字段。Hilbert 排序能让多个字段做到既整体有序,又局部有序。

    • 另外,空间填充曲线有很多,还有 Z 形曲线、蛇形曲线等等,大家可以看看右边这两张对比图。直观的看,曲线路径的长跨度跳跃越少越好,点的位置在迭代过程中越稳定越好。而 hilbert 曲线在空间填充曲线里面综合表现最好。

    hilbert 用法,就是实现一个 UDF,输入列值,输出坐标值,然后根据坐标值排序。

    我们抽样了客户环境所使用的 1500 条 SQL 语句,过滤掉了其中裁剪率为分之 100% 的相关语句,也就是没有命中文件的无效语句。然后还剩下 1148 条,我们使用这些语句做了裁剪率排序后,对裁剪率进行了对比,裁剪率 95 百分位从之前的 68% 提升到了 87%,提升了 19%。可能大家会觉得 19% 这个数值不是特别高,但如果我们带上一个基数,比如说 10 万个文件,这样看的话就会很可观了。

    2. 字典索引上 Like 的优化

    之前也有讲到安全行业的特殊性,我们做威胁检测的时候会严重依赖 like 查询。鉴于此,我们也对它做了优化。

    • 首先我们为 ORC api 添加了 like 条件表达式,保证 SQL 中的 like 能下推到 orc record reader 中。

    • 其次,重构了 orc record reader 的 row group filter 逻辑,如果发现是 like 表达式,首先读取该字段的 dict steam,判断 dict stream 是否包含 like 目标字符串,如果字典中不存在该值,直接跳过该 row group,不用读取 data stream 和 length steam,能大幅提高文件读取速度。后期我们也考虑构建字典索引到索引数据库中,直接将字典过滤 pushdown 到数据库中完成。

    例如图上所示,最左边的 SQL 中有三个表达式。前两个在上文中已经提到了,是将 filter 直接 pushdown 到 index db 中完成,我们交给 orc reader 的 filter 只有最后一个 attachment_name like '%投标%',真正需要读取的记录只是 dict 包含 “投标” 的 row group,也就是做到了 row group 级别的过滤,进一步减少了需要进入计算引擎的数据量。

    3. 基于索引对 join 的优化

    威胁情报的匹配中大量使用 join 操作,如果要加速 join 的性能,仅仅是 where 条件的 filter pushdown 是远远不够的。

    Flink 中已经内置了许多 join 算法,比如 broadcast join, hash join 和 sort merge join。其中,sort merge join 对预先排好序的表 join 非常友好,而上文有提到我们使用 Hilbert 曲线来对多字段进行联合排序,所以 sort merge join 暂时不在我们的优化范围之内。

    另外,我们知道 join 的性能和左右表的大小正相关,而威胁情报 join 的稀疏度非常高,所以事先对左右表做裁剪,能够大幅减少进入 join 阶段的数据。

    上文提到过我们已经为常见字段建立了 bloom 索引。那么利用这些已经创建好的 bloom,来进行文件预过滤,就变得顺理成章,并且省掉了构建 bloom 的时间开销。

    对于 broadcast join,我们直接扫描小表,将小表记录依次进入大表所属文件的 bloom,判断该数据块是否需要, 对数据量大的表做预裁剪。

    对于 hash join,正如我们看到的,我们可以预先对 join key 的文件级 bloom 做 “预 join” 操作,具体就是将左表所属的某个文件的 bloom 依次与右表所属文件的 bloom 做 “与” 操作,只保留左右表能 “与后结果条数不为 0” 的文件,再让各表剩余的文件进入引擎做后续计算。

    比如说图上的这三张表,分别是 table1、 table2 和 table3 。我们可以从 index DB 中获取到表的统计信息,也就是文件个数或者说是文件表的大小。图上就直接列的是文件个数:table 1 是 1000 个, 然后 table 2 是 5 万个文件, table 3 是 3 万个文件。

    我们就是参照上一张图片里面的逻辑进行预 join,然后预估 join 的成本。我们会让成本低的预 join 先进行,这样的话就能够大幅度减少中间结果,提升 join 的效率。

    4. Alluxio 作为对象存储的缓存

    因为底层文件存储系统的多种多样,所以我们选取了 Alluxio 数据编排系统,Alluxio 的优点是让数据更靠近计算框架,利用内存或者 SSD 多级缓存机制加速文件访问,如果在完全命中 cache 的情况下,能够达到内存级 IO 的文件访问速度,减少直接从底层文件系统读文件的频次,很大程度上缓解了底层文件系统的压力。

    对我们系统来说就是它带来了更高的并发,而且对低裁剪率的查询更友好,因为低裁剪率的话就意味着需要读取大量的文件。

    如果这些文件在之前的查询中已经被 load 到 cache 里面,就能够大幅度的提升查询速度。

    在做完这些优化以后,我们做了性能对比测试。我们选取了一个规模为 249TB 的 es 集群。它使用了 20 台服务器,Flink 使用了两台服务器,为了在图标上看到更直观的对比效果,我们选取了 16 条测试结果。

    图表上红橙色的是 es,蓝色的是 HQL 优化前,绿色的是 HQL 优化后。上面的数字标签是与 es 相比,HQL 的性能差值。比如第一个标签就意味着 HQL 的性能五倍于 es,其中 6 号和 7 号比 es 慢,主要是因为 HQL 是块索引,es 是行索引,全在内存里面,所以可以做到超快的检索速度。13 号是因为 HQL 在使用 not equal 的情况下,裁剪率相对较差。

    总体说,优化效果是很明显的,大部分语句在与 es 查询速度相比是持平甚至略优的。完全满足客户对长周期数据存储和查询的期望。

    三、未来规划


    上图是未来规划。因为客户现场经常会涉及到很多的 BI Dashboard 运算和长周期运算报告的需求,所以我们下一步会考虑做 BI 预算,以及苏军提到的容器化和 JVM 预热,当然还有对标 es,以及提升多用户并发查询的能力。

    展开全文
  • 千万不要试图在jupyter notebook中打开.pb模型文件,否则你会得到: 这时候我以为shi编码的问题,开始转换编码,转换完成后发现shi乱ma。 后来网上查了,.pb文件里面存储的shi模型图,其实就是个二进制字符流文件...

    千万不要试图在jupyter notebook中打开.pb模型文件,否则你会得到:
    在这里插入图片描述这时候我以为shi编码的问题,开始转换编码,转换完成后发现shi乱ma。
    后来网上查了,.pb文件里面存储的shi模型图,其实就是个二进制字符流文件,这时候体现出tensorboard的强大了。
    在这里插入图片描述然后打开log所在目录:输入:tensorboard --logdir=./log/ --port=6006
    打开浏览器,输入终端提示的网址,
    就可以揭开庐山真面目拉!
    在这里插入图片描述
    这个文件里面存储的是graph和checkpoint,在载入的时候不需要重新构件图,直接使用
    model_file就是预训练好的.pb模型图
    在这里插入图片描述
    这样模型图就设置好了,接下来直接创建运行环境,
    在这里插入图片描述

    这里抽取的是倒数第二层tensor,可以利用我上面说的方式查看模型图每一层tensor的名字,我这里是‘pool_3’后面的0代表pool_3第一次输出的tensor。然后直接sess.run(),就可以用这个模型图处理自己的图像了。

    展开全文
  • PB 图表数据窗口操作

    2019-09-20 22:10:00
    string ls_outlet_id,ls_valuegrObjectType lgobt_ClickedObject string ls_grGraphname = "gr_1" int li_series,li_category lgobt_ClickedObject = this.ObjectAtPointer(ls_grGraphnam...
  • 贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。 除此之外,贝塞尔曲线还经常用来做动画,让动画过渡更平滑。本文则记录如何使用贝塞尔曲线定制平滑的动画效果,并使用C++编写了cmd...
  • 测定了不同Pb掺杂浓度下土壤中微量元素Pb 405.78 nm谱线的强度,采用内标法拟合得到了该分析谱线的激光诱导击穿光谱定标曲线,由定标曲线的拟合结果计算得到Pb元素的检测限质量分数为36.7×10-6。
  • PB中嵌入Microsoft Graph97

    2011-09-05 16:16:13
    PB中嵌入Microsoft Graph97
  • 原版本是pb11.5的,现转成PB9.0,有例子,虽不太完善但却能真正实现多线程,而不是PB本身所实现的共享机制。
  • 前言:贝塞尔曲线又称贝兹曲线,它的主要意义在于无论是直线或曲线都能在数学上予以描述。最初由保罗·德卡斯特里奥(Paul de Casteljau)于1959年运用德卡斯特里奥演算法开发(de Casteljau Algorithm),在1962,由...
  • 本文选取已知土壤背景含量的铜陵矿区,基于Hazen概率曲线,探讨了土壤污染重金属元素Pb背景含量与污染叠加含量的区分方法。得到Pb元素的背景含量为28.5μg/g,与该区深层土壤样中Pb元素含量的平均值(34μg/g)比较...
  • PB上的 graph 控件使用

    千次阅读 2014-07-05 15:09:19
    要做成这样的饼式占比图很简单,首先拖到jie
  • 运用计算机图形学的知识,采用4阶B样条基函数,节点向量取为[0先绘制控制多边形,再用分段直线段绘制B样条曲线
  • 过双曲线上一点P的切线交双曲线于AB两点则PA=PB
  • 在可调紫外线辐射下,当[Pb(苯)2(H2O)] 2 +,[Pb(苯)2(H2O)2] 2 +,[Pb(苯)] +,Pb +和苯+离子形成实验结果进行了分析。 观察到[Pb(苯)2] 2+的两个优化几何形状,即C2V蚀和C2错开。 [Pb(苯)2] 2+...
  • 曲线平滑算法

    万次阅读 多人点赞 2018-08-10 23:57:01
    由于项目开发需要对等值线进行平滑处理,所以研究了线条的平滑算法,经研究查阅资料,可以使用三次B样条曲线方程对线条进行平滑处理,而平滑处理可分为近似拟合和插值拟合两种,两种拟合处理各有其优缺点,以下会做...
  • 回流焊接温度曲线用户手册 (HLW)

    千次阅读 2020-03-19 16:31:38
    应用说明 ...本应用文档根据深圳市合力为科技有限公司的封装片在PCBA回流焊接过程中温度曲线说明,同时介绍焊料及回流焊接注意事项,推荐使用哑光锡和锡/铅饰面。 回流...
  • Android贝塞尔曲线与波浪进度条欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容...
  • 一般分为3类:三角形温度曲线、升温-保温-峰值温度曲线、低峰值温度曲线。三角形温度曲线(1)适用于简单的PCBA产品的三角形温度曲线对于简单产品,由于PCB相对容易加热、元件与印制板的温度比较接近,PCB表面温度差较...
  • (一)轨迹规划:贝塞尔曲线的python实现

    千次阅读 多人点赞 2020-08-18 18:06:12
    实现代码在最后。 一、参数方程 直角坐标系下参数方程 极坐标系下参数方程 直角坐标系下的参数方程: ...在介绍贝塞尔曲线之前,先复习一下高中数学——二项式定理: (a+b)n=cn0anb+cn1an−1b2+⋯+cnian−ibi+⋯+cnn.
  • SM2椭圆曲线公钥密码算法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,620
精华内容 1,848
关键字:

pb曲线