sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Converting Transformation Types

    Scheduled Pinned Locked Moved Developers' Forum
    1 Posts 1 Posters 515 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • TIGT Offline
      TIG Moderator
      last edited by

      The SKP transformation is a 16 element 'RotZ' type - although the 4 entries in the right hand column of the matrix are 'unused' - indexes (#3,#7,#11,#16) =0,0,0,1.
      How to convert it to another common type - 'RotY' [12 element] - which is used by some file formats, instancing-render-engines etc [that 'swap' the YZ axes, and thereby some axes' directions and all of the rotation/scale values too] ???
      I think this is the correct way...
      Any comments are welcome

      tz = object.transformation.to_a
      ty = [tr[0],tr[8],-(tr[4]),tr[12].to_m, tr[2],tr[10],-(tr[6]),tr[14].to_m, -(tr[1]),-(tr[9]),tr[5],-(tr[13].to_m)]
      

      😕
      Note this assumes the units are 'meters' for the three XYZ values - you simply change that from ' .to_m' to suit your needs...
      The 'unused' indexes (#3,#7,#11,#16) =0,0,0,1 could be appended onto 'ty', as the last 4 additional elements of that array, if a 16 element matrix is needed instead of the 12 one that's shown.

      Thanks go to Smicha: we have been working together trying to resolve this transformation matrix transformation on another forum regarding instance-rendering [12 element array needed]. The final solution is down to to his herculean efforts and endurance !
      EDIT:
      Adjusted code after Smicha's further testing...

      TIG

      1 Reply Last reply Reply Quote 0
      • 1 / 1
      • First post
        Last post
      Buy SketchPlus
      Buy SUbD
      Buy WrapR
      Buy eBook
      Buy Modelur
      Buy Vertex Tools
      Buy SketchCuisine
      Buy FormFonts

      Advertisement