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
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    math: project point on a poly

    SDK Help
    0
    14
    978
    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
      Helper
      last edited by

      THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

      On 10/06/2004 at 10:07, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   8.100 
      Platform:   Windows  ;   
      Language(s) :     C++  ;

      ---------

      Hi all,

      i need to find the closest point p1 in a poly
      to point p2 outside of the poly.

      It should be possible to get p1 by projecting p2 along the normal of the poly, but unfortunately i dont know how to do it! (cos im quite bad at maths)

      Is there maybe a function in the sdk that can
      project a point on a plane along the planes normal?

      thanks,
      devel

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

        THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

        On 11/06/2004 at 09:43, xxxxxxxx wrote:

        the solution of your problem is very difficult:
        it is ease to do this with a Plain and a Point, because a plane has infinite extension. but in your case you have to check the bounds (edges) of your poly. Another problem is that that a poly can also be nonplanar, so you have to do this with triangles, they are always planar!

        btw: I don´t know any function in the sdk that does your thing!

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

          THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

          On 11/06/2004 at 10:34, xxxxxxxx wrote:

          well,thanks for your answer..

          your probably right, especially about the poly vs triangle thing..
          ..didnt think of that before x-|

          what i am actually trying to do with my plugin
          is make a multispline stick to a deformable mesh..

          like when i make a spline-beard around a poly selection
          and then make some facial expression morphing with the head, the beard stays attached to the poly-selection..

          well maybe there's another solution somewhere..
          or somebody else already did it!

          thanks anyway,
          and have a good time all,

          devel

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

            THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

            On 11/06/2004 at 11:24, xxxxxxxx wrote:

            Don't 100% understand the question, but maybe you could use the GeRayCollider class.
             
            Its a class used to check if a ray has intersected a polygon, and it returns a whole great deal of information, the point of intersection, the polygons normal, etc
             
            The xpresso ray collider node is very useful to experiment with

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

              THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

              On 11/06/2004 at 12:03, xxxxxxxx wrote:

              thanks ill read it up in the manual and play around some,
              but it looks like it can only check collision between ray(line) and object and i need to check collision ray/poly..

              --edit---

              ..should have read the manual BEFORE posting...

              looks like the node can return the poly that was hit by the ray...

              so thanks again, looks like this might work! 😄

              cheers,
              devel

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

                THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                On 11/06/2004 at 12:18, xxxxxxxx wrote:

                Yes its for object, but objects are made out of polygons right?
                 
                Its also not that hard to check if a point is inside a polygon, there are many ways to do it.
                 
                http://www.gametutorials.com/Tutorials/opengl/OpenGL_Pg3.htm
                 
                I learn't all I know about polygon detection from that site
                 
                1. Line Segment and Plane Collision
                2. Line Segment and Polygon Collision
                 
                The source code contains a very good explaination on what is happening. Its easy to convert into c4d too, because sdk already has great vector operations 🙂

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

                  THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                  On 11/06/2004 at 14:00, xxxxxxxx wrote:

                  thanks, i'll check it out..

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

                    THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                    On 12/06/2004 at 01:57, xxxxxxxx wrote:

                    Quote: Originally posted by devel on 11 June 2004
                    >
                    > * * *
                    >
                    > what i am actually trying to do with my plugin
                    > is make a multispline stick to a deformable mesh..
                    >
                    > like when i make a spline-beard around a poly selection
                    > and then make some facial expression morphing with the head, the beard stays attached to the poly-selection..
                    >
                    >
                    > * * *

                    what i understood is that you need something that always stays at the same place on top of a (deformable) surface, right? In my opinion you should do this with the uv-coordinates of the poly. else you are getting problems with the right position when the shape of the poly is changing! I don´t know if there is any function in the sdk that extracts you the 3d-coordinates with the input of a poly and the uv-coordinates!

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

                      THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                      On 12/06/2004 at 02:07, xxxxxxxx wrote:

                      hmm, sounds like a good idea..

                      i'm not quite sure how to do it right now,
                      but im im just gonna play around with uv now, might
                      turn out to be easier than what i had in mind first..

                      thanks for the hint,
                      devel

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

                        THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                        On 12/06/2004 at 02:46, xxxxxxxx wrote:

                        bad idea. This would require the object to always have accurate UV coords which is not always the case (some don´t even have any UVs assigned)

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

                          THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                          On 12/06/2004 at 02:55, xxxxxxxx wrote:

                          yeah thats right,
                          but i actually need this plugin for my fully textured head (with complete uvw's), so that shouldnt be a problem..

                          on the other hand, that wouldnt make it very handy in terms of general usefulness (e.g. for other people) i guess...

                          well, so how'd you do it?

                          the problem is indeed to get the right coordinate on the poly, when the mesh has deformed..

                          greetings,
                          devel

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

                            THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                            On 12/06/2004 at 03:05, xxxxxxxx wrote:

                            Well, actually I already did this ;o) I am using this for my own plugin DPInstantTree (for it now has hair support) and so I wrote such a plugin some days ago. I am triangulating the object and then calculate the initial position on the triangle (as written a tri is always planar) and stick it to this position. Actually not that complicated. Do a google search for the position in a triangle. It´s more than easy.
                            Good luck

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

                              THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                              On 12/06/2004 at 03:06, xxxxxxxx wrote:

                              when deforming the barrycentric coords of the poly do change too (maybe maxx meant these coords by uv coords) so it works here too.

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

                                THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                                On 12/06/2004 at 03:21, xxxxxxxx wrote:

                                alright thanks Samir,
                                gonna check it out..

                                greetings,
                                devel

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