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

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

如何找到垂直于線中點(diǎn)的點(diǎn)的 3D 坐標(biāo)

如何找到垂直于線中點(diǎn)的點(diǎn)的 3D 坐標(biāo)

qq_遁去的一_1 2023-09-28 09:53:50
(我使用的是 Javascript/Typescript 和 Three.js)我在兩個(gè)向量之間有一條直線{x:1, y:3, z:5},例如和{x:7, y:8, z:10}。在那條線的中點(diǎn)上,想象一個(gè)與該線垂直的圓盤(pán)(假設(shè)半徑為 1)。我怎樣才能得到那個(gè)假想圓盤(pán)的周界上的點(diǎn)?我知道有無(wú)限個(gè)點(diǎn),但我只是想計(jì)算圓盤(pán)圓周上與線中點(diǎn)垂直的 1 個(gè)(任意)點(diǎn)。
查看完整描述

1 回答

?
慕桂英546537

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

有很多方法可以做到這一點(diǎn)。一種不需要太多數(shù)學(xué)知識(shí)并讓 Three.js 處理繁重工作的簡(jiǎn)單方法是使用嵌套在另一個(gè)對(duì)象中的Object3D:子對(duì)象是“環(huán)”,父對(duì)象將環(huán)移動(dòng)到中點(diǎn)并“看起來(lái)”沿著線向下,使其垂直。

// Create end vectors

var v1 = new THREE.Vector3(1, 3, 5);

var v2 = new THREE.Vector3(7, 8, 10);


// Get midpoint

var mid = new THREE.Vector3();

mid.addVectors(v1, v2);

mid.multiplyScalar(0.5);


// Nest child object inside parent

var parent = new THREE.Object3D();

var child = new THREE.Object3D();

parent.add(child);


// Set child position to any point in the XY plane with radius = 1

// This is a point in your "disc"

child.position.set(0, 1, 0);


// Move parent to midpoint

parent.position.copy(mid);


// Rotate parent to look towards end of the line

// This makes the "disc" perpendicular to the line

parent.lookAt(v1);


// Get world position of child?

var discPoint = new THREE.Vector3();

child.getWorldPosition(discPoint);

console.log(discPoint);

的本地位置child仍然是[0, 1, 0],但是在平移和旋轉(zhuǎn)父級(jí)之后的世界位置就是您正在尋找的答案?;蛘?,您可以簡(jiǎn)單地使用Object3D.localToWorld,但我認(rèn)為這個(gè)父/子示例可以更清楚地說(shuō)明該過(guò)程。



查看完整回答
反對(duì) 回復(fù) 2023-09-28
  • 1 回答
  • 0 關(guān)注
  • 119 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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