9 November 2016 8:31:57.604 AM GEOMETRY_PRB FORTRAN77 version Test the GEOMETRY library. ANGLE_BOX_2D_TEST ANGLE_BOX_2D Compute points P4 and P5, normal to line through P1 and P2, and line through P2 and P3, and DIST units from P2. DIST = 1.00000 P1: 0.00000 0.00000 P2: 3.00000 0.00000 P3: 4.00000 2.00000 P4: 2.38197 1.00000 P5: 3.61803 -1.00000 DIST = 1.00000 P1: 0.00000 0.00000 P2: 3.00000 0.00000 P3: 2.00000 -2.00000 P4: 3.61803 -1.00000 P5: 2.38197 1.00000 DIST = 1.00000 P1: 3.00000 0.00000 P2: 3.00000 0.00000 P3: 2.00000 -2.00000 P4: 2.10557 0.447214 P5: 3.89443 -0.447214 TEST002 ANGLE_DEG_2D computes an angle; ANGLE_RAD_ND computes an angle. X Y Theta ATAN2(y, x), ANGLE_RAD_ND, ANGLE_DEG_2D 1.000 0.000 0.000 0.000 0.000 0.000 0.866 0.500 30.000 30.000 0.524 330.000 0.500 0.866 60.000 60.000 1.047 300.000 0.000 1.000 90.000 90.000 1.571 270.000 -0.500 0.866 120.000 120.000 2.094 240.000 -0.866 0.500 150.000 150.000 2.618 210.000 -1.000 0.000 180.000 180.000 3.142 180.000 -0.866 -0.500 210.000 -150.000 2.618 150.000 -0.500 -0.866 240.000 -120.000 2.094 120.000 -0.000 -1.000 270.000 -90.000 1.571 90.000 0.500 -0.866 300.000 -60.000 1.047 60.000 0.866 -0.500 330.000 -30.000 0.524 30.000 1.000 -0.000 360.000 -0.000 0.000 0.000 ELLIPSE_AREA1_TEST FORTRAN77 version ELLIPSE_AREA1 computes the area of an ellipse. R = 10.0000 Matrix A in ellipse definition x*A*x=r^2 Col 1 2 Row 1: 5.00000 1.00000 2: 1.00000 2.00000 Area = 104.720 ELLIPSE_AREA1_TEST Normal end of execution. ELLIPSE_AREA2_TEST FORTRAN77 version ELLIPSE_AREA2 computes the area of an ellipse. Ellipse: 5.00000 * x^2 + 2.00000 * xy + 2.00000 * y^2 = 10.0000 Area = 104.720 ELLIPSE_AREA2_TEST Normal end of execution. ELLIPSE_AREA3_TEST FORTRAN77 version ELLIPSE_AREA3 computes the area of an ellipse. Ellipse: (x/ 10.0000 )^2 + * (y/ 3.33333 )^2 = 1 Area = 104.720 ELLIPSE_AREA3_TEST Normal end of execution. TEST0351 LINE_PAR_POINT_NEAR_2D finds the point on a parametric line (X0,Y0,F,G) nearest a point P in 2D. Parametric line: X(t) = 1.00000 + 1.00000 * t Y(t) = 3.00000 + -1.00000 * t The point P: 1: 0.0000000 2: 0.0000000 Distance = 2.82843 Nearest point PN: 1: 2.0000000 2: 2.0000000 Distance recomputed = 2.82843 The point P: 1: 5.0000000 2: -1.0000000 Distance = 0.00000 Nearest point PN: 1: 5.0000000 2: -1.0000000 Distance recomputed = 0.00000 The point P: 1: 5.0000000 2: 3.0000000 Distance = 2.82843 Nearest point PN: 1: 3.0000000 2: 1.0000000 Distance recomputed = 2.82843 TEST0352 LINE_PAR_POINT_DIST_3D finds the distance from a parametric line to a point in 3D. Parametric line: X(t) = 1.00000 + 3.00000 * t Y(t) = 3.00000 + -3.00000 * t Z(t) = 2.00000 + -1.00000 * t The point P: 1: 0.0000000 2: 0.0000000 3: 2.0000000 Distance = 2.84697 Nearest point PN: 1: 1.9473684 2: 2.0526316 3: 1.6842105 Distance recomputed = 2.84697 The point P: 1: 5.0000000 2: -1.0000000 3: 1.0000000 Distance = 0.324443 Nearest point PN: 1: 4.9473684 2: -0.94736842 3: 0.68421053 Distance recomputed = 0.324443 The point P: 1: 5.0000000 2: 3.0000000 3: 3.0000000 Distance = 3.26061 Nearest point PN: 1: 2.7368421 2: 1.2631579 3: 1.4210526 Distance recomputed = 3.26061 TEST0477 PARALLELOGRAM_AREA_2D finds the area of a parallelogram in 2D. Vertices: Row 1 2 Col 1: 2.00000 7.00000 2: 5.00000 7.00000 3: 6.00000 9.00000 4: 3.00000 9.00000 AREA = 6.00000 TEST0478 PARALLELOGRAM_AREA_3D finds the area of a parallelogram in 3D. Vertices: Row 1 2 3 Col 1: 1.00000 2.00000 3.00000 2: 2.41421 3.41421 3.00000 3: 1.70711 2.70711 4.00000 4: 0.292893 0.292893 4.00000 AREA = 2.00000 TEST0616 For a normal plane, with point PP and NORMAL vector, and in-plane basis vectors PQ and PR, PLANE_NORMAL_QR_TO_XYZ converts QR to XYZ coordinates; PLANE_NORMAL_XYZ_TO_QR converts XYZ to QR coordinates. Maximum difference was 0.112957E-15 TEST0617 PLANE_NORMAL_TETRAHEDRON_INTERSECT determines the intersection of a plane and tetrahedron. Plane normal vector number 1 0.00000 0.00000 1.00000 Point on plane: 0.00000 0.00000 0.00000 Number of intersection points = 3 1 0.00000 0.00000 0.00000 2 1.00000 0.00000 0.00000 3 0.00000 1.00000 0.00000 Point on plane: 0.00000 0.00000 0.200000 Number of intersection points = 3 1 0.00000 0.00000 0.200000 2 0.800000 0.00000 0.200000 3 0.00000 0.800000 0.200000 Point on plane: 0.00000 0.00000 0.400000 Number of intersection points = 3 1 0.00000 0.00000 0.400000 2 0.600000 0.00000 0.400000 3 0.00000 0.600000 0.400000 Point on plane: 0.00000 0.00000 0.600000 Number of intersection points = 3 1 0.00000 0.00000 0.600000 2 0.400000 0.00000 0.600000 3 0.00000 0.400000 0.600000 Point on plane: 0.00000 0.00000 0.800000 Number of intersection points = 3 1 0.00000 0.00000 0.800000 2 0.200000 0.00000 0.800000 3 0.00000 0.200000 0.800000 Point on plane: 0.00000 0.00000 1.00000 Number of intersection points = 1 1 0.00000 0.00000 1.00000 Point on plane: 0.00000 0.00000 1.20000 Number of intersection points = 0 Plane normal vector number 2 0.707107 0.707107 0.00000 Point on plane: 0.00000 0.00000 0.00000 Number of intersection points = 2 1 0.00000 0.00000 0.00000 2 0.00000 0.00000 1.00000 Point on plane: 0.141421 0.141421 0.00000 Number of intersection points = 4 1 0.282843 0.00000 0.00000 2 0.00000 0.282843 0.00000 3 0.282843 0.00000 0.717157 4 0.00000 0.282843 0.717157 Point on plane: 0.282843 0.282843 0.00000 Number of intersection points = 4 1 0.565685 0.00000 0.00000 2 0.00000 0.565685 0.00000 3 0.565685 0.00000 0.434315 4 0.00000 0.565685 0.434315 Point on plane: 0.424264 0.424264 0.00000 Number of intersection points = 4 1 0.848528 0.00000 0.00000 2 0.00000 0.848528 0.00000 3 0.848528 0.00000 0.151472 4 0.00000 0.848528 0.151472 Point on plane: 0.565685 0.565685 0.00000 Number of intersection points = 0 Point on plane: 0.707107 0.707107 0.00000 Number of intersection points = 0 Point on plane: 0.848528 0.848528 0.00000 Number of intersection points = 0 TEST0685 POLAR_TO_XY converts (R,Theta) to (X,Y); XY_TO_POLAR converts (X,Y) to (R,Theta). X Y ===> R T => X Y -0.56316 0.91264 1.07241 2.12368 -0.56316 0.91264 0.65902 0.12339 0.67047 0.18509 0.65902 0.12339 -0.16939 -0.86776 0.88414 4.51961 -0.16939 -0.86776 -0.48484 -0.78009 0.91848 4.15629 -0.48484 -0.78009 -0.91234 0.26793 0.95087 2.85595 -0.91234 0.26793 -0.87655 -0.10092 0.88234 3.25622 -0.87655 -0.10092 -0.19739 0.50935 0.54626 1.94051 -0.19739 0.50935 0.59457 -0.99632 1.16025 5.25043 0.59457 -0.99632 0.79501 -0.29850 0.84920 5.92401 0.79501 -0.29850 -0.81091 -0.97277 1.26643 4.01749 -0.81091 -0.97277 POLYGON_CONTAINS_POINT_2D_TEST POLYGON_CONTAINS_POINT_2D determines if a point is in a polygon. The polygon vertices: Row 1 2 Col 1: 0.00000 0.00000 2: 1.00000 0.00000 3: 2.00000 1.00000 4: 1.00000 2.00000 5: 0.00000 2.00000 P In1 In2 1.00000 1.00000 T 3.00000 4.00000 F 0.00000 2.00000 F 0.500000 -0.250000 F POLYGON_CONTAINS_POINT_2D_2_TEST POLYGON_CONTAINS_POINT_2D_2 determines if a point is in a polygon. The polygon vertices: Row 1 2 Col 1: 0.00000 0.00000 2: 1.00000 0.00000 3: 2.00000 1.00000 4: 1.00000 2.00000 5: 0.00000 2.00000 P In1 In2 1.00000 1.00000 T 3.00000 4.00000 F 0.00000 2.00000 T 0.500000 -0.250000 F POLYGON_CONTAINS_POINT_2D_3_TEST POLYGON_CONTAINS_POINT_2D_3 determines if a point is in a polygon. The polygon vertices: Row 1 2 Col 1: 0.00000 0.00000 2: 1.00000 0.00000 3: 2.00000 1.00000 4: 1.00000 2.00000 5: 0.00000 2.00000 P In1 In2 1.00000 1.00000 T 3.00000 4.00000 F 0.00000 2.00000 T 0.500000 -0.250000 F TEST171 For a quadrilateral in 2D: QUAD_AREA_2D finds the area; QUAD_AREA2_2D finds the area; The vertices: Row 1 2 Col 1: 0.00000 0.00000 2: 1.00000 0.00000 3: 1.00000 1.00000 4: 0.00000 1.00000 QUAD_AREA_2D area is 1.00000 QUAD_AREA2_2D area is 1.00000 TEST1712 For a quadrilateral in 3D: QUAD_AREA_3D finds the area. The vertices: Row 1 2 3 Col 1: 2.00000 2.00000 0.00000 2: 0.00000 0.00000 0.00000 3: 1.00000 1.00000 1.00000 4: 3.00000 3.00000 1.00000 QUAD_AREA_3D area is 2.82843 Sum of TRIANGLE_AREA_3D: 2.82843 TEST1788 SIMPLEX_LATTICE_LAYER_POINT_NEXT returns the next point in an N-dimensional simplex lattice layer defined by: C(N+1) - 1 <= X(1)/C(1) + X(2)/C(2) + ... + X(N)/C(N) <= C(N+1). N = 1 C = 2 Layer 0 1 0 No more. Layer 1 1 1 2 2 No more. Layer 2 1 3 2 4 No more. N = 2 C = 2 3 Layer 0 1 0 0 No more. Layer 1 1 1 0 2 2 0 3 0 1 4 1 1 5 0 2 6 0 3 No more. Layer 2 1 3 0 2 4 0 3 2 1 4 3 1 5 1 2 6 2 2 7 1 3 8 2 3 9 0 4 10 1 4 11 0 5 12 0 6 No more. N = 3 C = 2 3 4 Layer 0 1 0 0 0 No more. Layer 1 1 1 0 0 2 2 0 0 3 0 1 0 4 1 1 0 5 0 2 0 6 0 3 0 7 0 0 1 8 1 0 1 9 0 1 1 10 0 2 1 11 0 0 2 12 1 0 2 13 0 1 2 14 0 0 3 15 0 0 4 No more. Layer 2 1 3 0 0 2 4 0 0 3 2 1 0 4 3 1 0 5 1 2 0 6 2 2 0 7 1 3 0 8 2 3 0 9 0 4 0 10 1 4 0 11 0 5 0 12 0 6 0 13 2 0 1 14 3 0 1 15 1 1 1 16 2 1 1 17 1 2 1 18 2 2 1 19 0 3 1 20 1 3 1 21 0 4 1 22 0 5 1 23 2 0 2 24 3 0 2 25 1 1 2 26 2 1 2 27 0 2 2 28 1 2 2 29 0 3 2 30 1 3 2 31 0 4 2 32 1 0 3 33 2 0 3 34 0 1 3 35 1 1 3 36 0 2 3 37 1 2 3 38 0 3 3 39 1 0 4 40 2 0 4 41 0 1 4 42 1 1 4 43 0 2 4 44 0 3 4 45 0 0 5 46 1 0 5 47 0 1 5 48 0 2 5 49 0 0 6 50 1 0 6 51 0 1 6 52 0 0 7 53 0 0 8 No more. N = 4 C = 2 3 4 5 Layer 0 1 0 0 0 0 No more. Layer 1 1 1 0 0 0 2 2 0 0 0 3 0 1 0 0 4 1 1 0 0 5 0 2 0 0 6 0 3 0 0 7 0 0 1 0 8 1 0 1 0 9 0 1 1 0 10 0 2 1 0 11 0 0 2 0 12 1 0 2 0 13 0 1 2 0 14 0 0 3 0 15 0 0 4 0 16 0 0 0 1 17 1 0 0 1 18 0 1 0 1 19 0 2 0 1 20 0 0 1 1 21 1 0 1 1 22 0 1 1 1 23 0 0 2 1 24 0 0 3 1 25 0 0 0 2 26 1 0 0 2 27 0 1 0 2 28 0 0 1 2 29 0 1 1 2 30 0 0 2 2 31 0 0 0 3 32 0 1 0 3 33 0 0 1 3 34 0 0 0 4 35 0 0 0 5 No more. Layer 2 1 3 0 0 0 2 4 0 0 0 3 2 1 0 0 4 3 1 0 0 5 1 2 0 0 6 2 2 0 0 7 1 3 0 0 8 2 3 0 0 9 0 4 0 0 10 1 4 0 0 11 0 5 0 0 12 0 6 0 0 13 2 0 1 0 14 3 0 1 0 15 1 1 1 0 16 2 1 1 0 17 1 2 1 0 18 2 2 1 0 19 0 3 1 0 20 1 3 1 0 21 0 4 1 0 22 0 5 1 0 23 2 0 2 0 24 3 0 2 0 25 1 1 2 0 26 2 1 2 0 27 0 2 2 0 28 1 2 2 0 29 0 3 2 0 30 1 3 2 0 31 0 4 2 0 32 1 0 3 0 33 2 0 3 0 34 0 1 3 0 35 1 1 3 0 36 0 2 3 0 37 1 2 3 0 38 0 3 3 0 39 1 0 4 0 40 2 0 4 0 41 0 1 4 0 42 1 1 4 0 43 0 2 4 0 44 0 3 4 0 45 0 0 5 0 46 1 0 5 0 47 0 1 5 0 48 0 2 5 0 49 0 0 6 0 50 1 0 6 0 51 0 1 6 0 52 0 0 7 0 53 0 0 8 0 54 2 0 0 1 55 3 0 0 1 56 1 1 0 1 57 2 1 0 1 58 1 2 0 1 59 2 2 0 1 60 0 3 0 1 61 1 3 0 1 62 0 4 0 1 63 0 5 0 1 64 2 0 1 1 65 3 0 1 1 66 1 1 1 1 67 2 1 1 1 68 0 2 1 1 69 1 2 1 1 70 0 3 1 1 71 1 3 1 1 72 0 4 1 1 73 1 0 2 1 74 2 0 2 1 75 0 1 2 1 76 1 1 2 1 77 0 2 2 1 78 1 2 2 1 79 0 3 2 1 80 1 0 3 1 81 2 0 3 1 82 0 1 3 1 83 1 1 3 1 84 0 2 3 1 85 0 3 3 1 86 0 0 4 1 87 1 0 4 1 88 0 1 4 1 89 0 2 4 1 90 0 0 5 1 91 1 0 5 1 92 0 1 5 1 93 0 0 6 1 94 0 0 7 1 95 2 0 0 2 96 3 0 0 2 97 1 1 0 2 98 2 1 0 2 99 0 2 0 2 100 1 2 0 2 101 0 3 0 2 102 1 3 0 2 103 0 4 0 2 104 1 0 1 2 105 2 0 1 2 106 1 1 1 2 107 2 1 1 2 108 0 2 1 2 109 1 2 1 2 110 0 3 1 2 111 0 4 1 2 112 1 0 2 2 113 2 0 2 2 114 0 1 2 2 115 1 1 2 2 116 0 2 2 2 117 0 3 2 2 118 0 0 3 2 119 1 0 3 2 120 0 1 3 2 121 1 1 3 2 122 0 2 3 2 123 0 0 4 2 124 1 0 4 2 125 0 1 4 2 126 0 0 5 2 127 0 1 5 2 128 0 0 6 2 129 1 0 0 3 130 2 0 0 3 131 1 1 0 3 132 2 1 0 3 133 0 2 0 3 134 1 2 0 3 135 0 3 0 3 136 0 4 0 3 137 1 0 1 3 138 2 0 1 3 139 0 1 1 3 140 1 1 1 3 141 0 2 1 3 142 0 3 1 3 143 0 0 2 3 144 1 0 2 3 145 0 1 2 3 146 1 1 2 3 147 0 2 2 3 148 0 0 3 3 149 1 0 3 3 150 0 1 3 3 151 0 0 4 3 152 0 1 4 3 153 0 0 5 3 154 1 0 0 4 155 2 0 0 4 156 0 1 0 4 157 1 1 0 4 158 0 2 0 4 159 1 2 0 4 160 0 3 0 4 161 0 0 1 4 162 1 0 1 4 163 0 1 1 4 164 1 1 1 4 165 0 2 1 4 166 0 0 2 4 167 1 0 2 4 168 0 1 2 4 169 0 2 2 4 170 0 0 3 4 171 0 1 3 4 172 0 0 4 4 173 1 0 0 5 174 2 0 0 5 175 0 1 0 5 176 1 1 0 5 177 0 2 0 5 178 0 3 0 5 179 0 0 1 5 180 1 0 1 5 181 0 1 1 5 182 0 2 1 5 183 0 0 2 5 184 1 0 2 5 185 0 1 2 5 186 0 0 3 5 187 0 0 4 5 188 0 0 0 6 189 1 0 0 6 190 0 1 0 6 191 0 2 0 6 192 0 0 1 6 193 1 0 1 6 194 0 1 1 6 195 0 0 2 6 196 0 0 3 6 197 0 0 0 7 198 1 0 0 7 199 0 1 0 7 200 0 0 1 7 201 0 1 1 7 202 0 0 2 7 203 0 0 0 8 204 0 1 0 8 205 0 0 1 8 206 0 0 0 9 207 0 0 0 10 No more. TEST1789 SIMPLEX_LATTICE_POINT_NEXT returns the next lattice point in an N-dimensional simplex defined by: 0 <= X(1)/C(1) + X(2)/C(2) + ... + X(N)/C(N) <= C(N+1). N = 1 C = 2 1 1 0 2 1 3 2 No more. N = 2 C = 3 2 1 1 0 0 2 1 0 3 2 0 4 3 0 5 0 1 6 1 1 7 0 2 No more. N = 3 C = 4 3 2 1 1 0 0 0 2 1 0 0 3 2 0 0 4 0 1 0 5 1 1 0 No more. N = 4 C = 5 4 3 2 1 1 0 0 0 0 2 1 0 0 0 3 2 0 0 0 4 3 0 0 0 5 0 1 0 0 6 1 1 0 0 7 0 2 0 0 8 0 0 1 0 9 1 0 1 0 No more. TEST1835 SPHERE_EXP2IMP_3D: explicit sphere => implicit form; SPHERE_IMP2EXP_3D: implicit sphere => explicit form. Initial form of explicit sphere: 4.00000 2.00000 3.00000 1.00000 5.00000 3.00000 1.00000 2.00000 6.00000 -2.00000 2.00000 3.00000 Computed form of implicit sphere: Imputed radius = 3.00000 Imputed center 1: 1.0000000 2: 2.0000000 3: 3.0000000 Computed form of explicit sphere: 1.00000 2.00000 6.00000 3.59808 2.00000 1.50000 -0.299038 4.25000 1.50000 -0.299038 -0.250000 1.50000 TEST1836 SPHERE_EXP2IMP_ND: explicit sphere => implicit form; Initial form of explicit sphere: Row 1 2 3 Col 1: 4.00000 2.00000 3.00000 2: 1.00000 5.00000 3.00000 3: 1.00000 2.00000 6.00000 4: -2.00000 2.00000 3.00000 Computed form of implicit sphere: Imputed radius = 3.00000 True radius = 3.00000 Imputed center 1: 1.0000000 2: 2.0000000 3: 3.0000000 True center 1: 1.0000000 2: 2.0000000 3: 3.0000000 TEST203224 TETRAHEDRON_LATTICE_LAYER_POINT_NEXT returns the next point in a tetrahedron lattice layer defined by: C(4) - 1 < X(1)/C(1) + X(2)/C(2) +X(3)/C(3) .le. C(4). N = 3 C = 2 3 4 Layer 0 1 0 0 0 No more. Layer 1 1 1 0 0 2 2 0 0 3 0 1 0 4 1 1 0 5 0 2 0 6 0 3 0 7 0 0 1 8 1 0 1 9 0 1 1 10 0 2 1 11 0 0 2 12 1 0 2 13 0 1 2 14 0 0 3 15 0 0 4 No more. Layer 2 1 3 0 0 2 4 0 0 3 2 1 0 4 3 1 0 5 1 2 0 6 2 2 0 7 1 3 0 8 2 3 0 9 0 4 0 10 1 4 0 11 0 5 0 12 0 6 0 13 2 0 1 14 3 0 1 15 1 1 1 16 2 1 1 17 1 2 1 18 2 2 1 19 0 3 1 20 1 3 1 21 0 4 1 22 0 5 1 23 2 0 2 24 3 0 2 25 1 1 2 26 2 1 2 27 0 2 2 28 1 2 2 29 0 3 2 30 1 3 2 31 0 4 2 32 1 0 3 33 2 0 3 34 0 1 3 35 1 1 3 36 0 2 3 37 1 2 3 38 0 3 3 39 1 0 4 40 2 0 4 41 0 1 4 42 1 1 4 43 0 2 4 44 0 3 4 45 0 0 5 46 1 0 5 47 0 1 5 48 0 2 5 49 0 0 6 50 1 0 6 51 0 1 6 52 0 0 7 53 0 0 8 No more. TEST203225 TETRAHEDRON_LATTICE_POINT_NEXT returns the next lattice point in a tetrahedron defined by: 0 <= X(1)/C(1) + X(2)/C(2) + X(3)/C(3) <= C(4). N = 3 C = 4 3 2 1 1 0 0 0 2 1 0 0 3 2 0 0 4 0 1 0 5 1 1 0 No more. TEST2101 For a triangle in 2D, the circumenter can be computed by: TRIANGLE_CIRCUMCENTER_2D; TRIANGLE_CIRCUMCENTER_2D_2; TRIANGLE_CIRCUMCENTER (any dimension); Triangle vertices: Row 1 2 Col 1: 10.0000 5.00000 2: 11.0000 5.00000 3: 10.0000 6.00000 Circumcenter by TRIANGLE_CIRCUMCENTER_2D: 1: 10.500000 2: 5.5000000 Circumcenter by TRIANGLE_CIRCUMCENTER_2D_2: 1: 10.500000 2: 5.5000000 Circumcenter by TRIANGLE_CIRCUMCENTER: 1: 10.500000 2: 5.5000000 Triangle vertices: Row 1 2 Col 1: 10.0000 5.00000 2: 11.0000 5.00000 3: 10.5000 5.86603 Circumcenter by TRIANGLE_CIRCUMCENTER_2D: 1: 10.500000 2: 5.2886751 Circumcenter by TRIANGLE_CIRCUMCENTER_2D_2: 1: 10.500000 2: 5.2886751 Circumcenter by TRIANGLE_CIRCUMCENTER: 1: 10.500000 2: 5.2886751 Triangle vertices: Row 1 2 Col 1: 10.0000 5.00000 2: 11.0000 5.00000 3: 10.5000 15.0000 Circumcenter by TRIANGLE_CIRCUMCENTER_2D: 1: 10.500000 2: 9.9875000 Circumcenter by TRIANGLE_CIRCUMCENTER_2D_2: 1: 10.500000 2: 9.9875000 Circumcenter by TRIANGLE_CIRCUMCENTER: 1: 10.500000 2: 9.9875000 Triangle vertices: Row 1 2 Col 1: 10.0000 5.00000 2: 11.0000 5.00000 3: 20.0000 7.00000 Circumcenter by TRIANGLE_CIRCUMCENTER_2D: 1: 10.500000 2: 28.500000 Circumcenter by TRIANGLE_CIRCUMCENTER_2D_2: 1: 10.500000 2: 28.500000 Circumcenter by TRIANGLE_CIRCUMCENTER: 1: 10.500000 2: 28.500000 TEST2104 TRIANGLE_LATTICE_LAYER_POINT_NEXT returns the next point in a triangle lattice layer defined by: C(3) - 1 < X(1)/C(1) + X(2)/C(2) .le. C(3). N = 2 C = 2 3 Layer 0 1 0 0 No more. Layer 1 1 1 0 2 2 0 3 0 1 4 1 1 5 0 2 6 0 3 No more. Layer 2 1 3 0 2 4 0 3 2 1 4 3 1 5 1 2 6 2 2 7 1 3 8 2 3 9 0 4 10 1 4 11 0 5 12 0 6 No more. Layer 3 1 5 0 2 6 0 3 4 1 4 5 1 5 3 2 6 4 2 7 3 3 8 4 3 9 2 4 10 3 4 11 1 5 12 2 5 13 1 6 14 2 6 15 0 7 16 1 7 17 0 8 18 0 9 No more. Layer 4 1 7 0 2 8 0 3 6 1 4 7 1 5 5 2 6 6 2 7 5 3 8 6 3 9 4 4 10 5 4 11 3 5 12 4 5 13 3 6 14 4 6 15 2 7 16 3 7 17 1 8 18 2 8 19 1 9 20 2 9 21 0 10 22 1 10 23 0 11 24 0 12 No more. TEST2105 TRIANGLE_LATTICE_POINT_NEXT returns the next lattice point in a triangle defined by: 0 <= X(1)/C(1) + X(2)/C(2) <= C(3). N = 2 C = 3 2 1 1 0 0 2 1 0 3 2 0 4 3 0 5 0 1 6 1 1 7 0 2 No more. GEOMETRY_PRB Normal end of execution. 9 November 2016 8:31:57.605 AM