第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

在 p5js 中使用速度和位置向量進(jìn)行 3D 定向粒子

在 p5js 中使用速度和位置向量進(jìn)行 3D 定向粒子

米脂 2023-11-12 22:12:49
我目前正在 P5.js 中編寫 boids 算法的 3D 實(shí)現(xiàn),但我無法根據(jù) boids 的方向(速度)來確定 boids 的方向。旋轉(zhuǎn)僅限于 RotateX()、RotateY() 和 RotateZ()。我認(rèn)為應(yīng)該有效的最簡單的解決方案是這樣的:push();translate(this.pos);?rotateZ(createVector(this.vel.x, this.vel.y).heading());rotateY(createVector(this.vel.x, this.vel.z).heading());beginShape();// Draw Boid Vertices..endShape();pop();但事實(shí)并非如此。我編寫了一個(gè)小得多的程序版本,其中僅包含隨機(jī)生成的沿單一方向運(yùn)動的粒子的方向。非常感謝,我已經(jīng)被這個(gè)問題困擾了半天了
查看完整描述

1 回答

?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊

從您的演示中,z 分量被翻轉(zhuǎn),您可以一次僅嘗試一次旋轉(zhuǎn)來測試這一點(diǎn)。其次,以這種方式鏈接 3D 旋轉(zhuǎn)通常不會達(dá)到您想要的效果,因?yàn)樾D(zhuǎn)會更改附加到某個(gè)對象的坐標(biāo)系的“向上”或“向右”向量。例如,繞向上(p5 為 -y)矢量或偏航角旋轉(zhuǎn)將旋轉(zhuǎn)右側(cè)矢量。然后,第二次旋轉(zhuǎn)需要圍繞旋轉(zhuǎn)的右向量(現(xiàn)在是俯仰),因此您不能只使用rotateX/Y/Z,因?yàn)樗鼈內(nèi)匀辉谑澜缈臻g而不是對象空間中。請注意,在此解決方案中我完全忽略了滾動,但如果您從正面和頂部角度觀察實(shí)體,它應(yīng)該與速度對齊


var right = p5.Vector(this.vel.x, 0, this.vel.z);

rotate(atan(this.vel.y/ this.vel.x), right);

rotateY(atan2(-this.vel.z, this.vel.x));


查看完整回答
反對 回復(fù) 2023-11-12
  • 1 回答
  • 0 關(guān)注
  • 218 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號