Resumé
J'étais assis autour de la table de la cuisine, me demandant comment je pourrais modéliser un toboggan de terrain de jeux, ou ces tubes de toboggan aquatique.
Cette chose ajoute le support des courbes/surfaces hermétiques à la bibliothèque de solides de surface d'OpenScad.
Le calcul de base de l'interpolation d'Hermite était en fait latent depuis un certain temps, mais maintenant, il est mis à bon usage. Avec cela, il y a maintenant un lerp (interpolation linéaire), un berp (interpolation de Bézier) et un herp (interpolation d'Hermite) dans la bibliothèque.
Une courbe d'Hermite est définie par deux points d'extrémité et les vecteurs tangents à ces points. Elle est quelque peu liée à une courbe de Bézier. En fait, j'utilise les mêmes fonctions de base de Bernstein pour l'exprimer. Certaines personnes peuvent la trouver plus facile à manipuler, d'autres plus difficile, mais ce n'est qu'un outil de plus dans la boîte pour vous aider à créer des surfaces.
Dans ce cas particulier, j'ai ajouté un module 'sweep_hermite()' au rendu. C'est vraiment facile à utiliser. Vous définissez une courbe qui sera votre 'profil', et vous définissez une autre courbe qui sera le chemin le long duquel vous allez balayer ce profil. Le module s'occupera de créer les polyèdres appropriés pour remplir le solide. Vous pouvez donner une épaisseur, et il extrudera dans cette
Cela montre également un mécanisme général pour effectuer des balayages avec des courbes. Pour le rendre totalement généralisé, et pour réduire la quantité de code nécessaire pour supporter différentes courbes, je vais développer davantage la représentation matricielle des courbes. Ce sera essentiellement la même chose que d'avoir des pointeurs de fonctions pour la création de surfaces, si vous comprenez ce que je veux dire.
J'ai ajouté un support de débogage visuel. Si vous décidez d'afficher le cadre de contrôle, vous obtiendrez un joli rendu des courbes de profil et de balayage, complété par leurs vecteurs tangents.
Utiliser des vecteurs tangents est intéressant. Vous devez garder à l'esprit qu'un vecteur a une longueur et une direction. La longueur influence la force de traction dans une direction particulière. Il est préférable de les considérer comme centrés à [0,0,0] et de les orienter dans la direction que vous souhaitez qu'ils prennent. Vous devrez jouer avec leur réglage pour en comprendre le principe.
Il me semble que ça pourrait être un bon outil à utiliser pour apprendre à connaître les différents types de courbes et de surfaces. En particulier avec le débogage visuel, et le bonus supplémentaire de pouvoir imprimer un objet physique après avoir effectué tous vos efforts de manipulation.
J'ai rendu la licence du domaine public, car c'est un terrain bien connu.
Les splines sont-elles prévues ?
En tout cas...
Instructions
1) Téléchargez les fichiers .scad.
2) Jouez avec test_hermite.scad pour créer de jolies images.
3) Compiler et exporter au format .stl.
4) Réjouissez-vous !
Dans la plupart des cas, cela générera une surface solide qui peut être transformée en fichier .stl. L'utilisation la plus probable ici est de générer des pièces uniques qui sont collées ensemble avec d'autres pièces. Comme mes glissades d'eau.