js-2dmath
Version:
Fast 2d geometry math: Vector2, Rectangle, Circle, Matrix2x3 (2D transformation), Circle, BoundingBox, Line2, Segment2, Intersections, Distances, Transitions (animation/tween), Random numbers, Noise
59 lines (48 loc) • 1.97 kB
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" ></script>
<title>js-2dmath: Demostration of various Intersections</title>
<script src="../dist/js-2dmath-browser.min.js" type="text/javascript" ></script>
<!--
<script src="../debug/js-2dmath-browser-debug.js" type="text/javascript" ></script>
-->
</head>
<body>
<h1>js-2dmath: Demostration of various Intersections</h1>
<canvas id="canvas" width="680" height="680" style="border: 1px solid red;"></canvas>
</body>
</html>
<script>
//
// --- INIT ---
//
//expose js-2dmath globally, I'm lazy!
require("js-2dmath").globalize(window);
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
Draw.invertAxis(canvas, ctx); // y-up
ctx.translate(canvas.width * 0.5, canvas.height * 0.5); // center
Draw.cartesianAxis(ctx, 320, 16); // coordinates
//
// code
//
Draw.text(ctx, "45º", [50, 35]);
Draw.angle(ctx, [0,0], Math.HALF_PI * 0.5, "black", 100);
var angle = Vec2.angleTo([0, 0], [50, 50]);
Draw.text(ctx, "-45º = Vec2.angleTo([0, 0], [50, -50])", [50, -35])
Draw.angle(ctx, [0,0], angle, "red", 100);
console.log((angle * Math.RAD_TO_DEG).toFixed(0));
var angle = Vec2.angleTo([0, 0], [-50, 50]);
Draw.text(ctx, "-45º = Vec2.angleTo([0, 0], [50, 50])", [-50, -35])
Draw.angle(ctx, [0,0], angle, "green", 100);
console.log((angle * Math.RAD_TO_DEG).toFixed(0));
var angle = Vec2.angleTo([0, 0], [-50, -50]);
Draw.text(ctx, "-45º = Vec2.angleTo([0, 0], [50, 50])", [-50, -35])
Draw.angle(ctx, [0,0], angle, "blue", 100);
console.log((angle * Math.RAD_TO_DEG).toFixed(0));
var angle = Vec2.angleTo([0, 0], [50, -50]);
Draw.text(ctx, "-45º = Vec2.angleTo([0, 0], [50, 50])", [50, -35])
Draw.angle(ctx, [0,0], angle, "black", 100);
console.log((angle * Math.RAD_TO_DEG).toFixed(0));
</script>