Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var c = document.getElementById("canvas");
- var ctx = c.getContext("2d");
- var imageData = ctx.createImageData(1, 1);
- ctx.fillStyle = "#000";
- ctx.fillRect(0, 0, 1, 1);
- var imgData = ctx.getImageData(0, 0, 1, 1);
- function colorPixel(ax, ay) {
- ctx.putImageData(imgData, ax, ay);
- }
- function bresenham(startX, startY, endX, endY) {
- var x;
- var y;
- var d;
- var count;
- var newX;
- var newY;
- var negative;
- var higrad;
- var nx;
- var ny;
- function define() {
- x = endX - startX;
- y = endY - startY;
- d = 2*y-x;
- count = 0;
- newX = startX;
- newY = startY;
- }
- define();
- if (y < 0) {
- var mem1 = startX;
- var mem2 = startY;
- startX = -endX;
- startY = endY;
- endX = -mem1;
- endY = mem2;
- negative = 1;
- define();
- }
- if (y > x) {
- higrad = 1;
- define();
- d = 2*x-y;
- }
- while(y != 0 || x != 0) {
- x = endX - newX;
- y = endY - newY;
- count++;
- if (negative == 1 & higrad == 1) {
- nx = -newX;
- ny = newY;
- colorPixel(nx, ny);
- } else if (higrad == 1) {
- nx = newX;
- ny = newY;
- colorPixel(nx, ny);
- } else if (negative == 1) {
- nx = -newX;
- ny = newY;
- colorPixel(nx, ny);
- } else {
- nx = newX;
- ny = newY;
- colorPixel(nx, ny);
- }
- if (higrad == 1) {
- if (d < 0) {
- d = d+x;
- } else {
- d = d+x-y;
- newX++;
- }
- newY++;
- } else {
- if (d < 0) {
- d = d+y;
- } else {
- d = d+y-x;
- newY++;
- }
- newX++;
- }
- }
- }
- var printX1 = 0;
- var printY1 = 0;
- var printX2 = 1;
- var printY2 = 0;
- while(printX2 < 3500) {
- printY1 = Math.round(1750 - 500 * (Math.sin(Math.pow(printX1 * 0.003, 2))));
- printX1++;
- printY2 = Math.round(1750 - 500 * (Math.sin(Math.pow(printX2 * 0.003, 2))));
- printX2++;
- bresenham(printX1, printY1, printX2, printY2);
- }
Add Comment
Please, Sign In to add comment