Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2015, 11:43   #1
Ronin94
Пользователь
 
Регистрация: 28.01.2015
Сообщений: 13
По умолчанию Цветные фигуры

Помогите переделать код таким образом чтобы вместо треугольника был квадрат

Используйте тэг code (кнопка #) для оформления кода!

Код:
<html>
<head>
<meta charset="utf-8" />
<script>
function setScreen (ox, oy, r) {
var drawingCanvas = document.getElementById('screen');
var ctx = drawingCanvas.getContext('2d');
ctx.clearRect(0,0,800,600);
var color;
var hb = drawingCanvas.height;
var wb = drawingCanvas.width;
var i;
var j;

if(drawingCanvas && drawingCanvas.getContext) {
var ctx = drawingCanvas.getContext('2d');

ctx.beginPath();
ctx.moveTo(0,0);
ctx.closePath();
ctx.fillStyle = "blue";
ctx.rect(0,0,800,600);
ctx.fill();
var h = Math.sqrt(3)*300+200;
ctx.beginPath();
ctx.moveTo(200,200);
ctx.fillStyle = "yellow";
ctx.lineTo(-100,h);
ctx.lineTo(500,h);

ctx.closePath();
ctx.fill();

ctx.beginPath();
ctx.moveTo(300,300);
ctx.fillStyle = "white";
ctx.arc(ox,oy,r,0,360);
ctx.closePath();
ctx.fill();

ctx.beginPath();
ctx.strokeStyle = "red";
var pts = 0;
for (i = 0; i < wb; i++) {
for (j = 0; j < hb; j++) {
if (((j-200)/(h-200))>((i-200)/(-300))&&((i-200)/(300))<((j-200)/(h-200))&&(j<h)) {
if (((i-ox)*(i-ox)+(j-oy)*(j-oy))<=r*r) {
pts++;
ctx.moveTo(i,j);
ctx.lineTo(i+1,j);
ctx.stroke();
}
}
}
}
ctx.closePath();

}
return pts;
}
</script>
</head>
<body id="body1" onload = "setScreen(250,250,50)">
<canvas width="800" height="600" id="screen">
</canvas>
<form id ="form1" onsubmit="res.value = setScreen(ox.value, oy.value, r.value); return false;">
<span>Зададим круг с координатами центра: </span>
<br />
<br />
<span>x0: </span>
<input type="number" name="ox" size=12 placeholder="250" required>
<br />
<br />
<span>y0: </span>
<input type="number" name="oy" size=12 placeholder="250" required>
<br />
<br />
<span>и радиусом: </span>
<input type="number" name="r" size=12 placeholder="50" required>
<br />
<br />
<span>Количество точек пересечения: </span>
<input type="number" name="res" size=12 placeholder="0" readonly>
<br />
<br />
<input type="submit" value="Вводить">
</form>

</body>
</html>
Используйте тэг code (кнопка #) для оформления кода!

Последний раз редактировалось Вадим Мошев; 21.04.2015 в 11:51.
Ronin94 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение одной фигуры,вслед изменения высоты другой фигуры. 7vlad37 Microsoft Office Excel 3 21.07.2011 18:01
Цветные ячейки в StringGrid Demien Компоненты Delphi 4 30.06.2011 12:05
Цветные буквы CNC Microsoft Office Excel 2 11.02.2011 18:33
Цветные строки в TListView Johnson Компоненты Delphi 6 18.07.2008 15:07
Цветные строки Altera Компоненты Delphi 4 12.02.2008 18:49