在布料模拟示例代码中,有一种叫做ParametricBufferGeometry的东西,它需要3个参数这个函数的实际含义是什么?
clothGeometry = new THREE.ParametricBufferGeometry(clothFunction, cloth.w, cloth.h);
在文档中,我找不到任何合适的文档,上面写着
ParametricBufferGeometry(func:Function,slices:Integer,stacks:Integer(func——一个函数,它分别取0和1之间的u和v值,并修改第三个Vector3参数slice——用于参数函数stacks的切片计数——用于参数功能的堆栈计数
有人能解释一下它到底是什么吗。。
有人能解释一下到底是什么吗
文档指出,func
是一个参数函数,它获得[0,1]
范围内的两个值(u
、v
(作为输入,并将结果输出到目标向量中。
其想法是,通过调用参数逐渐变化的函数,可以生成整个几何曲面。调用函数的频率越高,采样率就越高,因此几何图形就越详细。CCD_ 5负责根据CCD_ 6和CCD_。
如果你想了解更多关于这个主题的信息,我建议你在谷歌上搜索术语parametric surfaces
。相关文献相当广泛。
您测试的是一个Observable笔记本地址我也在研究它。经过一些测试,我在本地开发环境中解决了它,如下所示("three": "^0.142.0",
(:
async function _THREE(require) {
// window variable called by modules in three/examples/js/
const THREE = window.THREE = await
require("three@0.121.1/build/three.min.js");
await require('three/examples/js/controls/OrbitControls.js')
await require("three/examples/js/geometries/ParametricGeometry.js")
return THREE;
}
// cloth geometry
clothGeometry = new THREE.ParametricGeometry(
clothFunction,
cloth.w,
cloth.h
);