我有由两个点A(x1,y1,z1)和B(x2,y2,z2)和点p(x,y,z)定义的线段.如何检查该点是否位于线段上?
寻找最快的方法来计算位于距离线的终点给定距离的线上的点:
void calculate_line_point(int x1, int y1, int x2, int y2, int distance, int *px, int *py)
{
//calculate a point on the line x1-y1 to x2-y2 that is distance from x2-y2
*px = ???
*py = ???
}
Run Code Online (Sandbox Code Playgroud)
感谢您的回复,不是这不是家庭作业,只是一些黑客攻击我的正常专业领域.
这是下面建议的功能.它并不接近工作.如果我将圆的右上角90度部分每5度计算一次点作为起始点并调用下面的函数,圆的中心为x2,距离为4的y2则完全错误.它们位于中心的下方和右侧,长度与中心点一样长.有人有什么建议吗?
void calculate_line_point(int x1, int y1, int x2, int y2, int distance)
{
//calculate a point on the line x1-y1 to x2-y2 that is distance from x2-y2
double vx = x2 - x1; // x vector
double vy = y2 - …Run Code Online (Sandbox Code Playgroud)