914 POINT2D A1, A2, A3, B1, B2, B3;
919 A1.
x = -1.0; A1.
y = 4.0;
920 A2.
x = 0.0; A2.
y = 5.0;
921 A3.
x = 1.0; A3.
y = 4.0;
922 B1.
x = 1.0; B1.
y = 6.0;
923 B2.
x = 6.0; B2.
y = 1.0;
924 B3.
x = 9.0; B3.
y = 7.0;
927 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.0475666, 0.000001);
937 A2.
x = -0.3; A2.
y = .5;
942 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.271798, 0.000001);
946 A1.
x = -0.5; A1.
y = .5;
947 A2.
x = -0.4; A2.
y = .2;
951 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.292893, 0.000001);
960 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1, 0.000001);
969 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0, 0.000001);
978 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, sqrt(2)-1, 0.000001);
987 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0, 0.000001);
991 A1.
x = -2.0; A1.
y = -0.1;
992 A2.
x = 1.5; A2.
y = -0.1;
993 A3.
x = -2.0; A3.
y = -0.1;
996 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.480742, 0.0001);
1000 A1.
x = -2.0; A1.
y = 0.0;
1001 A2.
x = 0.0; A2.
y = 2.0;
1002 A3.
x = 2.0; A3.
y = 0.0;
1005 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1009 A1.
x = -0.5 / sqrt(2.0); A1.
y = 0.5 / sqrt(2.0);
1010 A2.
x = 0.0; A2.
y = 0.5;
1011 A3.
x = 0.5 / sqrt(2.0); A3.
y = 0.5 / sqrt(2.0);
1014 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.5, 0.000001);
1018 A1.
x = -0.5 / sqrt(2.0); A1.
y = -0.5 / sqrt(2.0);
1019 A2.
x = -0.5; A2.
y = 0.0;
1020 A3.
x = -0.5 / sqrt(2.0); A3.
y = 0.5 / sqrt(2.0);
1023 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.5, 0.000001);
1027 A1.
x = -0.5 / sqrt(2.0); A1.
y = -0.5 / sqrt(2.0);
1028 A2.
x = 0.0; A2.
y = -0.5;
1029 A3.
x = 0.5 / sqrt(2.0); A3.
y = -0.5 / sqrt(2.0);
1032 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.736813, 0.000001);
1036 A1.
x = -1.0; A1.
y = 0.0;
1037 A2.
x = 0.0; A2.
y = 1.0;
1038 A3.
x = 1.0; A3.
y = 0.0;
1041 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 0.0, 0.000001);
1044 B1.
x = -10.0; B1.
y = 0.0;
1045 B2.
x = 0.0 ; B2.
y = 10.0;
1046 B3.
x = 10.0 ; B3.
y = 0.0;
1049 A1.
x = -22.0; A1.
y = 0.0;
1050 A2.
x = -17.0; A2.
y = -5.0;
1051 A3.
x = -12.0; A3.
y = 0.0;
1054 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 2.0, 0.000001);
1057 A1.
x = -19.0; A1.
y = 0.0;
1058 A2.
x = -14.0; A2.
y = -5.0;
1059 A3.
x = - 9.0; A3.
y = 0.0;
1062 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1065 A1.
x = -9.0; A1.
y = 0.0;
1066 A2.
x = -4.0; A2.
y = -5.0;
1067 A3.
x = 1.0; A3.
y = 0.0;
1070 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1073 A1.
x = -1.0; A1.
y = 0.0;
1074 A2.
x = 4.0; A2.
y = -5.0;
1075 A3.
x = 9.0; A3.
y = 0.0;
1078 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1081 A1.
x = 1.0; A1.
y = 0.0;
1082 A2.
x = 6.0; A2.
y = -5.0;
1083 A3.
x = 11.0; A3.
y = 0.0;
1086 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1089 A1.
x = 11.0; A1.
y = 0.0;
1090 A2.
x = 16.0; A2.
y = -5.0;
1091 A3.
x = 21.0; A3.
y = 0.0;
1094 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1098 A1.
x = -15.0; A1.
y = -6.0;
1099 A2.
x = -10.0; A2.
y = -1.0;
1100 A3.
x = - 5.0; A3.
y = -6.0;
1103 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 1.0, 0.000001);
1106 A1.
x = -5.0; A1.
y = 0.0;
1107 A2.
x = 0.0; A2.
y = 5.0;
1108 A3.
x = 5.0; A3.
y = 0.0;
1111 CU_ASSERT_DOUBLE_EQUAL(dl.
distance, 5.0, 0.000001);
1114 A1.
x = -5.0; A1.
y = 0.0;
1115 A2.
x = 0.0; A2.
y = -5.0;
1116 A3.
x = 5.0; A3.
y = 0.0;
1119 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.