我想確定一個點P(x,y,z)是否在由其中心C(cx,cy,cz),半徑R,和垂直於所述圓位於N.確定三維點是否在二維圓內
平面我知道的點P躺在3D空間中的2D圓被定義爲:
P = R * cos(t)的ü + ř罪(T)*(ñ X Ù)+ C
其中U是從圓心到圓上任意點的單位向量。但是,如果問題Q,我怎麼知道Q在圈內還是圈內?什麼是合適的參數t
可供選擇?我可以比較點Q,看看它們是否在圓圈內?
謝謝。
我想確定一個點P(x,y,z)是否在由其中心C(cx,cy,cz),半徑R,和垂直於所述圓位於N.確定三維點是否在二維圓內
平面我知道的點P躺在3D空間中的2D圓被定義爲:
P = R * cos(t)的ü + ř罪(T)*(ñ X Ù)+ C
其中U是從圓心到圓上任意點的單位向量。但是,如果問題Q,我怎麼知道Q在圈內還是圈內?什麼是合適的參數t
可供選擇?我可以比較點Q,看看它們是否在圓圈內?
謝謝。
項目P到包含該圓的平面上,稱爲P'。 P當且僅當| P - P'|在圓中= 0和| P' - C | < R.
如果我希望在我的支票中包含該點的邊界,是否檢查| P-C | <= R且| P-P'| = 0? – Myx 2010-04-07 16:13:58
http://en.wikipedia.org/wiki/3D_projection – HyperCas 2010-04-07 16:16:06
假設您所有的座標都是浮點數,這意味着您在處理「| P - P'| = 0」時應該小心。它幾乎不會出現到零,所以你可以做一些類似「| P - P'|
我應該這樣做打破它分成兩個部分:
找出如果點在同一平面上的圓(即看是否該向量的點積從去中心到點,法線爲零)
找出它是否在包含圓的球體內(即,看中心到點的距離是否小於半徑)。
小心澄清你的符號?這是什麼**噪音**?看起來它可能是矢量的大小,但它鼓勵其他人在你的問題被清楚地呈現時提供有用的答案。 – 2010-04-07 15:57:30
我試圖大膽他們,但他們不會大膽....? ** U **是一個大膽的向量,表示一個向量。 ** N **相同。編輯:我通過將它們從「代碼」部分中取出來加粗了字母 – Myx 2010-04-07 15:58:45
您嘗試查找有關3d鼠標拾取的信息嗎? – HyperCas 2010-04-07 16:00:26