<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body { padding: 0; margin: 0; background-color: black; }
canvas { background-color: darkgrey; }
</style>
<script>
'use strict';
window.onload = setup;
let p = null; // an alias for the paper.js global object.
let canvasWidth, canvasHeight = null;
let em = null; // relative width unit the drawing is based on
function setup()
{
p = paper;
const canvas = document.getElementById('canvasId');
canvasWidth = parseInt(document.getElementById('canvasId').attributes.width.nodeValue);
canvasHeight = parseInt(document.getElementById('canvasId').attributes.height.nodeValue);
em = canvasWidth / 100;
p.setup(canvas);
drawPicture();
}
function drawPicture()
{
const shape1 = p.Path.Circle(new p.Point(200, 200), 2*em);
shape1.fillColor = hsb(50, 0.5, 0.5, 1);
shape1.strokeColor = hsb(0, 0, 0, 1);
const shape2 = p.Path.Circle(new p.Point(230, 200), 2*em);
shape2.fillColor = hsb(100, 0.5, 0.5, 1);
shape2.strokeColor = hsb(0, 0, 0, 1);
console.log(`shape1 intersects shape1 ? ${shape1.intersects(shape1)}`);
console.log(`shape1 intersects shape2 ? ${shape1.intersects(shape2)}`);
console.log(`(shape1 less shape2) intersects shape2 ? ${shape1.subtract(shape2).intersects(shape2)}`);
}
function hsb(hue = 360, saturation = 1, brightness = 0.5, alpha = 1)
{
return new p.Color({hue: hue, saturation: saturation, brightness: brightness, alpha: alpha});
}
</script>
</head>
<body>
<canvas id="canvasId" width="1500" height="750"></canvas>
</main>
</body>
</html>