908 POINT2D A1, A2, A3, B1, B2, B3;
913 A1.
x = -1.0; A1.
y = 4.0;
914 A2.
x = 0.0; A2.
y = 5.0;
915 A3.
x = 1.0; A3.
y = 4.0;
916 B1.
x = 1.0; B1.
y = 6.0;
917 B2.
x = 6.0; B2.
y = 1.0;
918 B3.
x = 9.0; B3.
y = 7.0;
921 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.0475666, 0.000001);
935 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1, 0.000001);
944 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0, 0.000001);
953 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, sqrt(2)-1, 0.000001);
962 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0, 0.000001);
966 A1.
x = -2.0; A1.
y = 0.0;
967 A2.
x = 0.0; A2.
y = 2.0;
968 A3.
x = 2.0; A3.
y = 0.0;
971 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
975 A1.
x = -0.5 / sqrt(2.0); A1.
y = 0.5 / sqrt(2.0);
976 A2.
x = 0.0; A2.
y = 0.5;
977 A3.
x = 0.5 / sqrt(2.0); A3.
y = 0.5 / sqrt(2.0);
980 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.5, 0.000001);
984 A1.
x = -0.5 / sqrt(2.0); A1.
y = -0.5 / sqrt(2.0);
985 A2.
x = -0.5; A2.
y = 0.0;
986 A3.
x = -0.5 / sqrt(2.0); A3.
y = 0.5 / sqrt(2.0);
989 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.5, 0.000001);
993 A1.
x = -0.5 / sqrt(2.0); A1.
y = -0.5 / sqrt(2.0);
994 A2.
x = 0.0; A2.
y = -0.5;
995 A3.
x = 0.5 / sqrt(2.0); A3.
y = -0.5 / sqrt(2.0);
998 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.736813, 0.000001);
1002 A1.
x = -1.0; A1.
y = 0.0;
1003 A2.
x = 0.0; A2.
y = 1.0;
1004 A3.
x = 1.0; A3.
y = 0.0;
1007 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.0, 0.000001);
1010 B1.
x = -10.0; B1.
y = 0.0;
1011 B2.
x = 0.0 ; B2.
y = 10.0;
1012 B3.
x = 10.0 ; B3.
y = 0.0;
1015 A1.
x = -22.0; A1.
y = 0.0;
1016 A2.
x = -17.0; A2.
y = -5.0;
1017 A3.
x = -12.0; A3.
y = 0.0;
1020 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 2.0, 0.000001);
1023 A1.
x = -19.0; A1.
y = 0.0;
1024 A2.
x = -14.0; A2.
y = -5.0;
1025 A3.
x = - 9.0; A3.
y = 0.0;
1028 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1031 A1.
x = -9.0; A1.
y = 0.0;
1032 A2.
x = -4.0; A2.
y = -5.0;
1033 A3.
x = 1.0; A3.
y = 0.0;
1036 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1039 A1.
x = -1.0; A1.
y = 0.0;
1040 A2.
x = 4.0; A2.
y = -5.0;
1041 A3.
x = 9.0; A3.
y = 0.0;
1044 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1047 A1.
x = 1.0; A1.
y = 0.0;
1048 A2.
x = 6.0; A2.
y = -5.0;
1049 A3.
x = 11.0; A3.
y = 0.0;
1052 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1055 A1.
x = 11.0; A1.
y = 0.0;
1056 A2.
x = 16.0; A2.
y = -5.0;
1057 A3.
x = 21.0; A3.
y = 0.0;
1060 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1064 A1.
x = -15.0; A1.
y = -6.0;
1065 A2.
x = -10.0; A2.
y = -1.0;
1066 A3.
x = - 5.0; A3.
y = -6.0;
1069 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1072 A1.
x = -5.0; A1.
y = 0.0;
1073 A2.
x = 0.0; A2.
y = 5.0;
1074 A3.
x = 5.0; A3.
y = 0.0;
1077 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 5.0, 0.000001);
1080 A1.
x = -5.0; A1.
y = 0.0;
1081 A2.
x = 0.0; A2.
y = -5.0;
1082 A3.
x = 5.0; A3.
y = 0.0;
1085 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 5.0, 0.000001);
void lw_dist2d_distpts_init(DISTPTS *dl, int mode)
int lw_dist2d_arc_arc(const POINT2D *A1, const POINT2D *A2, const POINT2D *A3, const POINT2D *B1, const POINT2D *B2, const POINT2D *B3, DISTPTS *dl)
Structure used in distance-calculations.