Oct 18 2006 | 10:09 am

Hi,

I'm building this interface that looks similar to what "perspective view"

would be in a 3d modelling application. Its basically a horizontal grid

plane with a collection of shapes/models sitting on top. Now I'd like

implement the same mouse interfacing as a regular 3d app, were you can click

and drag on the screen to move the camera viewpoint in relation to the

complete scene.

I started by putting a jit.gl.handle in the middle, but that's as far as I

got. It outputs axis/rotation. How can I convert that to the xyz position of

the camera? Or is this not the way to go?

cheers,

-thijs

- Oct 18 2006 | 11:10 ami think vade posted a patch like this, search around2006/10/18, Thijs Koerselman :>> Hi,>> I'm building this interface that looks similar to what "perspective view"> would be in a 3d modelling application. Its basically a horizontal grid> plane with a collection of shapes/models sitting on top. Now I'd like> implement the same mouse interfacing as a regular 3d app, were you can click> and drag on the screen to move the camera viewpoint in relation to the> complete scene.>> I started by putting a jit.gl.handle in the middle, but that's as far as I> got. It outputs axis/rotation. How can I convert that to the xyz position of> the camera? Or is this not the way to go?>> cheers,>> -thijs>>>>
- Oct 18 2006 | 11:21 amIf you want to know where an object is given axis/rotation andposition which handle outputs, take a look at the opengl docs aboutthe structure of the modelview matrix. It has the basic form:[R R R T][R R R T][R R R T][0 0 0 1]where R is rotation and T is translation. the 3x3 rotation matrix canbe calculateed from the axis/angle representation. Note also thatalong the diagonal of the 3x3 R matrix are the glScale parameters, butyou probably don't need to worry about this. To find a point giventhis matrix, do M*p = p' where M is the matrix above, p is your pointand p' is your new point. Anyway, you might not need to go here, justthought I'd mention it since you asked.wesOn 10/18/06, Thijs Koerselman wrote:> Hi,>> I'm building this interface that looks similar to what "perspective view"> would be in a 3d modelling application. Its basically a horizontal grid> plane with a collection of shapes/models sitting on top. Now I'd like> implement the same mouse interfacing as a regular 3d app, were you can click> and drag on the screen to move the camera viewpoint in relation to the> complete scene.>> I started by putting a jit.gl.handle in the middle, but that's as far as I> got. It outputs axis/rotation. How can I convert that to the xyz position of> the camera? Or is this not the way to go?>> cheers,>> -thijs>>>>
- Oct 18 2006 | 1:37 pmOn 10/18/06, yair reshef wrote:>> i think vade posted a patch like this, search around>>I found the patch, but it's not what I'm looking for. Vade's patch has 4fixed camera settings and some breakpoint functions to move the cameraaround. I'm looking for one viewport with a mouse interface similar to usingan objects with a gl.handle. Only I want to move around the camera insteadof one object.-thijs
- Oct 18 2006 | 1:44 pmThanks Wes, but this is exactly where my math knowledge is lacking. I'll tryto read through the docs and see if I can figure it out, but for now I haveno clue. It would be great though if I could finally understand these matrixcalculations, cause I seem to keep running into them.-thijsOn 10/18/06, Wesley Smith wrote:>> If you want to know where an object is given axis/rotation and> position which handle outputs, take a look at the opengl docs about> the structure of the modelview matrix. It has the basic form:>> [R R R T]> [R R R T]> [R R R T]> [0 0 0 1]>> where R is rotation and T is translation. the 3x3 rotation matrix can> be calculateed from the axis/angle representation. Note also that> along the diagonal of the 3x3 R matrix are the glScale parameters, but> you probably don't need to worry about this. To find a point given> this matrix, do M*p = p' where M is the matrix above, p is your point> and p' is your new point. Anyway, you might not need to go here, just> thought I'd mention it since you asked.>>>
- Oct 18 2006 | 3:59 pmWell, check out http://en.wikipedia.org/wiki/Rotation_matrix Under theheading Three Dimensions is the equation M(v, theta) that shows theequation for converting from axis/angle to a 3x3 rot matrix.wesOn 10/18/06, Thijs Koerselman wrote:> Thanks Wes, but this is exactly where my math knowledge is lacking. I'll try> to read through the docs and see if I can figure it out, but for now I have> no clue. It would be great though if I could finally understand these matrix> calculations, cause I seem to keep running into them.>> -thijs>>>>> On 10/18/06, Wesley Smith wrote:> > If you want to know where an object is given axis/rotation and> > position which handle outputs, take a look at the opengl docs about> > the structure of the modelview matrix. It has the basic form:> >> > [R R R T]> > [R R R T]> > [R R R T]> > [0 0 0 1]> >> > where R is rotation and T is translation. the 3x3 rotation matrix can> > be calculateed from the axis/angle representation. Note also that> > along the diagonal of the 3x3 R matrix are the glScale parameters, but> > you probably don't need to worry about this. To find a point given> > this matrix, do M*p = p' where M is the matrix above, p is your point> > and p' is your new point. Anyway, you might not need to go here, just> > thought I'd mention it since you asked.> >> >> >>>>>>
- Oct 18 2006 | 4:18 pmyeah that other patch is a keyframe animator that moves the camera,however, here is a patch I use to rotate/move the objects in mypatch, based off of a second jit.gl.handle/render system, so you evenhave a preview of where things are.I removed some other crap I had in the patch, but you can addposition/rotation controls as messages to jit.gl.handle in thesubpatcher, as well as name the pwindow/renderer #1_handle orsomesuch so it can be resusedIf you move the main camera system, make sure to use aninherit_transform 1, otherwise things get wonky.v a d e //www.vade.infoabstrakt.vade.infoOn Oct 18, 2006, at 9:37 AM, Thijs Koerselman wrote:>> On 10/18/06, yair reshef wrote:> i think vade posted a patch like this, search around>>> I found the patch, but it's not what I'm looking for. Vade's patch> has 4 fixed camera settings and some breakpoint functions to move> the camera around. I'm looking for one viewport with a mouse> interface similar to using an objects with a gl.handle. Only I want> to move around the camera instead of one object.>> -thijs>
- Oct 18 2006 | 4:20 pmhehe, I try to avoid that sort of math as much as possible and figureout some hacks to re-use the jitter objects that have this alreadycoded (see the patch I posted above).What might be helpful are these paches Pelado posted a while backvery nicely done.v a d e //www.vade.infoabstrakt.vade.infoOn Oct 18, 2006, at 11:59 AM, Wesley Smith wrote:> Well, check out http://en.wikipedia.org/wiki/Rotation_matrix Under the> heading Three Dimensions is the equation M(v, theta) that shows the> equation for converting from axis/angle to a 3x3 rot matrix.>> wes>> On 10/18/06, Thijs Koerselman wrote:>> Thanks Wes, but this is exactly where my math knowledge is>> lacking. I'll try>> to read through the docs and see if I can figure it out, but for>> now I have>> no clue. It would be great though if I could finally understand>> these matrix>> calculations, cause I seem to keep running into them.>>>> -thijs>>>>>>>>>> On 10/18/06, Wesley Smith wrote:>> > If you want to know where an object is given axis/rotation and>> > position which handle outputs, take a look at the opengl docs about>> > the structure of the modelview matrix. It has the basic form:>> >>> > [R R R T]>> > [R R R T]>> > [R R R T]>> > [0 0 0 1]>> >>> > where R is rotation and T is translation. the 3x3 rotation>> matrix can>> > be calculateed from the axis/angle representation. Note also that>> > along the diagonal of the 3x3 R matrix are the glScale>> parameters, but>> > you probably don't need to worry about this. To find a point given>> > this matrix, do M*p = p' where M is the matrix above, p is your>> point>> > and p' is your new point. Anyway, you might not need to go>> here, just>> > thought I'd mention it since you asked.>> >>> >>> >>>>>>>>>>>
- Oct 18 2006 | 6:08 pmOn 10/18/06, vade wrote:>> hehe, I try to avoid that sort of math as much as possible and figure out> some hacks to re-use the jitter objects that have this already coded (see> the patch I posted above).> What might be helpful are these paches Pelado posted a while back>> http://www.pelado.co.uk/?cat=4>> very nicely done.>I figured it out. I was a lot easier than I thought, but the patches were aneyeopener. For now I only need a handle to the render context with@inherit_transform 1. I'll look into matrix calculations later on. For nowI'm all set. Thanks a lot everyone.cheers,-thijs
- Oct 18 2006 | 7:45 pmIf you get stuck again, and you don't mind using a little Javascript,you could investigate the handy matrix functions in Jitter3Dutils.js.-RandyOn Oct 18, 2006, at 11:08 AM, Thijs Koerselman wrote:>> On 10/18/06, vade wrote:> hehe, I try to avoid that sort of math as much as possible and> figure out some hacks to re-use the jitter objects that have this> already coded (see the patch I posted above).>> What might be helpful are these paches Pelado posted a while back>> http://www.pelado.co.uk/?cat=4>> very nicely done.>>> I figured it out. I was a lot easier than I thought, but the> patches were an eyeopener. For now I only need a handle to the> render context with @inherit_transform 1. I'll look into matrix> calculations later on. For now I'm all set. Thanks a lot everyone.>> cheers,> -thijs>>>
- Oct 19 2006 | 10:20 amOn 10/18/06, Randy Jones wrote:>>>> If you get stuck again, and you don't mind using a little Javascript,> you could investigate the handy matrix functions in Jitter3Dutils.js.>> -RandyThanks for the tip. I do most of my jittering in js lately so thats only aplus :-)best, -thijs