|
Author
|
Topic: Shadows and OPS
|
JT Pilot
|
posted 03-17- 12:12 AM
So, I have my plane shadows lined up apparently in OPS, but when I check them out in SDOE, each shadow part is off by about a foot in various directions. Any idea what's going on here?IP: Logged |
Laika 801 Pilot
|
posted 03-17- 03:55 AM
Same problem here. As I know the shadows position is not defined in OPS directly. You need to change the matrix information given with each shadow object:(obShadow ( 'p51BodyShad 1.00000 0.00000 0.00000 0.0 0.00000 1.00000 0.00000 0.0 0.00000 0.00000 1.00000 0.0 -0.04572 0.94886 -7.04072... The OPS bible says this: "If the prop-list format with the 16-numbers is used, the the numbers represent a relative 4x4 matrix in my local coord. system to the nominal location of my shadow." I dont understand 4x4 matrixes (I´m glad to know that 1+1=3) so maybe a math expert can bring some light to this?
IP: Logged |
Whirlwind Pilot
|
posted 03-17- 07:22 AM
I did horrible in calc, but a 4x4 matrix is really just a 3x3 padded out. In 3D there are 3 values representing a point in space, and in order to do rotational transforms on a point in space, you need at least a 3x3 matrix (a 3x1 times a 3x3 = 3x3). The math craniacs have deduced that in order to rotate something, you need 3 formuals to do rotaionals in 3 space. The math craniacs also learned that if you pad the 3x3 matrix to a 4x4 matrix (for rotations, the new row and new columns are padded with zero's with the 4th row, 4th column being a 1, to prevent the thing from being zero - matrix math) you can use the 4th row as a place to put a translation at. In addition to that, the 3x1 matrix representing a point in space was padded out to a 4x1 matrix [x,y,z,1] with a 1, to keep from killing the translation padding. You can also scale an object by multiplying a number less than or greater than 1 on the left upper to right lower diaginal of the matrix. Just remember not to do anything to the 1 in the 4,4 spot.Confused yet? If the example quoted above is word for word from an actual SDOE plane, then SDOE appears that the 4th column will always be [0,0,0,1], which it should be until a craniac comes along and changed it . You would enter the rows of your 4x4 matrix as a 4x3(3 columns by 4 rows), with the 4th colomn assumed to be [0,0,0,1]. Basically, the last set of 3 elements is the x,y,z position based on the parent object's center. [This message has been edited by Whirlwind (edited 03-17-2000).] IP: Logged |
Sv Pilot
|
posted 03-17- 08:29 AM
So.... basicaly we need Bryan to add a shadow positioning tool to OPS, right?  My WWI planes only have one shadow... I actually move the origin of the shadow LOD to move the shadow around. This will work, but is trial and error  ------------------ -Sv =FC= WWI in SDOE!
IP: Logged |
Kraftwerk Pilot
|
posted 03-17- 08:31 AM
Yeah, that's to some extent correct except when of a function or matrix F Dif F = delta f by the Divergence Theorem. Given that the matrix is has a diagonal oneness, this means that the gradient delta f is the one you're after. Not the actual matrix you see. See? Or you can go by Stokes and calculate the Curl out of the given surface (matrix) along edge C and see if it adds up to Fdxdy.IP: Logged |
Alexander Pilot
|
posted 03-17- 11:14 AM
HerrejössesjävlarIP: Logged |
Laika 801 Pilot
|
posted 03-17- 02:26 PM
? Huh ?I dont understand anything ! But if this is true : "Basically, the last set of 3 elements is the x,y,z position based on the parent object's center" then it should be no big problem to get the right position ? We should create a new forum called "Mathematics for SDOE/OPS"  "Herrejössesjävlar" - LOL LK IP: Logged |
Bryan Russell Pilot
|
posted 03-17- 06:59 PM
Simply put, the last three values = x , y and Z movement respectivly, thats left/right, forward/back abd up/down using SDOE's co-ordinate system. Ignore the rest unless you need to scale or rotate the shadow which probably isn't required.The Shadows in OPS you can see are in whats called the closet, and don't actually use the positioning defined by the matrix defined in OPS. IP: Logged | |