中易网

求C++大牛帮忙,求平面内已知的一个点(x1,y1)到直线y=x的距离 d 以及垂点坐标(x2,y2)

答案:2  悬赏:80  
解决时间 2021-03-07 23:35
请帮忙写个代码,谢谢了!

垂点指的是x1,y1向直线y=x做垂线而相交的那个点 为 x2,y2
最佳答案
这是数学问题好吗。。。
全部回答
struct point { double x,y; }; struct line { point a,b; }; double distance(point p1,point p2) { return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)); } double xmult(point p1,point p2,point p0) { return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y); } point intersection(point u1,point u2,point v1,point v2) { point ret=u1; double t=((u1.x-v1.x)*(v1.y-v2.y)-(u1.y-v1.y)*(v1.x-v2.x)) /((u1.x-u2.x)*(v1.y-v2.y)-(u1.y-u2.y)*(v1.x-v2.x)); ret.x+=(u2.x-u1.x)*t; ret.y+=(u2.y-u1.y)*t; return ret; } //点到直线距离d double disptoline(point p,line l) { return fabs(xmult(p,l.a,l.b))/distance(l.a,l.b); } //点到直线上的最近点(x2,y2) point ptoline(point p,line l) { point t=p; t.x+=l.a.y-l.b.y,t.y+=l.b.x-l.a.x; return intersection(p,t,l.a,l.b); }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
内存条和显卡那个影响游戏速度
You can't play the violin here改
有没有芯片可以替换MAX9814?这个芯片购买周期
我想发表一篇物理论文,但是总是退稿,怎么办
梦幻科举乡试怎么 才答了一次题不让答了?高
我小孩5岁,很喜欢乒乓球
我从不曾疏远你的英文
求指教天龙八部3满4玩哪个门派?
汽车陪练公司怎么办?有什么手续?
注册会计师审计产生主要是由于什么?
成都到安阳火车是那个站
高石村地址在哪,我要去那里办事
Hegre是什么意思
普通自行车抱刹片有油咋办
微记面馆地址在什么地方,想过去办事
推荐资讯
爱车饰装饰用品在哪里啊,我有事要去这个地方
惠普6450b笔记本如何验机
Dm-N值是什么意思
买房首付,买房转户口好转吗!?贷款没还完之
请问你是不是买了智能股票预警系统 ?我也是
3月去云台山怎么样
我想在合肥买房,家是巢湖的.但听说在限购区
真的 有人渡劫吗?
7 9 10 5凑24
有人说《赤壁》运用了以小见大的手法,你同意
空调外机放置公共区域雨棚上是违规吗?
爱群商店我想知道这个在什么地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?