• Login
sketchucation logo sketchucation
  • Login
๐Ÿค‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

Transformations

Scheduled Pinned Locked Moved Developers' Forum
23 Posts 10 Posters 15.1k Views
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.
  • J Offline
    Jim
    last edited by 6 Oct 2009, 19:40

    Is it correct that each of these forms creates the same Transformation?

    
    tr = Geom;;Transformation.new(Geom;;Point3d.new(1, 0, 0))
    p tr.to_a
    tr = Geom;;Transformation.new(Geom;;Vector3d.new(1, 0, 0))
    p tr.to_a
    tr = Geom;;Transformation.translation(Geom;;Point3d.new(1, 0, 0))
    p tr.to_a
    tr = Geom;;Transformation.translation(Geom;;Vector3d.new(1, 0, 0))
    p tr.to_a
    
    
    

    Hi

    1 Reply Last reply Reply Quote 0
    • T Offline
      TIG Moderator
      last edited by 6 Oct 2009, 21:10

      I would expect so...

      TIG

      1 Reply Last reply Reply Quote 0
      • C Offline
        Chris_at_Twilight
        last edited by 6 Oct 2009, 23:35

        According to the documentation, yes, they should all be identical. Though the 3rd form isn't in the docs...(I'm looking at the old ones, not the latest).

        http://www.TwilightRender.com

        1 Reply Last reply Reply Quote 0
        • J Offline
          Jim
          last edited by 7 Oct 2009, 02:03

          Well thanks guys - I wanted to start at the beginning.

          Hi

          1 Reply Last reply Reply Quote 0
          • M Offline
            MartinRinehart
            last edited by 7 Oct 2009, 17:31

            If one of you who has figured on transformations could write a little article for those of us who haven't, it would be a GOOD THING!

            Author, Edges to Rubies - The Complete SketchUp Tutorial at http://www.MartinRinehart.com/models/tutorial.

            1 Reply Last reply Reply Quote 0
            • T Offline
              TIG Moderator
              last edited by 7 Oct 2009, 20:14

              This is the basic transformation stuff... ๐Ÿ˜‰TransformationMatrix.pdf

              TIG

              1 Reply Last reply Reply Quote 0
              • M Offline
                MartinRinehart
                last edited by 8 Oct 2009, 16:19

                @tig said:

                This is the basic transformation stuff... ๐Ÿ˜‰[attachment=0:3e59iit0]<!-- ia0 -->TransformationMatrix.pdf<!-- ia0 -->[/attachment:3e59iit0]

                That confirms my worst fears.

                Author, Edges to Rubies - The Complete SketchUp Tutorial at http://www.MartinRinehart.com/models/tutorial.

                1 Reply Last reply Reply Quote 0
                • T Offline
                  TIG Moderator
                  last edited by 8 Oct 2009, 19:22

                  There are several good methods for getting and changing transformations - relatively easy when you've done it a few thousand times... However, some simple ones are missing - for example if would be nice to be able to get just the angle of rotation out of an existing transformation and then reuse use it in Geom::Transformation.rotation(point,vector, angle)... As it is you can 'clone' the transformation of one thing and apply it to another but that could scale or move it too...

                  TIG

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    MSP_Greg
                    last edited by 8 Oct 2009, 21:51

                    TIG,

                    @tig said:

                    if would be nice to be able to get just the angle of rotation out of an existing transformation

                    I think the below might help. I haven't tested it that much, and never with 'stretched' trans...

                    suATan just returns the arctan of the two numbers (x,y), x=0 => +/- 90

                    
                    aT = e.transformation.to_a
                      # aT[12], aT[13], aT[14]           x, y, z offsets from component origin
                      # suATan(aT[0], aT[1])             xy plane angle
                      # xy = (aT[8]**2 + aT[9]**2)**0.5
                      # suATan(xy, aT[10]) - 90          rise angle, check this one 
                    
                    

                    HTH,

                    Greg

                    1 Reply Last reply Reply Quote 0
                    • C Offline
                      chrisglasier
                      last edited by 9 Oct 2009, 00:35

                      Can I add this topic and particularly this post , to make this topic more complete, even if duplicated in parts.

                      Thanks

                      Chris

                      With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

                      1 Reply Last reply Reply Quote 0
                      • M Offline
                        MSP_Greg
                        last edited by 9 Oct 2009, 00:41

                        Jim,

                        Can you post the file that you used for import shown?

                        Thanks,

                        greg

                        1 Reply Last reply Reply Quote 0
                        • J Offline
                          Jim
                          last edited by 10 Oct 2009, 17:43

                          Here it is.


                          LDraw part No 3001

                          Hi

                          1 Reply Last reply Reply Quote 0
                          • C Offline
                            CPhillips
                            last edited by 10 Oct 2009, 18:56

                            Jim, what is the problem with the brick? The axis look ok to me. Is it that the brick isn't upright?

                            1 Reply Last reply Reply Quote 0
                            • J Offline
                              Jim
                              last edited by 10 Oct 2009, 19:17

                              @cphillips said:

                              Jim, what is the problem with the brick? The axis look ok to me. Is it that the brick isn't upright?

                              Yes that is all. One option would be to flip the SKetchUp axes to match the LDraw axes before inporting. But I just want the bricks to be imported using the SU axes instead of the LDraw axes - including the sub-components.

                              I thought it would simply be a matter of performing an axes transformation on import - but so far the solution has been evasive.

                              Hi

                              1 Reply Last reply Reply Quote 0
                              • C Offline
                                CPhillips
                                last edited by 11 Oct 2009, 01:40

                                Looks like LDraw uses Y is up instead of Z. You could just swap the Y and Z elements when you build the points for the faces. And also swap Y and Z in the translate part of the transform. That will change the axis.

                                1 Reply Last reply Reply Quote 0
                                • C Offline
                                  CPhillips
                                  last edited by 12 Oct 2009, 00:45

                                  I tried out what I suggested and it totally didnt work. I think it is because of the way scaling is being used. Flip Y and Z and you also need to flip ScaleY and ScaleZ. That is surely possible, but I dont know how to do it.

                                  1 Reply Last reply Reply Quote 0
                                  • A Offline
                                    avariant
                                    last edited by 12 Oct 2009, 02:32

                                    Have you tried the Transformation.axes method? It sounds like you should be able to "remap" the standard axes using this transform. Something like Transformation.axes(ORIGIN, X_AXES, Z_AXES, Y_AXES). Just a thought, I have no idea if it will work.

                                    1 Reply Last reply Reply Quote 0
                                    • J Offline
                                      Jim
                                      last edited by 12 Oct 2009, 02:36

                                      That is what I tried to use, but got some crazy results. My initial reaction is to assume I am not understanding how to use them. But if Chris had a problem, I might be inclined to think it's not just me.

                                      Hi

                                      1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        jessejames
                                        last edited by 12 Oct 2009, 06:19

                                        @martinrinehart said:

                                        If one of you who has figured on transformations could write a little article for those of us who haven't, it would be a GOOD THING!

                                        What do you mean exactly Martin?

                                        1. How do Transformations work on a mathematical level and all the boring details that go along with it?
                                        2. How do i use the Geom::Transformtion class to trans, rotate, and scale stuff in SU?

                                        A huge part of understanding Transformations in a mathematical sense is getting past the cryptic syntax. The good thing about a Transformation class is that you don't need to know crap about advanced math and even some basic college math principals to use the Transformation class quite easily.

                                        Thats one thing i love about programming, code up a class that abstracts away all the details and forget about it! I'll leave the asinine number crunching to my processor!

                                        Always sleep with a loaded gun under your pillow!

                                        1 Reply Last reply Reply Quote 0
                                        • M Offline
                                          MartinRinehart
                                          last edited by 12 Oct 2009, 13:41

                                          @jessejames said:

                                          What do you mean exactly Martin?

                                          1. How do Transformations work on a mathematical level and all the boring details that go along with it?
                                          2. How do i use the Geom::Transformtion class to trans, rotate, and scale stuff in SU?

                                          2

                                          I love those very smart people who can do #1, so the rest of us don't have to.

                                          Author, Edges to Rubies - The Complete SketchUp Tutorial at http://www.MartinRinehart.com/models/tutorial.

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

                                          Advertisement