1
私はこのコードを微調整していて、ここ数週間正常に実行されたので、ここでコードミスをしているに違いありません。今私はエラーが表示されますが表示されます。なぜ私はそれほど確かではありません。p5.jsで 'transpose3x3'が不明ですか?
sphere(20);
エラーがこのように表示されます:
Uncaught TypeError: Cannot read property 'transpose3x3' of null
at p5.Matrix.inverseTranspose (p5.js:31017)
at p5.RendererGL._setMatrixUniforms (p5.js:31953)
at p5.RendererGL.drawBuffers (p5.js:31676)
at p5.sphere (p5.js:32444)
at pointsSphereFibonacci (spheres_4.js:124)
at draw (spheres_4.js:82)
at p5.redraw (p5.js:14256)
at p5.<anonymous> (p5.js:9143)
at p5.<anonymous> (p5.js:9049)
at new p5 (p5.js:9320)
は、あなたが任意のアイデアを持っているなら、私を知ってみましょう私は、この行(124)コメントするときにエラーが消えます!ありがとうございました!
function setup() {
createCanvas(windowWidth, windowHeight, WEBGL);
translate(width/2, height/2, -1000);
}
var r = 800;
var n = 1024;
var lon = [];
var lat = [];
var i = 0;
function draw() {
background(247, 147, 135);
ambientLight(240, 240, 240);
push();
rotateY(-radians(frameCount * .1));
rotateX(radians(90 + frameCount * .08));
rotateZ(radians(180 + frameCount * .03));
pointSphereFibonacci(r, n); // draw sphere equally spaced points
pop();
}
function pointSphereFibonacci(radius, points) {
var phi = (sqrt(5) + 1)/2 - 1; // golden ratio
var ga = phi * 2 * PI; // golden angle
for (var i = 0; i < points; i++) {
lon[i] = ga * i;
lon[i] /= 2 * PI;
lon[i] -= floor(lon[i]);
lon[i] *= 2 * PI;
if (lon[i] > PI) {
lon[i] -= 2 * PI;
}
}
var lat = asin(-1 + 2 * i/points);
for (var i = 0; i < points; i++) {
push();
rotateY(lon[i]);
rotateZ(-lat[i]);
translate(radius, 0, 0);
ambientMaterial(5, 0, 223);
sphere(20);
pop();
}
}
<script src="https://p5js.org/assets/js/p5.min.js"></script>
目に見える結果を与えるされることを変更すると、[MCVE]ではなく、プロジェクト全体のを投稿してください。問題がその1行に限定されている場合は、マイクロフォンやサウンド解析コードのような余分なものがすべて含まれていないサンプルプログラムを投稿してください。ハードコーディングされた値を代わりに使用するだけで、マシン上で実行することができます。 –