[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01672] Re: BoundingBox について
〜 12月1日新しいビジネスが始まる!ビジネスも楽天、楽天ビジネス誕生 〜
●●●●●●●●●●●●●●●●●●●●●●●●●●●
● サービスリリース第一弾!ビジネスサービス商談市場 ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●
〜〜〜〜〜 今すぐアクセス! http://business.rakuten.co.jp 〜〜〜〜〜
----------------------------------------------------------------------
八嶋です。回答ありがとうございます。
> ローカル座標中心ではなく
> 物体のBoundingBoxの中点を得たいのですね?
そうです。
> Node#getBounds()でBounds型のオブジェクトが返りますが、
> デフォルトではBoundingBox型のインスタンスではないかと推測します。
> instanceof演算子で調べてみてください。
BoundingBoxでした。
> もしBoundingBox型のインスタンスならBoundingBox型にキャストして
> getUpper(), getLower()メソッドで (Xmax, Ymax, Zmax), (Xmin, Ymin Zmin)
> の2点が得られます。
プログラムに以下のように書きました。
BoundingBox objBounds = (BoundingBox)objs.getBounds();
Point3d upperVertex = objBounds.getLower();
Point3d lowerVertex = objBounds.getUpper();
BoundingBox型にキャストするというのは、1行目のように書くということですか?
1行目はエラーは出ませんでした。
2、3行目に関しては
" getUpper() に適合するメソッドが
class javax.media.j3d.BoundingBox にはありません。"
というエラーが出ました。getLowerの使い方がまちがっているから
ということは分かっています。getLower(Point3d p1)のp1には
座標をいれるんでしょうか?どこの座標をいれるのですか?
本当はインスタンスを引数としてとるか、あるいはメソッドとして
getLowerがはたらいて、x、y、z座標を返してくれることを
期待しているのですが。
> > それに関連してなのですが、オブジェクトから
> > それを構成しているポリゴンの頂点座標を得るには
> > どうすればよいでしょうか。
> > GeometryArray#getCoordRef3d()を使えば良いんじゃないかと
> > 考えたのですが、実際の書き方が解りません。
> >
> > Shape3D objs =(Shape3D)namedobjs.get(objskeyArray[i]);
> > Geometry geom = objs.getGeometry();
> > objsCoordArray[j] = geom.getCoordRef3f();
> >
> > と記述したのですが、geomのクラスと getCoordRef3d
> > で使えるクラスが違うので、エラーが出ます。
>
> 通常は GeometryArray#getCoordinates() で得られます。
上と同様な質問なのですが、たしかにgetCoordinates()
で得られるんじゃないかと考えました。でも、使い方として
getCoordinate(int index, Point3d coordinate) となるとき、
indexとcoordinateには何をいれれば良いのか分かりませんでした。
また、やはりx、y、z座標を返してくれることを
期待しています。APIを見た限りでは、voidなので
何かのデータを返してくれるようには思えませんでした。
もしかしてすごくばかな勘違いをしているのかも知れませんが…。
> BY_REFERENCEの場合は
>
> Point3d[] vertices = geom.getCoordRef3d();
>
> こんな感じでいかがでしょうか。
BY_REFERENCEはGeometryArrayのインスタンスの
位置などの座標を特定するためのものとありますが、
具体的には何をしてくれるんでしょうか。
記述としては
geom.setCapability(GeometryArray.BY_REFERENCE)
とすると、GeometryからGeometryArrayクラスの
メソッドで座標をとれるようになりますか?
よろしくお願いします。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
八嶋 栄美子
東京工業大学 情報理工学研究科
計算工学専攻 中嶋研 修士1年
Email:yassie@xxxxxxxxxxxxxxxxxxx
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-