Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 15th, 2012  |  syntax: None  |  size: 0.57 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /*
  2. add_transform(xup,yup,zup,xto,yto,zto)
  3. Rotates the model towards two perpendicular unit vectors.
  4. */
  5. var xx,attitude,bank,heading;
  6. xx=argument1*argument5-argument2*argument4
  7. attitude=arcsin(xx)
  8. if abs(xx)>0.9999
  9. {
  10.     heading=arctan2(argument5,argument2)
  11.     bank=0
  12. }
  13. else
  14. {
  15.     heading = arctan2(-argument0,argument3)
  16.     bank = arctan2(argument1*argument3-argument0*argument4,argument2*argument3-argument0*argument5)
  17. }
  18. d3d_transform_add_rotation_y(radtodeg(heading))
  19. d3d_transform_add_rotation_z(radtodeg(attitude))
  20. d3d_transform_add_rotation_x(radtodeg(bank))