类的继承,多态,举例 Graphic-->Point-->Circle;Rectangle,Triangle

一、数学基础知识

        1: 角的旋转

           如上图:假设a点坐标(a.x,a.y)绕o点为圆心(原点)转到b点,则b的计算公式为

           b.x = a.x*cos(angle)  - a.y*sin(angle)

           b.y = a.x*sin(angle) + a.y*cos(angle)  

          其中顺时针旋转为正,逆时针旋转为负,角度angle是弧度值,如旋转30度转换为弧度为: angle = pi/180 * 30。

          若o不是原点,则可先将a点坐标转换为相对坐标计算,计算结果再加上o点坐标。

          参与计算的a点坐标实际应为 a - 0,最终计算公式如下: 

              b.x = ( a.x - o.x)*cos(angle) - (a.y - o.y)*sin(angle) + o.x

              b.y = (a.x - o.x)*sin(angle) + (a.y - o.y)*cos(angle) + o.y 

       2: 已知三点,计算三角形面积

                             则三角形面积:  S=(x1y2+x2y3+x3y1-x1y3-x2y1-x3y2) /2;

    

二、类的抽象的语法规则

      2.1  Java 中三角函数:java.lang.Math类。

  • Math.sin() -- 返回数字的正弦值
  • Math.cos() -- 返回数字的余弦值
  • Math.tan() -- 返回数字的正切值
  • Math.asin() -- 返回数字的反正弦值
  • Math.acos() -- 返回数字的反余弦值
  • Math.atan() -- 返回数字的反正切值

      2.2 通用规则

  •   一个类如果是abstract类,则该类不能被实例化(但可以被实现了其所有 Abstract 方法的子类实例化)。
  • 子类只有实现了父类所有abstract函数,子类才能实例化,否则该子类还是abstract类。
  • 通常abstract  类作为接口使用,用来规范子类的行为和动作。

 

三、部分具体实现

四、程序参考代码

posted @ 2018-10-25 13:52  .来自北方的狼  阅读(346)  评论(0编辑  收藏  举报