Cutting and Splitting Polygons - Printable Version
+- iDevGames Forums (http://www.idevgames.com/forums)
+-- Forum: Development Zone (/forum-3.html)
+--- Forum: Game Programming Fundamentals (/forum-7.html)
+--- Thread: Cutting and Splitting Polygons (/thread-9328.html)
Cutting and Splitting Polygons - Maedi - Sep 12, 2011 06:30 AM
In OpenGL, Quartz or Cocos2d is it possible to create a 2d polygon and then programatically intersect this shape with a line at any angle, creating 2 new shapes from the cut line?
For example: a 4 sided rectangle has line going through the shape at any angle from one side to another. This line is then used to split the polygon into 2 new shapes.
What kind of frameworks or technologies should I look into for doing things like this?
RE: Cutting and Splitting Polygons - Skorche - Sep 12, 2011 10:47 AM
If you are exclusively cutting convex polygons it's trivial to do. I have a snippet of code here that clips a polygon by a horizontal line, but it would be an easy modification to make it work with an arbitrary axis:
For concave polygons it's little trickier as you can end up with more than 2 pieces, but the concept is basically the same.
RE: Cutting and Splitting Polygons - Maedi - Sep 13, 2011 06:32 AM
Thanks for the link. So I should use a framework like Cocos2d to draw the polygons and then use Chipmunk to do the physics side?
In my use case the polygons are 2d shapes in a 3d environment, will the new Cocos3d allow you to access Chipmunk's 2d physics engine?
RE: Cutting and Splitting Polygons - Skorche - Sep 13, 2011 07:40 AM
I wouldn't use Cocos2D unless you are drawing sprites, it's sort of a pain to do your own GL drawing in Cocos2D. I'd certainly recommend Chipmunk for physics of course. (but there is also Box2D)
I can't speak for Cocos3D having never tried it. I can't imagine there would be anything preventing you from using the libraries together if you wanted to.