转换成C代码 IFNE34IIKNEQ4 THEN IFDABSALX2-ALX1GEEPSORDABSXX4-XX3GEEPS THEN IFDABSALX2-ALX1LTEPSANDDABSXX4-XX3GEEPS THEN AK34=YY4-YY3XX4-XX3 B34=YY3-AK34XX3
if (NE34(IIKN) == 4) { if (fabs(ALX2-ALX1) >= EPS || fabs(XX[3]-XX[2]) >= EPS) { if (fabs(ALX2-ALX1) < EPS && fabs(XX[3]-XX[2]) >= EPS) { AK34 = (YY[3]-YY[2]) / (XX[3]-XX[2]); B34 = YY[2] - AK34XX[2]; XX31 = ALX1; YY31 = AK34XX31 + B34; VALUE1 = (YY31-YY[3])(YY31-YY[2]); VALUE2 = (YY31-ALY1)(YY31-ALY2); VALUE3 = (XX31-XX[3])(XX31-XX[2]); if (VALUE1 <= 0 && VALUE2 <= 0 && VALUE3 <= 0) { BBX = XX31; BBY = YY31; } } if (fabs(ALX2-ALX1) >= EPS && fabs(XX[3]-XX[2]) < EPS) { AK = (ALY2-ALY1) / (ALX2-ALX1); BB = ALY1 - AKALX1; XX32 = XX[2]; YY32 = AKXX32 + BB; VALUE1 = (YY32-YY[3])(YY32-YY[2]); VALUE2 = (YY32-ALY1)(YY32-ALY2); VALUE3 = (XX32-ALX1)(XX32-ALX2); if (VALUE1 <= 0 && VALUE2 <= 0 && VALUE3 <= 0) { BBX = XX32; BBY = YY32; } } if (fabs(ALX2-ALX1) >= EPS && fabs(XX[3]-XX[2]) >= EPS) { AK34 = (YY[3]-YY[2]) / (XX[3]-XX[2]); AK = (ALY2-ALY1) / (ALX2-ALX1); if (fabs(AK34-AK) >= EPS) { B34 = YY[2] - AK34XX[2]; BB = ALY1 - AKALX1; XX33 = (BB-B34) / (AK34-AK); T = XX33; YY33 = AKT + BB; VALUE1 = (XX33-XX[3])(XX33-XX[2]); VALUE2 = (YY33-ALY1)(YY33-ALY2); VALUE3 = (XX33-ALX1)(XX33-ALX2); if (VALUE1 <= 0 && VALUE2 <= 0 && VALUE3 <= 0) { BBX = XX33; BBY = YY33; } } } } } if (fabs(ALX2-ALX1) >= EPS || fabs(XX[3]-XX[0]) >= EPS) { if (fabs(ALX2-ALX1) < EPS && fabs(XX[3]-XX[0]) >= EPS) { AK41 = (YY[0]-YY[3]) / (XX[0]-XX[3]); B41 = YY[3] - AK41XX[3]; XX41 = ALX1; YY41 = AK41XX41 + B41; VALUE1 = (YY41-YY[0])(YY41-YY[3]); VALUE2 = (YY41-ALY1)(YY41-ALY2); VALUE3 = (XX41-XX[0])(XX41-XX[3]); if (VALUE1 <= 0 && VALUE2 <= 0 && VALUE3 <= 0) { BBX = XX41; BBY = YY41; } } if (fabs(ALX2-ALX1) >= EPS && fabs(XX[3]-XX[0]) < EPS) { AK = (ALY2-ALY1) / (ALX2-ALX1); BB = ALY1 - AKALX1; XX42 = XX[3]; YY42 = AKXX42 + BB; VALUE1 = (YY42-YY[0])(YY42-YY[3]); VALUE2 = (YY42-ALY1)(YY42-ALY2); VALUE3 = (XX42-ALX1)(XX42-ALX2); if (VALUE1 <= 0 && VALUE2 <= 0 && VALUE3 <= 0) { BBX = XX42; BBY = YY42; } } if (fabs(ALX2-ALX1) >= EPS && fabs(XX[3]-XX[0]) >= EPS) { AK41 = (YY[0]-YY[3]) / (XX[0]-XX[3]); AK = (ALY2-ALY1) / (ALX2-ALX1); if (fabs(AK41-AK) >= EPS) { B41 = YY[3] - AK41XX[3]; BB = ALY1 - AKALX1; XX43 = (BB-B41) / (AK41-AK); T = XX43; YY43 = AKT + BB; VALUE1 = (YY43-YY[0])(YY43-YY[3]); VALUE2 = (YY43-ALY1)(YY43-ALY2); VALUE3 = (XX43-ALX1)(XX43-ALX2); if (VALUE1 <= 0 && VALUE2 <= 0 && VALUE3 <= 0) { BBX = XX43; BBY = YY43; } } }
原文地址: https://www.cveoy.top/t/topic/hrMH 著作权归作者所有。请勿转载和采集!