Показать сообщение отдельно
  #7 (permalink)  
Старый 03.01.2020, 16:01
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

Сообщение от Malleys Посмотреть сообщение
И где она? Ты даже её не использовал для вычислении!

ЕЩЁ То, что хочет сделать автор темы, определённо имеет отношение к параболе... https://www.desmos.com/calculator/7jowhxgmmi

Вот вычисление по формуле...
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<style>
		circle {
			width: 35px;
			height: 35px;
			background-color: red;
			border-radius: 50%;
			position: absolute;
			font: 900 1.3em / 4px sans-serif;
			text-align: center;
			line-height: 35px;
		}
	</style>
</head>
<body>
	<script>
		function fn(x) {
			return Math.abs(Math.floor(Math.sqrt(x)) - Math.abs(x - Math.floor(Math.sqrt(x)) ** 2));
		}
		for(let from = 0, to = 300, x = from; x < to; x++) {
			const circle = document.createElement("circle");
			const y = 20 * fn(x / 20);
			circle.textContent = Math.round(y);
			Object.assign(circle.style, {
				left: `${x * 15}px`,
				top: `${y * 30}px`
			});
			document.body.append(circle);
		}
	</script>
</body>
</html>
Сообщение от рони Посмотреть сообщение
Malleys,
Это решение определённо выглядит лучше, но как сделать эту синусоиду без возрастания, чтоб переменная возвращала значение не больше 20 и возвращалась к 0 после чего опять увеличивалась. У вас же она после каждого "цикла" увеличивается на своё значение (20 > 40 > 60 а нужно 20 > 20 > 20) .
Ответить с цитированием