double XX[4], YY[4]; double ALX1, ALX2, ALY1, ALY2, EPS; double NTT1, NTT2, NTT3, NTT4; double AK12, B12, XX11, YY11, VALUE1, VALUE2, VALUE3, BBX, BBY; double AK, BB, XX12, YY12, XX13, YY13, T;

XX[0] = XN(NTT1); XX[1] = XN(NTT2); XX[2] = XN(NTT3); XX[3] = XN(NTT4); YY[0] = YN(NTT1); YY[1] = YN(NTT2); YY[2] = YN(NTT3); YY[3] = YN(NTT4);

if (fabs(ALX2-ALX1) >= EPS || fabs(XX[1]-XX[0]) >= EPS) { if (fabs(ALX2-ALX1) < EPS && fabs(XX[1]-XX[0]) >= EPS) { AK12 = (YY[1]-YY[0])/(XX[1]-XX[0]); B12 = YY[0] - AK12XX[0]; XX11 = ALX1; YY11 = AK12XX11 + B12; VALUE1 = (YY11-YY[1])(YY11-YY[0]); VALUE2 = (YY11-ALY1)(YY11-ALY2); VALUE3 = (XX11-XX[1])(XX11-XX[0]); if (VALUE1 <= 0 && VALUE2 <= 0 && VALUE3 <= 0) { BBX = XX11; BBY = YY11; } } if (fabs(XX[1]-XX[0]) < EPS && fabs(ALX2-ALX1) >= EPS) { AK = (ALY2-ALY1)/(ALX2-ALX1); BB = ALY1 - AKALX1; XX12 = XX[0]; YY12 = AKXX12 + BB; VALUE1 = (YY12-YY[1])(YY12-YY[0]); VALUE2 = (YY12-ALY1)(YY12-ALY2); VALUE3 = (XX12-ALX1)(XX12-ALX2); if (VALUE1 <= 0 && VALUE2 <= 0 && VALUE3 <= 0) { BBX = XX12; BBY = YY12; } } if (fabs(ALX2-ALX1) >= EPS && fabs(XX[1]-XX[0]) >= EPS) { AK = (ALY2-ALY1)/(ALX2-ALX1); AK12 = (YY[1]-YY[0])/(XX[1]-XX[0]); if (fabs(AK12-AK) >= EPS) { B12 = YY[0] - AK12XX[0]; BB = ALY1 - AKALX1; XX13 = (BB-B12)/(AK12-AK); T = XX13; YY13 = AKT + BB; VALUE1 = (XX13-XX[1])(XX13-XX[0]); VALUE2 = (YY13-ALY1)(YY13-ALY2); VALUE3 = (XX13-ALX1)(XX13-ALX2); if (VALUE1 <= 0 && VALUE2 <= 0 && VALUE3 <= 0) { BBX = XX13; BBY = YY13; } } }

转换成C代码 XX1=XNNTT1 XX2=XNNTT2 XX3=XNNTT3 XX4=XNNTT4 YY1=YNNTT1 YY2=YNNTT2 YY3=YNNTT3 YY4=YNNTT4 IFDABSALX2-ALX1GEEPSORDABSXX2-X

原文地址: https://www.cveoy.top/t/topic/hrLO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录