Статья по теме:
Демо JavaScript:
var ctx, canvas, h, w, x0, y0, k; function Line(x1, y1, x2, y2){ //прорисовка линии ctx.beginPath(); ctx.moveTo(x1, y1); ctx.lineTo(x2, y2); ctx.closePath(); ctx.stroke(); } function horizontal(x, y){ //горизонтальные линии Line(x, y, x+k/4, y); Line(x+k/4, y+k/4, x+k/4+k/4, y+k/4); Line(x+k/4+k/4, y-k/4,x+k-k/4, y-k/4); Line(x+k-k/4, y, x+k, y); Line(x+k/4, y, x+k/4, y+k/4); Line(x+k/4+k/4, y+k/4, x+k/4+k/4, y-k/4); Line(x+k-k/4, y-k/4, x+k-k/4, y); } function vertical(x, y){ //вертикальные линии Line(x, y, x, y+k/4); Line(x, y+k/4, x-k/4, y+k/4); Line(x-k/4, y+k/4, x-k/4, y+k/4+k/4); Line(x-k/4, y+k/4+k/4, x+k/4, y+k/4+k/4); Line(x+k/4, y+k/4+k/4, x+k/4, y+k-k/4); Line(x+k/4, y+k-k/4, x, y+k-k/4); Line(x, y+k-k/4, x, y+k); } function Mink(x, y){ //функция прорисовки кривой Минковского horizontal(x, y); vertical(x+k, y); horizontal(x+k, y+k); vertical(x+2*k, y-k); vertical(x+2*k, y); horizontal(x+2*k, y-k); vertical(x+3*k, y-k); horizontal(x+3*k, y); horizontal(x+4*k, y); } window.onload = function(){ canvas = document.getElementById("paint"); w = canvas.width; h = canvas.height; ctx = canvas.getContext("2d"); ctx.fillStyle = "white"; k = 100; x0 = 20; y0 = 200; Mink(x0, y0); };
Прикрепленный файл | Размер |
---|---|
ovcharenko_primer.zip | 767 байтов |