这实际上是我在 stackoverflow 上的第一个问题:)
首先,我想说我是编码新手,我想了解一些语法。基本上,我正在遵循 codetrain 的教程 - 创建面向对象的分形树,我想根据下面的代码,如何使其更加“3D”。我想到的一种方法是旋转向量。我一直在寻找在 3D 空间中旋转以下向量的潜在解决方案。Codetrain 使用的示例是创建一个方向向量:direction = p5.Vector.Sub(this.begin, this.end)。然后他使用代码 Direction.rotate(45)。我意识到你不能写direction.rotateY(45)。我从 p5.js 语法中看到 .rotate() 只能用于 2D 向量。因此,是否有一种我以某种方式忽略的语法,可以根据以下代码在 3D 空间中旋转向量?
这是草图的代码。Branch 类控制树的构造,而branchA和branchB函数是可以添加一些旋转的地方。
var tree = [];
var leaves = [];
var count = 0;
function setup() {
createCanvas(windowWidth, windowHeight, WEBGL);
angleMode(DEGREES)
var randomangle = random(0, 90)
var randomMinusAngle = random(0, -90)
var a = createVector(0, 0, 0);
var b = createVector(0, -100, 0);
var root = new Branch(a, b);
tree[0] = root;
} …Run Code Online (Sandbox Code Playgroud)