gpt4 book ai didi

javascript - 为什么我在Three.js中用arc()画不出一个完整的圆?

转载 作者:行者123 更新时间:2023-11-29 17:01:09 25 4
gpt4 key购买 nike

我正在尝试使用拉伸(stretch)弧在 Three.js 中绘制一个复杂的形状,但它们似乎表现不正常。我不知道我是否不了解 API,但这不应该创建一个以原点为中心的半径 100 的完整挤压圆吗?

var path = new THREE.Path();

path.moveTo(0, 0);
path.arc(0, 0, 100, 0, Math.PI * 2, false);

var shape = path.toShapes(false, false);

var extrudeSettings = {
amount : 20,
steps : 1
};

var geometry = new THREE.ExtrudeGeometry(shape, extrudeSettings);

var mesh = new THREE.Mesh(geometry, material);

相反,它绘制了一个 Pacman 形状:

http://i.gyazo.com/0c3c1beb427ff2627b7b3d273a093ac4.png

这是 JSFiddle:

http://jsfiddle.net/c8shqzpn/

最佳答案

您想创建一个圆形,以便可以拉伸(stretch)它。

无论何时绘制弧线,它都会将弧线的起点连接到当前点,因此在您的情况下,您必须使用 moveTo() 命令将起点设置在圆周上圆的。

var shape = new THREE.Shape();

shape.moveTo( circleRadius, 0 );
shape.absarc( 0, 0, circleRadius, 0, 2 * Math.PI, false );

three.js r.70

关于javascript - 为什么我在Three.js中用arc()画不出一个完整的圆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28008608/

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