javascript - 如何获得丢失的坐标以使我的线垂直于另一条线?
问题描述
场景 1 第 1 行:(x = 102, y = 370), (x = 890, y = 182) 第 2 行:(x = ?, y = 34), (x = ?, y = 596)
场景 2 第 1 行:(x = 102, y = 370), (x = 890, y = 182) 第 2 行:(x = 562, y = ?), (x = 611, y = ?)
场景 3 第 1 行:(x = 102, y = 370), (x = 890, y = 182) 第 2 行:(x = 562, y = ?), (x = ?, y = 596)
场景 4 第 1 行:(x = 102, y = 370), (x = 890, y = 182) 第 2 行:(x = ?, y = 24), (x = 611, y = 596)
这是我当前的代码:
function getPoint(coor1_line1, coor2_line1, coor1_line2){
var x1 = parseInt(coor1_line1.coor_x),
y1 = parseInt(coor1_line1.coor_y),
x2 = parseInt(coor2_line1.coor_x),
y2 = parseInt(coor2_line1.coor_y),
x3 = parseInt(coor1_line2.coor_x),
y3 = parseInt(coor1_line2.coor_y);
var px = x2-x1,
py = y2-y1,
dAB = px*px + py*py;
var u = ((x3 - x1) * px + (y3 - y1) * py) / dAB;
var x = x1 + u * px, y = y1 + u * py;
return {
coor_x : x,
coor_y: y
};
}
输出:
解决方案
推荐阅读
- origen-sdk - 在 Bamboo 中运行 origen-sdk 命令
- html - 在没有容器的情况下强制溢出隐藏
- html - 如何将多个html元素放在td的同一行
- c# - 如何通过窗口句柄确定是否是弹出窗口c#
- java - 有没有办法将 Kotlin 的 String::startsWith 传递给采用 Java 的 String::startsWith 的方法?
- function - 支持词法范围的 ScriptBlock 参数(例如 Where-Object)
- sql - 格式化case语句中的数字
- c++ - 疯狂暧昧的事
- range - range() 和 xrange() 之间的区别
- php - 在 Laravel 5.6 中使用 where 条件从两个表中获取数据