重明鸟软件知识平台
@FLyMath Lib
2017年03月09日发布FlyMath 0.62,增加以下函数:
        //顶点类:

        //返回a,b,c三点组成三角形面积。
        Fly_Vertex.TriangleArea(a, b, c)
        //物理检测类:

        //检测点P在任意四边形(a,b,c,d)区域内。如果在,则返回ture。
        Fly_Phy.PtInQuad(p,a,b,c,d)
        

2017年02月20日发布FlyMath 0.61,增加以下函数:
        //物理检测类:

        //两个正方形碰撞检测函数,q1,q2分别存入两个正方形的最小和最大顶点座标。碰撞返回ture。
        Fly_Phy.Quad2Quad(q1,q2)
        

2016年10月10日,修复下函数:
        Fly_Matrix.PerspectiveRH(m,fovy,aspect,zn,zf)
        

2016年10月7日发布FlyMath 0.6,增加以下函数:
        //物理检测类:

        //检测射线与三角形面是否碰撞,如果碰撞返回true,否则false,dist为线到面相交处的距离
        Fly_Phy.Ray2Triangle(pStart,pEnd,p1,p2,p3,dist)

        //检测射线与四边形的面是否碰撞,如果碰撞返回true,否则false,dist为线到面相交处的距离
        Fly_Phy.Ray2Quad(pStart,pEnd,p1,p2,p3,p4,dist)
        

2016年10月5日发布FlyMath 0.5,增加以下函数:
        //样条线插值类:

        //二维和三维BaryCentric样条线插值
        Fly_Spline.BaryCentric2(p,p1,p2,p3,f,g)
        Fly_Spline.BaryCentric3(p,p1,p2,p3,f,g)

        //二维和三维CatmullRom样条线插值
        Fly_Spline.CatmullRom2(p,p1,p2,p3,p4,s)
        Fly_Spline.CatmullRom3(p,p1,p2,p3,p4,s)

        //二维和三维Hermite样条线插值
        Fly_Spline.Hermite2(p,p1,tan1,p2,tan2,s)
        Fly_Spline.Hermite3(p,p1,tan1,p2,tan2,s)
        

2016年10月4日发布FlyMath 0.4,增加以下函数:
        //四元数类:

        //四元数q向量平方值
        Fly_Quaternion.LengthSq(q)

        //四元数q1标准化存q
        Fly_Quaternion.Normalize(q,q1)

        //四元数q1,q2插值s(线性或二次)存到q
        Fly_Quaternion_Slerp(q,q1,q2,s,isline)

        //绕v轴旋转角度转四元数q
        Fly_Quaternion.RotationAxis(q,v,angle)

        //矩阵m转四元数q
        Fly_Quaternion.MatToQuat(q,m)

        //四元数q转矩阵m
        Fly_Quaternion.QuatToMat(m,q)
        

2016年10月3日发布FlyMath 0.3,增加以下函数:
        //矩阵类:

        //nXn矩阵m进行标准化
        Fly_Matrix.Identity(m,n)

        //4X4矩阵m=m1*m2
        Fly_Matrix.Multiply(m,m1,m2)

        //4x4矩阵转置
        Fly_Matrix.Transpose(m,m1)

        //4x4矩阵m的逆矩阵
        Fly_Matrix.Inverse(im,m)

        //计算平移矩阵
        Fly_Matrix.Translation(m,x,y,z);

        //计算缩放矩阵
        Fly_Matrix.caling(m,x,y,z);

        //计算绕着X,Y,Z轴旋转的矩阵
        Fly_Matrix.RotateX(m,angle)
        Fly_Matrix.RotateY(m,angle)
        Fly_Matrix.RotateZ(m,angle)

        //获取左右手坐标系的视角矩阵
        Fly_Matrix.LookAtLH(m,eye,to,up)
        Fly_Matrix.LookAtRH(m,eye,to,up)

        //获取左右手坐标系的正交矩阵
        Fly_Matrix.OrthoLH(m,w,h,zn,zf)
        Fly_Matrix.OrthoRH(m,w,h,zn,zf)

        //获取左右手坐标系的透视矩阵
        Fly_Matrix.PerspectiveLH(m,fovy,aspect,zn,zf)
        Fly_Matrix.PerspectiveRH(m,fovy,aspect,zn,zf)

        //把屏幕点坐标转换成空间坐标
        Fly_Matrix.UnProject(v,pt,matView,matProj,viewport)
        

2016年10月2日发布FlyMath 0.2,增加以下函数:
        //顶点类:

        //两个二维向量的点乘
        Fly_Vertex.Dot2(v1,v2)

        //两个二维向量的叉乘
        Fly_Vertex.Cross2(v1,v2)

        //二维向量的平方值
        Fly_Vertex.LengthSq2(v)

        //两个二维顶点间S插值坐标
        Fly_Vertex.Lerp2(v,v1,v2,s)

        //两个二维顶点的距离
        Fly_Vertex.Distance2(v1,v2)

        //计算平面直线(v0,v1)和(v1,v2)的夹角度数
        Fly_Vertex.ComputAngle2(v1,v2,v3)

        //计算二维顶点的空间变换后位置
        Fly_Vertex.Transfrom2(v,v1,m)

        //获取三维向量v1和v2的点乘值
        Fly_Vertex.Dot3(v1,v2)

        //获取三维向量v1和v2的叉乘值
        Fly_Vertex.Cross3(v,v1,v2)

        //获取三维向量v的向量平方值
        Fly_Vertex.LengthSq3(v);

        //获取三维向量v的标准化值
        Fly_Vertex.Normalize3(v);

        //两个三维顶点距离
        Fly_Vertex.Distance3(v1,v2)

        //两个三维顶点间S插值坐标
        Fly_Vertex.Lerp3(v,v1,v2,s)

        //计算空间直线(v0,v1)和(v1,v2)的夹角度数
        Fly_Vertex.ComputAngle3(v1,v2,v3)

        //计算三维顶点的空间变换后位置
        Fly_Vertex.Transfrom3(v,v1,m)
        
2016年10月1日发布FlyMath 0.1,包括以下函数:
        //基础类:

        //获取0~n的随机整数
        Fly_Base.Random(n)

        //获取v的n次平方数
        Fly_Base.Power(v,n)
        

使用方法:
        <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
        <html>
        <head>
        <title>FlyMath数学库使用例子</title>
        <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
        <script type="text/javascript" src='http://api.cmnsoft.com/flymath/flymath_min.js' charset="utf-8"></script>
        <script>
        function show()
        {
          var v = FlyMath.Base.Power(10,2);
          alert(v);
        }
        </script>
        </head>
        <body>
        <button onclick='show();'>show</button>
        </body>
        </html>
        
Copyright @ 2011-2018 by szc  桂ICP备11003301号-1  桂公网安备45040302000027号  Email:szcsoft@qq.com