我已经尝试搜索一个javascript函数,它将检测两条线是否相互交叉.
该函数将获取每一行的两个起始端点的x,y值(我们称之为A行和B行).
如果相交则返回true,否则返回false.
功能示例.如果答案使用矢量对象,我很高兴.
Function isIntersect (lineAp1x, lineAp1y, lineAp2x, lineAp2y, lineBp1x, lineBp1y, lineBp2x, lineBp2y)
{
// JavaScript line intersecting test here.
}
Run Code Online (Sandbox Code Playgroud)
一些背景信息:这段代码是我想在html5画布中制作的游戏,也是我碰撞检测的一部分.
javascript intersection collision-detection line-intersection
我最近一直在做一些图像处理,我正在寻找一个javascript解决方案来确定完全在非常规形状内的最长线段.总而言之,线段应该是接触形状的最长线段,而不是重叠或移动到形状之外.
以下是我遵循的步骤
步骤1:
第2步:
第3步:
如步骤3所示,蓝线表示最大长度.它完美地确定了常规形状的长度,但是在形状不规则的情况下,它不起作用(也是在3点的情况下).
为了首先计算长度我已经取得了点(这是画布向下事件的鼠标坐标).
以下是Canvas的片段:
function getXY(e) {
var el = document.getElementById('canvas');
var rect = el.getBoundingClientRect();
/* console.log("widht "+$("#canvas").width());
console.log("heihgt "+$("#canvas").height());
console.log("X "+Math.round(e.clientX - rect.left));
console.log("y "+Math.round(e.clientY - rect.top));*/
return {
x: Math.round(e.clientX - rect.left),
y: Math.round(e.clientY - rect.top)
}
}
$('#canvas').mousedown(function(e) {
var can = document.getElementById("canvas");
var ctx = can.getContext('2d');
if (condition == 1) {
if (e.which == 1) {
//store the points on mousedown
var poss = getXY(e);
i = i + 1; …Run Code Online (Sandbox Code Playgroud) 给定Polygon P,我有它的顶点顺序.我有一个带有4个顶点的矩形R我怎么能这样做:
如果P的任何边(相邻顶点之间的线)与R的边相交,则返回TRUE,否则返回FALSE.
谢谢
* *
* *
Run Code Online (Sandbox Code Playgroud) javascript ×2
algorithm ×1
c ×1
c++ ×1
charts ×1
fill ×1
html5-canvas ×1
intersection ×1
plotly ×1
python ×1