调用代码:
var line1Start = new System.Windows.Point(line4.Syjd_X_BasicGeometry, line4.Syjd_Y_BasicGeometry);
var line1End = new System.Windows.Point(line4.Xyjd_X_BasicGeometry, line4.Xyjd_Y_BasicGeometry);
var line2Start = new System.Windows.Point(item.Syjd_X_BasicGeometry, item.Syjd_Y_BasicGeometry);
var line2End = new System.Windows.Point(item.Xyjd_X_BasicGeometry, item.Xyjd_Y_BasicGeometry);
System.Windows.Point point = new System.Windows.Point();
int intA = Intersection(line1Start, line1End, line2Start, line2End, ref point);
if (intA == 1 || intA == 2 || intA == 4 || intA == 5 || intA == 6)
{
}
对应方法:
public bool Equal(double f1, double f2)
{
return (Math.Abs(f1 - f2) < 1e-10);
}
public bool Equal(double f1, int f2)
{
return (Math.Abs(f1 - f2) == 0f);
}
/// <summary>
/// 比较两点坐标大小,先比较x坐标,若相同则比较y坐标
/// </summary>
/// <param name="p1"></param>
/// <param name="p2"></param>
/// <returns></returns>
public bool Dayu(System.Windows.Point p1, System.Windows.Point p2)
{
return (p1.X > p2.X || (Equal(p1.X, p2.X) && p1.Y > p2.Y));
}
/// <summary>
/// 判断两点是否相等
/// </summary>
/// <param name="p1"></param>
/// <param name="p2"></param>
/// <returns></returns&

文章详细描述了一个C#方法,用于确定两条线段在二维空间中的位置关系,包括是否相交、重合或平行,并提供了计算交点的逻辑。主要涉及点和线段的表示、比较和几何运算。
最低0.47元/天 解锁文章
478

被折叠的 条评论
为什么被折叠?



