Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.10.2017, 10:49
Новичок на форуме
Отправить личное сообщение для NewOne135 Посмотреть профиль Найти все сообщения от NewOne135
 
Регистрация: 09.10.2017
Сообщений: 1

T-фрактал на JS в canvas
Доброго дня. Дали на паре задание нарисовать T-фрактал в canvas JS. И у меня возникла проблема, ибо JS никогда прежде не изучала, а преподавательница мягко говоря не соизволила ничего объяснить. Нашла исходник, подогнала, но на мониторе сугубо черный экран. Подскажите в чем проблема и как исправить?

var canva = document.getElementById('canvas');
canva.width = window.innerWidth;
canva.height = window.innerHeight;
var ctx = canva.getContext('2d');



function clear() {
ctx.clearRect(0, 0, canva.width, canva.height);
ctx.fillStyle = 'rgba(0,0,0,1)';
ctx.fillRect(0, 0, canva.width, canva.height);
}

function PrintFigure(x, y, size, style) {
var sizeElem = Math.floor(size / N);
for (var i = 0; i < N; i++)
for (var k = 0; k < N; k++)
if (figure[i][k] == 1) {
ctx.fillStyle = style;
ctx.fillRect(x + i * sizeElem, y + k * sizeElem, sizeElem, sizeElem);
}
}

function CreateTFractal() {
var MAX_X = canva.width,
MAX_Y = canva.height;

clear();
var size = N;
var countByX = Math.floor(MAX_X / size),
countByY = Math.floor(MAX_Y / size);

while ((countByX > 0) && (countByY > 0)) { // пока рисунок помещается в область
for (var i = 0; i <= countByX; i++) {
for (var k = 0; k <= countByY; k++) {
PrintFigure(i * size, k * size, size, 'rgba(255, 255, 255, 0.3)');
} // k
} // i

size *= 2; // новый размер для следующей итерации
countByX = Math.floor(MAX_X / size),
countByY = Math.floor(MAX_Y / size);
}
}


<html lang="en">
<head>
<meta charset="utf-8">
<title>Draw (canvas version)</title>
</head>

<body onload="CreateTFractal()">
<canvas id="canvas"></canvas>
Please use a browser that supports "canvas"
<script src="new1.js"></script>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 09.10.2017, 10:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 09.10.2017, 16:41
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

NewOne135,
В вашем скрипте используются переменная N и массив figure[i][k], которые нигде не определяются
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Canvas диаграмма js, нужно доработать walker1232 Общие вопросы Javascript 2 18.12.2015 01:35
Вакансия JavaScript разработчик / JS / Frontend developer (Санкт-Петербург) Сергей Грачёв Работа 0 21.09.2015 12:31
Пример тестовых заданий на js junior elshaarawy Учебные материалы 3 26.03.2015 15:17
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28
Cоздание анимации на JS и Canvas Severtain Общие вопросы Javascript 5 14.05.2011 20:40