假设我有一个由3个点组成的三角形.
makeTriangle(x1, y1, x2, y2, x3, y3);
如何判断所述三角形是否包含某一组点?
我正在try 用P5制作一个交互式UI.js,其中包含一个箭头,可用于调整对象大小.线框代码为:
let Size, x, y, moving;
//runs once at the start of the program
function setup() {
createCanvas(400, 400);
Size = 100;
x = 10;
y = 10;
moving = false;
}
//runs once every frame
function draw() {
background(220);
handleMouse();
fill("grey");
noStroke();
square(x, y, Size, 5);
fill("black");
triangle( x + Size * 0.9, y + Size * 0.9,
x + Size * 0.7, y + Size * 0.9,
x + Size * 0.9, y + Size * 0.7 );
}
function handleMouse(){
if(mouseInTriangle(/* x1, y1, x2, y2, x3, y3 */) && mouseIsPressed || mouseIsPressed && moving){
moving = true;
} else {
moving = false;
}
if(moving){
Size = max((mouseX + mouseY)/2 + x + y, 50);
}
}
function mouseInTriangle(x1, y1, x2, y2, x3, y3){
//Is mouse in triangle?
return true;
}
<script src="https://cdn.jsdelivr.net/npm/p5@1.4.1/lib/p5.js"></script>
有没有一种动态的方法来判断一个点是否在三角形内?