sweet, hadn't seen the lathe class - that will come in handy, thanks fabrice! However it seems to generate a lot more vertices than are needed(48 compared to 9), some with many decimal places - that will cause a little performance hit no?
Ideally like you suggest Jensa I will need to make a class to generate these objects. I will be dynamically generating a LOT of these, amongst some others. Initially passing in some simple parameters...width,h,d,pointheight,mat,x,y etc. Any tips would be welcomed! would I go about extending the cube class, and performing some sort of operation like I did above? On Nov 25, 1:56 pm, Fabrice3D <[email protected]> wrote: > Well done! That's one way to do it, say the hard way. > So now, you know how to freak around with faces! > > Now let me piss you off a bit with the other (easy) way I did'nt > mention in previous mail. > To do this particular shape, simply use the Lathe class like this: > > var easyway:Lathe = new Lathe([new Number3D(0,-100,0),new > Number3D(-100,-100,0) new Number3D(-100,100,0), new > Number3D(0,100,0)], {flip:true, recenter:false, subdivision:4, > material:mat}); > > done! :)) > > Fabrice > > On Nov 25, 2009, at 1:33 PM, davivid wrote: > > > cheers Fabrice, > > > just what I needed to get me going. I've got it working, and seems to > > be fine - although im quite sure my method of trial and error is not > > the best way... Once I found the top faces, I noted them, and deleted > > them. I then created the new 4 faces based on the old two, and went > > through each of the new faces changing the vertices until everything > > lined up. Next I cycled through the vertices of the cube, and slotted > > these into my new faces where they matched. > > > I'm now wondering if there is likely to be any issues with the way I > > have done it? as Im after as much performance as possible. Or is there > > a better way of doing this? thanks. > > > pointedCube = new Cube( { width:200, height:200, depth:200 } ); > > view.scene.addChild(pointedCube); > > > pointedCube.removeFace(pointedCube.faces[8]); > > pointedCube.removeFace(pointedCube.faces[8]); //originally face 9 > > > var pointheight:Vertex = new Vertex(0, pointedCube.height, 0); // > > Vertex for Point > > > var one:Face = new Face(pointedCube.vertices[2], pointedCube.vertices > > [6], pointheight,new ColorMaterial(0xff0000)); > > var two:Face = new Face(pointedCube.vertices[0], pointheight, > > pointedCube.vertices[5],new ColorMaterial(0x00ff00)); > > var three:Face = new Face(pointedCube.vertices[2], pointheight, > > pointedCube.vertices[0],new ColorMaterial(0x0000ff)); > > var four:Face = new Face(pointheight, pointedCube.vertices[6], > > pointedCube.vertices[5],new ColorMaterial(0xccff00)); > > > pointedCube.addFace(one); > > pointedCube.addFace(two); > > pointedCube.addFace(three); > > pointedCube.addFace(four); > > > On Nov 25, 11:30 am, Fabrice3D <[email protected]> wrote: > >> sure, just insolate the two faces on top > >> note the four vertexes, delete the faces > >> and add four new faces. > > >> Fabrice > > >> On Nov 25, 2009, at 11:18 AM, davivid wrote: > > >>> Is it possible to modify the cube primitive in such a way that an > >>> extra vertex is added to the centre of say the top the face, and > >>> moved > >>> up to created a pointed/pyramid effect? > > >>> like this: > >>>http://away3d-dev.googlegroups.com/web/pointedcube.jpg > > >>> thanks.
