Fix Quad.copy constructor not copying point3 correctly (#230)

Fixes #221
diff --git a/lib/src/vector_math/quad.dart b/lib/src/vector_math/quad.dart
index 723e9f3..7d322ad 100644
--- a/lib/src/vector_math/quad.dart
+++ b/lib/src/vector_math/quad.dart
@@ -35,7 +35,7 @@
       : _point0 = Vector3.copy(other._point0),
         _point1 = Vector3.copy(other._point1),
         _point2 = Vector3.copy(other._point2),
-        _point3 = Vector3.copy(other._point2);
+        _point3 = Vector3.copy(other._point3);
 
   /// Create a quad by four points.
   Quad.points(Vector3 point0, Vector3 point1, Vector3 point2, Vector3 point3)
diff --git a/lib/src/vector_math_64/quad.dart b/lib/src/vector_math_64/quad.dart
index df160c4..3ef31ef 100644
--- a/lib/src/vector_math_64/quad.dart
+++ b/lib/src/vector_math_64/quad.dart
@@ -35,7 +35,7 @@
       : _point0 = Vector3.copy(other._point0),
         _point1 = Vector3.copy(other._point1),
         _point2 = Vector3.copy(other._point2),
-        _point3 = Vector3.copy(other._point2);
+        _point3 = Vector3.copy(other._point3);
 
   /// Create a quad by four points.
   Quad.points(Vector3 point0, Vector3 point1, Vector3 point2, Vector3 point3)
diff --git a/test/quad_test.dart b/test/quad_test.dart
index 4725230..051a48f 100644
--- a/test/quad_test.dart
+++ b/test/quad_test.dart
@@ -8,6 +8,17 @@
 
 import 'test_utils.dart';
 
+void testQuadCopy() {
+  final quad = Quad.points(Vector3(1.0, 0.0, 1.0), Vector3(0.0, 2.0, 1.0),
+      Vector3(1.0, 0.0, 0.0), Vector3(0.0, 2.0, 0.0));
+  final quadCopy = Quad.copy(quad);
+
+  relativeTest(quadCopy.point0, quad.point0);
+  relativeTest(quadCopy.point1, quad.point1);
+  relativeTest(quadCopy.point2, quad.point2);
+  relativeTest(quadCopy.point3, quad.point3);
+}
+
 void testQuadCopyNormalInto() {
   final quad = Quad.points(Vector3(1.0, 0.0, 1.0), Vector3(0.0, 2.0, 1.0),
       Vector3(1.0, 0.0, 0.0), Vector3(0.0, 2.0, 0.0));
@@ -39,6 +50,7 @@
 
 void main() {
   group('Quad', () {
+    test('Copy', testQuadCopy);
     test('CopyNormalInto', testQuadCopyNormalInto);
     test('CopyTriangles', testQuadCopyTriangles);
   });