[计算几何] (二维)圆与直线相交的问题
发布时间
阅读量:
阅读量
已知圆心O的坐标及圆的半径r,同时给出点A和点B的坐标,从而确定直线AB,求解该圆与直线AB的交点坐标。
如下图所示

Step1: 首先需确定圆心c在直线l上的投影点pr的坐标信息。该坐标可通过计算向量p1pr,其长度乘以向量p1p2的单位向量来获得。
Step2: 接下来应求出向量p1p2对应的单位向量e,随后利用勾股定理计算base的长度,从而得到向量base的具体表达。
Step3: 最终,以投影点pr为起始位置,沿正方向或负方向叠加该向量,即可确定圆与直线之间的两个交点坐标。
程序代码参考
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
typedef struct node
{
double x, y;
}NODE;
inline NODE Vector(NODE A, NODE B); //向量AB
double cross(NODE A,
全部评论 (0)
还没有任何评论哟~
