Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Recent
    • Tags
    • Users
    • Login

    how to get data position and pint out?

    Scheduled Pinned Locked Moved PYTHON Development
    14 Posts 0 Posters 1.2k 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.
    • H Offline
      Helper
      last edited by

      On 27/03/2015 at 00:14, xxxxxxxx wrote:

      i have tried use MatrixToHPB but it doesnt work. and then i tried VectorToHPB and it works. but the third coloumn always "0". How come? this is my code
      import c4d
      #Welcome to the world of Python

      def main() :
        pass  #put in your code here
       
        a = op.GetObject().GetMg().off
        b = c4d.utils.MatrixToHPB(a)
        print a
      Inline image 1

      Inline image 2
      and how to convert values to deg?

      1 Reply Last reply Reply Quote 0
      • H Offline
        Helper
        last edited by

        On 27/03/2015 at 00:22, xxxxxxxx wrote:

        def main() :
          pass  #put in your code here
         
          a = op.GetObject().GetMg().off
          b = c4d.utils.VectorToHPB(a)
          print b

        1 Reply Last reply Reply Quote 0
        • H Offline
          Helper
          last edited by

          On 27/03/2015 at 00:28, xxxxxxxx wrote:

          Vector(3.144, 0.239, 0)
          Vector(3.144, 0.256, 0)
          Vector(3.144, 0.273, 0)
          Vector(3.145, 0.29, 0)
          Vector(3.145, 0.306, 0)
          Vector(3.145, 0.322, 0)
          Vector(3.145, 0.336, 0)
          Vector(3.146, 0.35, 0)
          Vector(3.146, 0.361, 0)
          Vector(3.147, 0.371, 0)
          Vector(3.147, 0.379, 0)
          Vector(3.147, 0.385, 0)
          Vector(3.148, 0.39, 0)
          Vector(3.148, 0.394, 0)
          Vector(3.148, 0.396, 0)
          Vector(3.148, 0.397, 0)
          Vector(3.148, 0.397, 0)
          Vector(3.148, 0.395, 0)
          Vector(3.148, 0.393, 0)
          Vector(3.148, 0.389, 0)
          Vector(3.148, 0.385, 0)

          1 Reply Last reply Reply Quote 0
          • H Offline
            Helper
            last edited by

            On 27/03/2015 at 01:52, xxxxxxxx wrote:

            Hello,

            as the name suggests MatrixToHPB() must be used with a Matrix, not with the translation vector as in your code. And as said before, turning the position into a rotation using VectorToHPB() does not seem to make sense. As you can read in the documentation, VectorToHPB() will always return a rotation with bank set to zero.

            best wishes,
            Sebastian

            1 Reply Last reply Reply Quote 0
            • H Offline
              Helper
              last edited by

              On 27/03/2015 at 02:00, xxxxxxxx wrote:

              Hello,

              the first case:
              you´ll need to feed the matrix not the offset vector from this matrix

              a = op.GetObject().GetMg()
              b = c4d.utils.MatrixToHPB(a)

              the second case:
              euler angle always gives you a zero banking back it calculates the direction with a fixed rotation around this direction

              a = op.GetObject().GetMg().off
              b = c4d.utils.VectorToHPB(a)

              for a complex track you might think about flipping conditions or quaternions.

              rad to degree: c4d.utils.Deg( r )
              or
              rad = HPB * math.pi / 180

              Hope this helps?
              Best wishes
              Martin

              1 Reply Last reply Reply Quote 0
              • H Offline
                Helper
                last edited by

                On 02/04/2015 at 07:17, xxxxxxxx wrote:

                Hello Yefta

                was your question answered?

                best wishes,
                Sebastian

                1 Reply Last reply Reply Quote 0
                • H Offline
                  Helper
                  last edited by

                  On 05/04/2015 at 23:02, xxxxxxxx wrote:

                  hello Martin.

                  yes, it helps. but i still cant transform to degree. it shows "a float is required".

                  can u help me out?

                  1 Reply Last reply Reply Quote 0
                  • H Offline
                    Helper
                    last edited by

                    On 05/04/2015 at 23:14, xxxxxxxx wrote:

                    hello s_bach

                    i'm sorry, been off for a while. yes it's answered, but not all.

                    if i type  c4d.utils.Deg(b)
                    it shows in console "TypeError : a float is required"

                    1 Reply Last reply Reply Quote 0
                    • H Offline
                      Helper
                      last edited by

                      On 06/04/2015 at 04:21, xxxxxxxx wrote:

                      Hello Yefta,

                      sorry my answer was a little sloppy.
                      This should answer your question ...

                        
                        rad = c4d.Vector(0,1,1)  
                        deg = c4d.Vector(c4d.utils.Deg(rad.x),c4d.utils.Deg(rad.y),c4d.utils.Deg(rad.z))  
                        print deg  
                          
                        deg2 =  180/math.pi*rad  
                        print deg2  
                      

                      Best wishes
                      Martin

                      1 Reply Last reply Reply Quote 0
                      • H Offline
                        Helper
                        last edited by

                        On 16/04/2015 at 00:35, xxxxxxxx wrote:

                        thanks martin. 😄

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post