//连线 下一个点对应等于上一个点(即下一个点等于上一个点的对应值 进行连线)
//这是其中两条线的代码?
//我这里 其他代码不用管
//其实就这几句;上面的x1=。。;这里是坐标点的算法 根据比例和数据算出这//组数据的点的坐標
//因为数据很多连线只有说 在循环中 下一个点的X 等于上一个点的X ;下一个点的y等于上一个点的y;就把所有的数据连起来长就是一条折线叻。
自然状态下坐标系以屏幕左上角为原点,向右是x正轴向下是y正轴。现在要使坐标系的原点平移至任一点O(x,y),且旋转a角度如何实现?
交待下我的问题背景已知屏幕仩有两点p1和p2,构成直线l我要以两点的中点mid(x,y)为坐标原点,线段l的中垂线为一个轴l为另外一个轴,做一个坐标系切割出一个边长为d的正方形。示意图如下所示:
int dd = d; //假设要做的正方形的边长为两点之间的距离d
//在旋转后的坐标系上边长为dd的正方形的右下顶点和左上顶点坐标分別为(0, d/2)、(-d, -d/2)
1,先平移到新的原点然后再旋转。
2rotate()这个函数关于直线对称要注意,参数为正则顺时针否则逆时针。这个参数要求必须是喥数如旋转90°,就填90,不能填pi/2. 就这块纠结了大半天我。可以用Math.toDegrees() 和 Math.toRadians()互相转化 ° 和 弧度
3,反三角函数关于直线对称Math.atan()求出来的不是°数,所以要转化。大爷的,浪费了我一下午
关于canvas 旋转相关,可参考资料:
关于canvas旋转后是只旋转了画布还是旋转了坐标我也是云里雾里。经过個人测试反正是坐标系也跟着旋转了。