您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 学习培训 > Unity编程 >
    游戏开发中的数学和物理算法:点之间的距离
    时间:2015-05-09 10:00 来源:Unity之家 作者:unity.jb51.net 浏览:收藏 挑错 推荐 打印


    1.计算两点之间的距离

    公式:a2+b2=c2(勾股定理)
    游戏开发中的数学和物理算法:点之间的距离        游戏开发中的数学和物理算法:点之间的距离
    2D:
    游戏开发中的数学和物理算法:点之间的距离
    3D:
    游戏开发中的数学和物理算法:点之间的距离

    计算机实现:

    float Distance2D(Point2D p1,Point2D p2)
    {
        float dx=p1.x-p2.x;
        float dy=p1.y-p2.y;
        float distance=sqrt(pow(dx,2)+pow(dy,2));
        return distance;
    }
    float Distance3D(Point3D p1,Point3D p2)
    {
        float dx=p1.x-p2.x;
        float dy=p1.y-p2.y;
        float dz=p1.z-p2.z;
        float distance=sqrt(pow(dx,2)+pow(dy,2)+pow(dz,2));
        return distance;
    }


    2.两点之间的中点

    公式:
    2D:
    游戏开发中的数学和物理算法:点之间的距离
    3D:
    游戏开发中的数学和物理算法:点之间的距离

    计算机实现:

    Point2D MidPoint2D(Point2D p1,Point2D p2)
    {
        float sx=p1.x+p2.x;
        float sy=p1.y+p2.y;
        Point2D midPoint;
        midPoint.x=sx/2;
        midPoint.y=sy/2;
        return midPoint;
    }
    3D中点计算
    Point3D Distance3D(Point3D p1,Point3D p2)
    {
        float sx=p1.x+p2.x;
        float sy=p1.y+p2.y;
        float sz=p1.z+p2.z;
        Point3D midPoint;
        midPoint.x=sx/2;
        midPoint.y=sy/2;
        midPoint.z=sz/2;
        return midPoint;
    }


    (责任编辑:脚印)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。
    标签:Unity之家