求:点到直接距离,三个坐标A(X,Y),B(X',Y'),C(X'',Y'')求A到BC直接距离,大师详细指点!勿扰!!
解决方案 »
- 查询问题
- Ttable的问题
- 有没有人牛人会将这个数学问题解决了???
- 菜鳥求助。快來搶分啊,在線等。
- 我在使用DataRequest方法从中间层取数据的时候,何以出现"datapacket contains no meta data"错误
- 请问如何动态在窗体上改变背景图片,
- 100分,求xlgrid 1.62 或 1.7 full version。
- 怎么做层叠菜单?
- 我想学Delphi的Win32开发,以前是用VB的,不知Delphi的智能感知有没有,好不好用??
- 如何从剪贴板获取复制的Outlook邮件/附件,保存为文件?
- 在DELPHI里查看变量的引用出去,为什么有时候行,有时候不行
- 100分求解:显示DLL中窗体的问题
a *x +b*y +c=0;
a* x' +b* y' +c=0;
a* x''+b* y'' +c=0;
点到直线距离公式
d = abs(a *x +b*y +c) / sqrt(a*a +b*b);
#include <math.h>
typedef struct point
{ double x;//x坐标
double y;//y坐标
}*Ppoint;typedef struct line
{ double k;//直线斜率
double intercept;//截距
}*Pline;double distanceBetweenPointAndLine(Ppoint src_point,Pline line)// 点到直线的距离
{
double distanceResult;
distanceResult=(line->k*src_point->x+line->intercept-src_point->y)/(sqrt(1+line->k*line->k));
if(distanceResult<0)
return 0-distanceResult;
else
return distanceResult;}
double distanceBetweenA_toBCline(Ppoint A,Ppoint B,Ppoint C)//A 到BC直线的距离函数(调用点线距公式)
{
struct line l;
l.k=(B->y-C->y)/(B->x-C->x);//通过两点求斜率
l.intercept=B->x*(B->y-C->y)/(C->x-B->x)+B->y;//通过两点求截距 return distanceBetweenPointAndLine(A,&l);
}
int main()
{
/*struct point A,B,C;
A.x=0;A.y=0;
B.x=1;B.y=0;
C.x=0;C.y=-1;*/
struct point A,B,C;
A.x=0;A.y=0;
B.x=3;B.y=0;
C.x=0;C.y=-3;
// struct point p(0,0);
// struct point B(1,0);
// struct point C(0,-1);
printf("%f",distanceBetweenA_toBCline(&A,&B,&C));
return 0;}
//
//S = abs( crossMul(vect(p1,p2),vect(p1,p3)))
//d =S/2 / length( vect(p1,p3))//1)向量,线段长度.
function seglength (x1,y1,x2,y2:double) :double;
begin
seglength := sqrt((x2 - x1)*(x2 - x1) +(y2 - y1)* (y2 - y1));
end;
////////////////////////////////////////////////////
// 用向量的叉积,求点到线段的距离,不考虑线段两个端点重合
//
function distance_pl(x1,y1,x2,y2,x3,y3:double):double;
var dx2,dx3,dy2,dy3,S:double;
begin
dx2 := x2 - x1;dy2 := y2 - y1; //向量p1p2
dx3 := x3 - x1;dy3 := y3 - y1; //向量p1p3
S := abs(dx2 * dy3 - dx3 *dy2) //向量的叉积(crossMul),求向量平行四边形面积,
//是向量三角形面积的2倍。
distance_pl := S / seglength(x2,y2,x3,y3)/2; //三角形面积公式,求高,点到线段的距离。
end;