首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何求直线(与给定直线平行)和其他直线的交点坐标

如何求直线(与给定直线平行)和其他直线的交点坐标
EN

Stack Overflow用户
提问于 2022-04-18 09:44:24
回答 1查看 264关注 0票数 1

我在链接中有3分A,B,C点。这些点产生一个与AB平行的三角形ABC.2红线,它们之间的距离为30。这条绿线穿过B,与AC垂直。这是描述它的图片

如何找到两条红线与绿线之间的坐标?

解决方案

谢谢@MBo,我想在最后一个表达式中提供一种更容易理解的方法:我将ip1坐标作为

代码语言:javascript
代码运行次数:0
运行
复制
ip1 = b.x + t * n.x, b.y + t * n.y                                     (1)

所以ip1和b之间的距离是:

代码语言:javascript
代码运行次数:0
运行
复制
d / sine(n, BA) = sqrt ((t * n.x) ** 2 + (t * n.y) ** 2)

您可以很容易地计算t,然后将它放在(1)中以找到ip1和ip2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-18 10:41:50

假设您想要高度Bh和红线之间的两个交点(在d距离处与BA平行):

获取向量

代码语言:javascript
代码运行次数:0
运行
复制
AC = C.x - A.x, C.y- A.y
BA = A.x - B.x, A.y- B.y

并将其规范化(使单位长度除以向量大小)

求出垂直于AC的高度矢量

代码语言:javascript
代码运行次数:0
运行
复制
n = -ac.y, ac.x

用交叉积求nBA之间的正弦角

代码语言:javascript
代码运行次数:0
运行
复制
s = abs(n.x * ba.y - n.y * ba.x)

现在获取交叉点的坐标:

代码语言:javascript
代码运行次数:0
运行
复制
ip1 = B + n * d / s
ip2 = B - n * d / s

就这样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71910169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档