[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00239] 形状のピッキング
はじめまして。
岩倉と申します。
形状のピッキングについて質問させていただきます。
public class MyCanvas3D extends Canvas3D
としたなかで、
SimpleUniverse->BranchGroup(root)+->BranchGroup1->TransformGroup(Sphere)
|
+->BranchGroup2->TransformGrpup(Point)
|
+->PickMouseBehavior
として、三次元空間上の中心に球と点を表示しています。
太陽系の太陽と惑星のような感じです。
#SphereとPointがBranchGroupでつなげているのは、形状を
#表示したりしなかったりするため。
視点を変更すると、球の裏に点が移動する感じになりますが、
ピッキングを可とすると、前面に見える球の裏側にある点が
選択される場合があります。
見かけ上見えなくても、そのピッキング位置に平面上、近い位置に
ある場合はピッキング対象となるようです。
球の陰に配置された点をピッキング対象から外す方法というのは
あるのでしょうか。
ピッキングの対象範囲を絞るにしても、3次元空間的には、
始点位置から球の反対側に点があっても、見かけ上その点が
その視点位置から見える場合は、ピッキング対象としたいため、
ちょっと難しいです。
何かいい方法がありますでしょうか。
java2sdk:1.4.2_06
java3sdk:1.3
--
岩倉 隆裕 <iwakura.takahiro@xxxxxxxxx>