Hi Maung Min, Regarding to your question on using 2D coordinates and not 3D coordinates: When you want to perform a "pick" what you do is click one point of your canvas, raising one awt event where you only can get the coordinates of that point in the awt component coordinates (aka, x and y). To get a 3D point from that 2D point you must trace a "pick ray" (well, there are different picking primitives depending on the "tolerance" you want your picking to have -i.e. use a ray or a cone-), . The easiest way to do this is use the PickCanvas utility. I'll send you some example code to your mailbox (if anyone is interested only has to ask for it).
I don't think you'll have much trouble in do what you want, but you have to notice that you'll have overlaping geometries (i. e. 2 bones, one over the other) and you have to take decissions on what you'll do in that case (display all the bones "picked", display the upper bone, ...). Hope this help, Javi. Maung Min wrote: > > Hi Cheng, > Thanks a lot for your code which you gave to me. Since I am a newbie in > Java3D, I was studying java3d before I read the code. Today, I was reading > your code and look around your web site. I am really impressed of what you > did and your experiences. I am a half Chinese half Burmese live in Boston, > MA, U.S. I studied Physics and Computer Science in Western Illinois > University and living as a programmer for a few years. But, for Java3D, I > have never done this before and I am still learning in this area. > Right now, I am trying to develop a anatomical 3D application which will > have several 3D images(basically those images are human bone 3D images). > When user click on one of those bones, I want to print out the name of the > bone. But, I want to print out only when user mouse pointer is exectly on > top of particular bone(example, geometry picking). When I look at your code > example, what I under stand is.., in processStimulus (Enumeration criteria), > when you get MouseEvent.MOUSE_MOVED event you trace where is the mouse > pointer is pointing to. But, you only use x and y axies. Not x, y, z. So, > how did you trace on 3D objects?? For my application, I want to know which > bone user is pointing to. So, I can print out the right bone name. I still > do not understand your code and can you explain me a brief please? If I want > to trace on 3D object which has x, y, z values then what should I do? Can > you give me some idea how should I solve my problem please? I know you are > busy and don't have time to explain everybody. But, any help, hints or idea > will help a lot to me. > > Thanks a lot and have a nice day. > > Maung. > > -----Original Message----- > From: Discussion list for Java 3D API > [mailto:[EMAIL PROTECTED]]On Behalf Of Cheng Chang Dong > Sent: Sunday, January 27, 2002 7:44 PM > To: [EMAIL PROTECTED] > Subject: Re: [JAVA3D] need help on Geometry picking > > I have developed the picking behavior, and attach it for your reference. > > Cheng Chang Dong > > http://vlab.ee.nus.edu.sg/~ccd > > ----- Original Message ----- > From: "Javier Ruiz Gonz�lez" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Monday, January 28, 2002 12:26 AM > Subject: Re: [JAVA3D] need help on Geometry picking > > > You can use Geometry picking without any problem (it's what I use on my > > application). > > Using PickCanvas, you only need to set the eye position and retrieve the > > geometry from the PickResult. If you are interested I can send you a > > test program I did a while ago (it uses objload). > > > > Regards, > > Javier Ruiz. > > > > Maung Min escribi=F3: > > > = > > > > > Hello, > > > Can I use Geometry picking on the 3d object(Scene object which loaded b= > > y > > > com.sun.j3d.loaders.Scene)?? Java 3D demo only show how to use geometry= > > > > > picking on Shape3D object which is created by javax.media.j3d.Shape3D c= > > lass. > > > It is possible to use geometry picking on the 3d object which loaded by= > > > > > com.sun.j3d.loaders?? > > > Any suggestions, comments will be really appreciated. > > > = > > > > > Maung. > > > = > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > =3D > > > To unsubscribe, send email to [EMAIL PROTECTED] and include in the = > > body > > > of the message "signoff JAVA3D-INTEREST". For general help, send email= > > to > > > [EMAIL PROTECTED] and include in the body of the message "help". > > > > > =========================================================================== > > To unsubscribe, send email to [EMAIL PROTECTED] and include in the > body > > of the message "signoff JAVA3D-INTEREST". For general help, send email to > > [EMAIL PROTECTED] and include in the body of the message "help". > > =========================================================================== > To unsubscribe, send email to [EMAIL PROTECTED] and include in the body > of the message "signoff JAVA3D-INTEREST". For general help, send email to > [EMAIL PROTECTED] and include in the body of the message "help". ==========================================================================To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
