ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
282
282
EMPFEHLEN
-
Hallo Leute!
Ich habe folgendes praktisches Problem:
Aus einem Baumstamm (stumpfer Kegel) sollen im Sägewerk n Bretter mit unterschiedlichen Breiten und Höhen ausgeschnitten werden.
Da der Baumstamm leider kein idealer Zylinder ist, sondern konisch geformt ist, kann es sein, dass nicht auf die gesamte Länge des Brettes eine scharfe Kante vorhanden ist. Daher sollte eine 3D Ansicht erstellt werden, bei der man sieht ab wann, die Kante gebrochen wird.
Das erstellen des Kegelstumpfes habe ich mit folgendem Befehl realisiert:
...also einfach vorne einen kleineren Durchmesser wie hintenCode :1
cylinder = Mesh.Cylinder(dev, 1.0f, 1.5f, 5.0f, 50, 20);
Diesen Kegel habe ich dann einfach mal mit 4 Clip-Ebenen geschnitten
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
//ClipPlanes 1 (links) ClipPlane plane0 = device.ClipPlanes[0] as ClipPlane; plane0.Enabled = true; Vector4 v = new Vector4(0.9f, 0.0f, 0.0f, 1.0f); v.Transform(device.Transform.World); plane0.SetSingleArray(new float[] { v.X, v.Y, v.Z, v.W }); //ClipPlanes 2 (rechts) ClipPlane plane1 = device.ClipPlanes[1] as ClipPlane; plane1.Enabled = true; Vector4 v1 = new Vector4(-0.9f, 0.0f, 0.0f, 1.0f); v1.Transform(device.Transform.World); plane1.SetSingleArray(new float[] { v1.X, v1.Y, v1.Z, v1.W }); //ClipPlanes 3 (oben) ClipPlane plane2 = device.ClipPlanes[2] as ClipPlane; plane2.Enabled = true; Vector4 v2 = new Vector4(0.0f, 1.5f, 0.0f, 1.0f); v2.Transform(device.Transform.World); plane2.SetSingleArray(new float[] { v2.X, v2.Y, v2.Z, v2.W }); //ClipPlanes 4 (unten) ClipPlane plane3 = device.ClipPlanes[3] as ClipPlane; plane3.Enabled = true; Vector4 v3 = new Vector4(0.0f, -1.5f, 0.0f, 1.0f); v3.Transform(device.Transform.World); plane3.SetSingleArray(new float[] { v3.X, v3.Y, v3.Z, v3.W });
Jetzt habe ich natürlich einfach die Vertices außerhalb dieser Clip-Ebenen weg-geschnitten und somit ist das Gitternetz nicht mehr geschlossen, was aber der Fall sein muss, damit das Brett vollständig und korrekt angezeigt wird.
D.h. ich müsste eigentlich nur mehr pro Clip-Ebene einen Punkt einsetzten und den mit den anderen Vertices verknüpfen, doch leider hab ich keine Ahnung mit welchen Befehlen ich das realisieren soll.
Eventuell mit:
Code :1
mesh.optimize()
Zur besseren Vorstellung hab ich noch ein kleines Bild hinzugefügt.
Mfg
AndiGeändert von derPate21 (09.09.08 um 18:13 Uhr)
Ähnliche Themen
-
Clipping mit Graphics ?
Von vrcat im Forum JavaAntworten: 0Letzter Beitrag: 21.11.05, 14:58 -
Explosionsteile + Clipping?
Von Chucky2910 im Forum Cinema 4DAntworten: 14Letzter Beitrag: 08.10.05, 14:39 -
[DirectX C++] Clipping?
Von ThE pRiSoN iN mInD im Forum C/C++Antworten: 2Letzter Beitrag: 07.07.05, 10:28 -
Viewport clipping?
Von ikon im Forum 3D Studio MaxAntworten: 9Letzter Beitrag: 17.12.04, 14:45 -
Clipping für Objekte...
Von Astovidatu im Forum Flash PlattformAntworten: 2Letzter Beitrag: 07.09.04, 17:40





Zitieren
Login





