MACROS |
|
MakeObjectSquareScrew |
Une macro qui génère une vis à pas carré. En fait, deux macros identiques. Une qui génère à la volée un objet directement utilisable dans une scène et une autre qui génère un fichier contenant l'objet. Cet objet pourrat être utilisé plus tard grace à un #include "...". Ces deux macros montrent aussi comment utiliser le SDL de POVRay pour écrire dans un fichier, pour construire des polygon {} et des mesh{}. Appel : MakeObjectSquareScrew ( MajorDiameter, MinorDiameter, ScrewLen, StepAngle ) MakeIncludeSquareScrew ( FileName, MajorDiameter, MinorDiameter, ScrewLen, StepAngle ) Paramètres : — MajorDiameter : Diamètre de tête de la vis. — MinorDiameter : Diamètre de pied de la vis. — ScrewLen : longueur de la vis — StepAngle : angle pour la décomposition en triangle. Conditionne la précision du tracé. — FileName : Pour l'utilisation de la deuxième forme de la macro, nom du fichier généré. Cette macro est l'adaptation d'un programme en C extrait du livre "Interactive 3d computer graphics" de Leendert Ammeral (ISB N 0-471-92014-2). Le principe est montré sur l'image ci-dessous : ![]() La vis est découpée en "tranches", les cercles deviennent alors des droites. Si le nombre de tranche est important, la substitution des cercles en droites ne se voie plus. Maintenant que nous avons un ensemble de droites et de points, nous pouvons construire des triangles, base de la constitution des mesh{}. Pour définir les surfaces supérieures et inférieures (normales à l'axe z) des polygon{} sont utilisées. — Le paramètre 'StepAngle' de la macro qui conditionne la précision du tracé est donné pour la moitié d'un tour. Ceci assure la parité pour un tour complet. — Il n'y a pas de paramètre pour définir le pas de la vis car pour une vraie vis à pas carré, cette valeur est égale à la différence de diamètre : Pas = MajorDiameter — MinorDiameter. — La longueur de la vis est définie par le paramètre 'ScrewLen'. Cette longueur s'applique suivant l'axe z. Vous pouvez voir un exemple utilisant cette macro dans la section galerie. |