学习笔记,整理中;
面:
自己思路整理:
1、根据角度和点以及鱼头半径确定各个部位的大小,画出图。
2、用属性动画处理自身的摆动;各个部位评率不同 用sin,cos函数处理。
3、
----------------------------------------------------------------------
摘要:
贝塞尔曲线生产网站:https://cubic-bezier.com/#.17,.67,.83,.67
1、通过起点,线长,角度 获得终点 sign,cos,注意角度和弧度的转换
2、path处理贝塞尔曲线 reseat 注意,并且移动到起点开始画 drawpath
3、path.quadTo 是画贝塞尔曲线;path.lineto是画线
4、sin(0-360)=-1 1
5、Math.sin(Math.toRadians(currentValue))*10
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
6、计算坐标:通过起始点+线长+角度 算出目标点的坐标
/**
* @param startPoint 起始点坐标
* @param length 要求的点到起始点的直线距离 -- 线长
* @param angle 鱼当前的朝向角度
* @return
*/
public PointF calculatePoint(PointF startPoint, float length, float angle) {
// x坐标
float deltaX = (float) (Math.cos(Math.toRadians(angle)) * length);
// y坐标
float deltaY = (float) (Math.sin(Math.toRadians(angle -180)) * length);
return new PointF(startPoint.x + deltaX, startPoint.y + deltaY);
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
8、
//向量 通过向量方式,已知3个点的坐标求夹角 O是中间点
public float includeAngle(PointF O, PointF A, PointF B) {
// cosAOB
// OA*OB=(Ax-Ox)(Bx-Ox)+(Ay-Oy)*(By-Oy)
float AOB = (A.x - O.x) * (B.x - O.x) + (A.y - O.y) * (B.y - O.y);
//sqrt 开方 根号 (x平方+y平方)开方 得到斜边长度
float OALength = (float) Math.sqrt((A.x - O.x) * (A.x - O.x) + (A.y - O.y) * (A.y - O.y));
// OB 的长度
float OBLength = (float) Math.sqrt((B.x - O.x) * (B.x - O.x) + (B.y - O.y) * (B.y - O.y));
float cosAOB = AOB / (OALength * OBLength);
// 反余弦
float angleAOB = (float) Math.toDegrees(Math.acos(cosAOB));
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
向量的夹角公式计算夹角cosAOB = (OA*OB)/(|OA|*|OB|)其中OA*OB是向量的数量积,计算过程如下:
OA=(Ax-Ox,Ay-Oy)
OB=(Bx-Ox,By-Oy)
OA*OB=(Ax-Ox)(Bx-Ox)+(Ay-Oy)*(By-Oy)
|OA|表示线段OA的模即OA的长度
9、涉及单词:intrinsic radius circle
内容: