已知两点和直线上的某点的Y值,求某点的x坐标

本文介绍了在GDI绘图中如何找到不规则曲线与直线交点的方法。通过已知的两点计算直线公式,并根据直线上某点的Y值,计算该点的X坐标。提供了具体实现代码,包括处理特殊情况如平行线和重合线的逻辑。
摘要由CSDN通过智能技术生成

最近使用GDI绘图,绘制了不规则曲线和一条直线,需要填充直线和曲线的相交区域,这就需要计算它们的交点了。以下是应用数学几何代数上的知识,通过已知的两点获得直线公式,然后根据直线上某点的Y值,获得某点的x值,具体的代码如下:

  //已知两点和直线上的某点的Y值,求某点的x坐标
        private Point GetInsectPoint(Point pt1, Point pt2, int insectPtY)
        {
            Point pt = new Point();
            try
            {
                float k = 0f;
                if (pt1.X == pt2.X)//不存在斜率x=x1为直线方程90度
                {
                    pt.X = pt1.X;
                    pt.Y = insectPtY;
                    return pt;
                }
                else if (pt1.Y == pt2.Y && pt1.Y != insectPtY)//y=y1为直线方程,0度,两条直线平行没有交点
                {
                    return pt;
                }
                else if (pt1.Y == pt2.Y && pt1.Y =&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值