Hi, I am trying to make a python script for Cinema4D to help me with my repetitive task. I have a lot of models to optimize the same way. Look at the leaf in the picture:
I want to optimize the leaf by reducing the number of vertices on the circumference. I was doing it manually for a while but I realized there is a way to automate the task.
What I have in mind is iterating each edge of the circumference and deselecting each point that has a high angle with it's neighbours. If the angles are low with neighbours, the point would stay selected so I can delete it, thus reducing vertices that are not needed to keep the general shape and uvs of the leaf.
So the script should work with a preselected loop, doing dot product on each neighbouring edges and compare them to a treshold value, then deselect them accordingly.
The result should look something like this:
I know the results won't be always perfect with an automated solution, but efficiency is more important than looks here.
I've been trying to make this script for a while with no sucess. Python has not been good to me..
The most I've managed is a script that discards every second selected vertex randomly..
Could someone make this script for me? I'd be willing to pay some money for this.
thank you for reaching out to us and welcome to the Cinema 4D development community. Please take a look at our Forum Guidelines, as we do require postings to follow a certain form. Your posting is most importantly missing the required tags describing the programming environment, the targeted version(s) of Cinema 4D and the targeted operating system(s).
About your question: We have a series of example scripts on polygon reduction GitHub which might be useful to you. The one most relevant for you is probably polygonreduction_vertexlevel_r19.
without any further questions, we will consider this topic as solved by Monday, the 25th and flag it accordingly.
Thank you for your understanding,