Für eine echte Werkzeug-SIMULATION wirst Du, fürchte ich, mit Vertex-Verschiebungen nicht sehr weit kommen. Weil echte Werkstoffe haben ja ein Volumen, und unterschiedliche Material-Eigenschaften (z.B. wird ein Stück Holz in Rinden-Nähe anders aussehen und eine andere Härte haben als im Kern). 3D-Modelle sind immer hohl, und haben kein Volumen.

Du kannst natürlich eine Werkstück-Oberfläche aus sehr vielen Polygonen/Vertices erstellen, und diese dann programmgesteuert verschieben/wegfräsen. Aber erstens kannst Du damit nicht ALLE Formen darstellen (DU kannst höchstens Vertiefungen oder Erhöhungen heraus-fräsen, aber Du wirst z.B. niemals damit eine komplexe Holzfigur schnitzen können), und zweitens leidet nach der Verformung die Optik darunter. Also die Textur (z.B. Holzoberfläche) würde dann total verzerrt aussehen.

Der einzige sinnvolle Weg wäre meiner Meinung nach eine Technik, die mit Voxel arbeitet. Eigentlich eine uralte Technik, mit der die ersten 3D-Spiele gemacht wurden.

Hier zum besseren Verständnis ein 3D-Modell aus normalen Vertices, und ein Voxel-Modell.


Im Prinzip besteht dabei Dein Werkstück aus sehr vielen "Atomen", und hat somit auch ein Volumen. Jedes "Atom"/Voxel könnte z.B. in 3DGamestudio mit Hilfe eines kleinen runden Sprites dargestellt werden, das sich immer automatisch zur virtuellen Kamera hin dreht. Indem Du den einzelnen Sprites verschiedene Farben gibst, kannst Du dann auch z.B. die Maserung von Holz simulieren.

Naja, und jetzt brauchst Du dann nur noch für jedes einzelne Voxel-Sprite eine Kollissionsprüfung machen. Sobald ein Voxel Kontakt mit einem Werkzeug hat, wird es unsichtbar (oder Du kannst auch berechnen, dass es physikalisch korrekt wegfliegt).

Allerdings wird das ganze sehr sehr rechenintensiv werden, wenn Du sehr viele Voxel-Sprites verwendest. Damit Du das in Echtzeit darstellen kannst, wirst Du Dir wahrscheinlich irgendetwas überlegen müssen, um das ganze zu optimieren (z.B. Kollissionsprüfung nur für Voxel, die sich nahe der Oberfläche befinden). Aber ich denke, so ca. 200.000 Voxel dürften kein Problem sein, und ich glaube, damit könnte man schon ganz brauchbare Werkstücke herstellen. Das schwierigste wird wahrscheinlich sein, Dir einen Programmcode zu überlegen, der die einzelnen Voxel-Sprites so nebeneinander anordnet, dass sie die Form eines Werkstückes bekommen. Aber ein rechteckiges Werkstück ist da ziemlich einfach herzustellen.

Also Du hast Dir da eine sehr schwere Aufgabe gestellt. Aber machbar ist sie. Die Programmiersprache ist dabei eigentlich egal. Wenn Du es in 3D und Echtzeit machen willst, ist 3DGS und Lite-C dafür nicht so schlecht geeignet.

Grüße,
Thomas