From: Bruce S. <bas...@un...> - 2002-07-25 01:18:51
|
Many thanks for contributing this! Users have been asking for a way to make a hollow cylinder (tube). I attach a modification of your routine, which runs significantly faster. Here are the main changes: Since you're building the tube in a frame anyway, you don't have to do all that work to rotate the object. Just reset the axis of the frame, and everything gets rotated for you! In order to get proper lighting, I made the normals to the faces be in fact simply normal to the geometrical surface of the object, rather than adding in various vectors. I got rid of lots of cos and sin calls, which are relatively expensive functions. Instead I use the formulas for calculating sine and cosine of (theta+dtheta), given the sines and cosines of theta and of dtheta. I made the attributes be more similar to the attributes for Visual cylinders (pos and axis rather than point and tail). I changed the def to a class, in preparation for a more general object approach that would let you change the position, axis, etc. of an existing tube. Once there is the ability to change these attributes, I'd like to include this routine in the VPython distribution. Again, thanks for making this contribution! Bruce Sherwood ----- Original Message ----- From: "IVES,THOM (HP-Boise,ex1)" <tho...@hp...> To: "Visual Python Users (E-mail)" <vis...@li...> Cc: <lev...@ut...> Sent: Wednesday, July 24, 2002 6:23 PM Subject: [Visualpython-users] Multipurpose Cylinder / Disc with a whole in it - Code. > Visual Users, > > A while back, I asked about coding a cylinder with a hole / disc with a > whole in it. > |