[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:00218] Re: 線の描画について



-------------------------------------------------------------------
○今年のバレンタインはアンナミラーズの焼きたてパイで○○○○○○○
  アンナミラーズインターネットショッピングでは、新発売のチョコレート
 チーズケーキパイを特別価格、4,000円(送料・消費税込み)でご提供中。
 ご注文は2月10日までです。 下記URLへ今すぐアクセス!
 =======> http://shopping.biglobe.ne.jp/kaze/AnnaMillers/ 
-------------------------------------------------------------------

>これはRetained Modeだから、ということなのでしょうか?

はい。多分。 immidiate mode なら描画のタイミングをある程度制御できそうです。
(でもかなり面倒だと思います)

>前に今野さんから教えていただいた、マウスでのオブジェクトのピッキングでは
>やっているということなんですよね。

ピッキングを実現するには、ポイントされたマウス座標を使って Ray というものを生成するのですが、
このときスクリーン座標からバーチャル空間での座標に変換する必要が生じます。
下記の 2.b. がこれにあたります。
com.sun.j3d.utils.behavior.picking.PickObject では Canvas3D の前述のメソッドで実現しているようです。

"Java 3D API Specification" "CHAPTER10 Input Devices and Picking" "10.3 Picking"

1. The application constructs a Behavior node that arms itself to awaken when AWT detects a
   left-mouse-button-down event. 

2. Upon awakening from a left-mouse-button-down event, the behavior 

  a. Updates a Switch node to draw a ray that emanates from the center of the screen. 

  b. Changes that ray's TransformGroup node so that the ray points in the direction of the current
     mouse position. 

  c. Declares its interest in mouse-move or left-mouse-button-up events. 

3. Upon awakening from a mouse-move event, the behavior 

  a. Changes that ray's TransformGroup node so that the ray points in the direction of the current
     mouse position. 

  b. Declares its interest in mouse-move or left-mouse-button-up events. 

4. Upon awakening from a left-mouse-button-up event, the behavior 

          
  a. Changes that ray's TransformGroup node so that the ray points in the direction of the current
      mouse position. 

  b. Intersects the ray with all the objects in the virtual universe to find the first object that the ray
     intersects. 

     c. Changes the appearance component of that object's shape node to highlight the selected object. 

     d. Declares its interest in left-mouse-button-down events. 
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル      FAX 03-5362-9008