gpt4 book ai didi

javascript - 三个JS : Create Triangle Strip

转载 作者:行者123 更新时间:2023-11-30 20:39:53 24 4
gpt4 key购买 nike

我知道这个问题已被多次询问,但我似乎找不到适合我的正确答案。
这是我所在的位置:https://codepen.io/normanwink/pen/VXpbLj

我正在根据窗口大小创建一个网格并将其存储在一个数组中。然后我遍历该数组并尝试创建一些三 Angular 形网格。

const gridSize = 50;

// some other code...

var gridX = Math.ceil(windowX / gridSize);
var gridY = Math.ceil(windowY / gridSize);

// render grid
for (var y = 0; y < gridY; y++) {
var currentY = y * gridSize;
grid[y] = [];

for (var x = 0; x < gridX; x++) {
var currentX = x * gridSize;
grid[y].push(new THREE.Vector3(currentX, currentY, Math.random() * 100));
}
}

// create triangle strip
for (var y = 0; y+1 < grid.length; y++) {
var current = grid[y];

for (var x = 0; x+1 < current.length; x++) {
var arrayPosition = x + y;

// triangle
var v1 = grid[y][x];
var v2 = grid[y+1][x];
var v3 = grid[y][x+1];

geom.vertices.push(v1);
geom.vertices.push(v2);
geom.vertices.push(v3);

geom.faces.push( new THREE.Face3( arrayPosition, arrayPosition + 1, arrayPosition +2 ) );

}
}

var obj = new THREE.Mesh( geom, material );
scene.add(obj);

这段代码应该创建网格。但出于某种原因我想不通,它只是通过第一个 Y 坐标运行而忽略了后面的网格点。

我认为问题出在 create triangle strip 循环中的某处,但我找不到它。有人可以帮忙吗?

谢谢!

最佳答案

我认为你的 var arrayPosition = x + y;是错误的。

我想你想要像 ((y*current.length)+x)*3 这样的东西

关于javascript - 三个JS : Create Triangle Strip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49395301/

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