Показать сообщение отдельно
  #9 (permalink)  
Старый 03.01.2020, 16:51
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от Biotoxsin
как сделать эту синусоиду без возрастания, чтоб переменная возвращала значение не больше 20 и возвращалась к 0 после чего опять увеличивалась. У вас же она после каждого "цикла" увеличивается на своё значение (20 > 40 > 60 а нужно 20 > 20 > 20) .
Тогда определённо имеет отношение к синусу!
<!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 0.5 + Math.asin(Math.sin(Math.PI * (x - 0.5))) / Math.PI;
		}
		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>


Сообщение от Biotoxsin
Здравствуйте!

Скажите, Вы не против если я буду задавать Вам вопросы напрямую в личные сообщения?
Лучше задавайте их тут, вы получите более разносторонние ответы от разных участников!
Ответить с цитированием