Latest revision |
Your text |
Line 43: |
Line 43: |
| # Continuing porting NFP function and useful functions which are required for it to run. | | # Continuing porting NFP function and useful functions which are required for it to run. |
| # Calculated the touching edges for polygons to help creating the NFP. | | # Calculated the touching edges for polygons to help creating the NFP. |
− | # Generated the translation vectors for orbiting shape to slide alongside the stationary shape.
| |
| | | |
| == June 20 -June 28 == | | == June 20 -June 28 == |
Line 50: |
Line 49: |
| * Implement the geometry utility functions.(C) | | * Implement the geometry utility functions.(C) |
| === Activity Log For This Period === | | === Activity Log For This Period === |
− | * All the following functions are utility functions used in the NFP function which is the core of the packing algorithm this was supposed to be implemented next month but it makes sense to start with it and porting each helper function along the way.
| + | N/A |
− | # Started rejecting the translation vectors which will cause intersection.
| |
− | # Wrote a skeleton code for a function to calculate the maximum distance a polygon can slide in a given direction without intersecting with another polygon.
| |
− | # Created a function that takes two edges and finds the maximum distance one edge can travel in a given direction without intersection.
| |
− | # Found each possible arrangement for the edges to be in without intersecting with each other.
| |
− | # Created a function to calculate the maximum distance a vertex can travel in a given direction.
| |
− | # Finished calculating the maximum sliding distance for each translation vector.
| |
− | # Day off studying for a job interview wish me luck.
| |
− | | |
| == June 28-July 4 == | | == June 28-July 4 == |
| === Required === | | === Required === |
| * Writing unit test skeleton for placement algorithm.(T) | | * Writing unit test skeleton for placement algorithm.(T) |
| === Activity Log For This Period === | | === Activity Log For This Period === |
− | # Fixing the flow in the NFP function as it wasn't working correctly.
| + | N/A |
− | # Development laptop got stuck in a login loop after installing CUDA so I spent the whole day trying to fix it.
| |
− | # Continued modifying and fixing the NFP function.
| |
− | # Debugging and fixing issues with the placement algorithm. ( the NFP had very large values )
| |
− | | |
| == July 4- July 21 == | | == July 4- July 21 == |
| === Required === | | === Required === |
Line 74: |
Line 61: |
| * Parallelizing the placement algorithm.(C) | | * Parallelizing the placement algorithm.(C) |
| === Activity Log For This Period === | | === Activity Log For This Period === |
− | * Taking two days off to finish my graduation project. (I've already started working on this period's work 2 weeks ago).
| + | N/A |
− | * Debugging and tracing the placement algorithm.
| |
− | * Fixing issues with the Point and Pointf in the placement algorithm as what everything should be.
| |
− | * Fixed issues with trimming the vectors as it wasn't working correctly.
| |
− | * Designed test case for the placement algorithm.
| |
− | * Continued working on the placement algorithm and fixed issues with sliding as it wasn't moving correctly.
| |
− | * Solved couple of issues as it was producing some garbage values.
| |
− | * Looked for a way to visualize it's output to understand the results better.
| |
− | * Fixed multiple issues where the variables names were wrong like replacing next_A_index with prev_A_index which were causing wrong results.
| |
− | * Fixed issue with the starting point.
| |
− | * Fixed issues with polygon slide distance.
| |
− | * Fixed issues with segment distance.
| |
− | * Created NFP for convex shapes.
| |
− | * Working on moving the objects to a point on the NFP.
| |
− | * Finished moving objects and now they are packed close to each other.
| |
− | * Found an interesting method which takes a simpler and much faster approach to the NFP problem but needs at least one of the shapes to be convex which fits perfectly to our problem as we're starting with a convex hull for each shape.
| |
− | | |
| == July 21-July 26 == | | == July 21-July 26 == |
| === Required === | | === Required === |
| * Design skeleton code for unit testing optimization algorithm.(T) | | * Design skeleton code for unit testing optimization algorithm.(T) |
| === Activity Log For This Period === | | === Activity Log For This Period === |
− | * Continued working on the placement algorithm as I took a new simpler approach and read multiple papers with simpler and faster approaches than the orbiting polygon with sliding edges presented in the SVGNest library.
| + | N/A |
− | # [http://www.diva-portal.org/smash/get/diva2:699750/FULLTEXT01.pdf "JONAS LINDMARK Thesis at CSC"]
| |
− | # "A comprehensive and robust procedure for obtaining the nofit polygon using Minkowski sums" Which I thank [https://www.researchgate.net/profile/Julia_Bennell JULIA A BENNELL] for providing me with the full text when I requested it.
| |
− | # Fixed the IFP with orbital approach.
| |
− | | |
| == July 26-Aug 9 == | | == July 26-Aug 9 == |
| === Required === | | === Required === |