Flutter 颤振:使用Float64List Matrix4在CustomPaint中变换路径
我试图旋转一些路径,但没有找到一个片段,matrix4通常没有很好的文档记录。如果其他人有这个问题,这就是我的结论,首先,关于它背后的数学以及如何使用matrix4 在我的演示中,我使用了箭头。由于顺序很重要,我在(0,0)处绘制它,然后围绕z轴旋转它,最后将尖端移动到请求的点Flutter 颤振:使用Float64List Matrix4在CustomPaint中变换路径,flutter,graphics,flutter-layout,Flutter,Graphics,Flutter Layout,我试图旋转一些路径,但没有找到一个片段,matrix4通常没有很好的文档记录。如果其他人有这个问题,这就是我的结论,首先,关于它背后的数学以及如何使用matrix4 在我的演示中,我使用了箭头。由于顺序很重要,我在(0,0)处绘制它,然后围绕z轴旋转它,最后将尖端移动到请求的点 Path\u getArrow(偏移量,双alpha){ 路径a=路径(); a、 移动到(箭头大小,-箭头大小); a、 lineTo(0,0); a、 lineTo(箭头大小,箭头大小); final transla
Path\u getArrow(偏移量,双alpha){
路径a=路径();
a、 移动到(箭头大小,-箭头大小);
a、 lineTo(0,0);
a、 lineTo(箭头大小,箭头大小);
final translateM=Float64List.fromList([
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
offset.dx,offset.dy,0,1]
);
最终rotateM=Float64List.fromList([
cos(alpha),sin(alpha),0,0,
-sin(alpha),cos(alpha),0,0,
0, 0, 1, 0,
0, 0, 0, 1]
);
最终b=a.变换(旋转em);
最终c=b.变换(translateM);
返回c;
}