gpt4 book ai didi

javascript - 如何正确生成抛物线

转载 作者:行者123 更新时间:2023-12-01 01:06:32 25 4
gpt4 key购买 nike

我正在开发一个普通的 JavaScript 游戏,我正在使用一个数组来存储 y 轴上的高度。我的问题是,作为我的高度一代的一部分,我想创建一个有山丘的生物群落。这需要我使用抛物线,以便我可以正确生成曲线。每个 X 单位像图表一样是固定的,但 y 坐标可能会发生变化。

据我所知,我似乎已经正确地写了它。在来这里之前我引用了很多引用资料。

function constructMountains(spot, last, gradient) {
var randomHeight = (Math.random() * 1.5)+0.3;//creats a random intensity for the parabola
var lengthOfHill = Math.floor(Math.random() * 35)+4;// creates a random width for parabola
var parabolaVertexY = (-randomHeight*((q-lengthOfHill/2)-(lengthOfHill/2))^2)+last;//gets max height of curve
for (var q = 0; q <= lengthOfHill; q++) {
test[q+spot] = (-randomHeight*((q-lengthOfHill/2)-(lengthOfHill/2))^2)+parabolaVertexY;//vertex is half way through so half the length is the iterator's offset
}
return spot+lengthOfHill;//returns place in the main loop
}

var biome = 1
for (x=0; x<blockAmount + 101 + 1000; x++) {
//set up this way for testing
if (x == 0) {
x = constructMountains(x, 45, toggleGradient);//toggleGradient will be used to flip curve, not implemented yet
}
}

这应该创建不同大小的重复抛物线。数据在视觉上是可传输的,因为我有一个使用 HTML5 Canvas 来描边()坐标值的函数。它目前的行为方式完全没有意义。

最佳答案

a^b 是按位异或;不是 Javascript 中的求幂。您正在寻找 Math.pow(a,b)

关于javascript - 如何正确生成抛物线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55580971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com