Ce fichier inclus contient des interfaces pour des fonctions internes comme pour plusieurs fonctions prédéfinies. L'ID utilisé pour accéder aux fonctions internes à travers des appels de internal(XX), n'est pas garanti rester le même entre les versions de POV-Ray, aussi les utilisateurs sont encouragés à utiliser les fonctions déclarées ici.
Le nombre de paramètres requis, et ce qu'ils contrôlent, est aussi donné dans le fichier inclus, ce chapitre donne plus d'information.
Pour les valeurs de démarrage des paramètres, voyez le fichier de démonstration "i_internal.pov".
Syntaxe à utiliser :
#include "functions.inc" isosurface { function {f_torus_gumdrop(x, y, z, P0)} ... } pigment { function {f_cross_ellipsoids(x, y, z, P0, P1, P2, P3)} COLOR_MAP ... }
Quelques paramètres spéciaux sont trouvés dans plusieurs de ces fonctions. Ils sont décrits dans la section suivante et référencés plus tard comme les paramètres "Cross section type", "Field Strength", "Field Limit", "SOR".
Type de croisement :
Dans les fonctions spirales et hélices, le neuvième paramètre est le type de croisement.
Quelques formes sont :
0 :0.0 à 1.0 :1 :1.0 à 2.0 :2 :2.0 à 3.0 :3 :La valeur numérique en un point de l'espace générée par la fonction est multipliée par la force du champ. La série de points où la fonction donne zéro est non affectée par toute valeur positive de ce paramètre, aussi, si vous utilisez la fonction telle quelle avec threshold = 0, la surface générée est la même.
Dans quelques cas, la force du champ a un effet considérable sur la vitesse et l'exactitude du rendu de la surface. En général, l'augmentation de la force du champ accélère le rendu, mais si vous mettez une valeur trop haute, la surface commencera à se briser et pourra disparaître complètement.
Mettre une valeur négative à la force du champ produit une inversion de la surface, comme si la fonction était négative.
Cela ne fera aucune différence à la surface générée si vous utilisez un seuil qui est dans la limite du champ (et détruira complètement la surface si le seuil est plus grand que la limite du champ). Toutefois, cela peut faire une grande différence dans les temps de rendu.
Si vous utilisez la fonction pour générer un pigment, alors tous les points qui seront éloignés de la surface auront la même couleur, celle qui correspond à la valeur de la limite du champ.
S'il est plus grand que zéro, la courbe est glissée comme une surface de révolution (SOR).
Si la valeur est zéro ou négative, la courbe est extrudée linéairement dans la direction z.
Si le commutateur SOR est activé, alors la courbe est déplacée de cette distance dans la direction x avant d'être glissée.
Si le commutateur SOR est activé, alors la courbe est tournée de ce nombre de degrés selon l'axe z avant d'être glissée.
Quelque fois, quand vous rendez une surface, vous pouvez trouver que vous n'obtenez que la forme du conteneur. Cela est peut être causé par le fait que certaines fonctions construisent vers l'extérieur.
Nous pouvons inverser l'isosurface en rendant négative la totalité de la fonction :
-(function) - threshold
Voivi une liste des fonctions internes dans l'ordre de leur apparition dans le fichier inclus "functions.inc".
f_algbr_cyl1(x,y,z, P0, P1, P2, P3, P4). Un cylindre algébrique est ce que vous obtenez si vous prennez une courbe en 2D et la projetez en 3D. La courbe 2D est simplement extrudée le long du troisième axe, l'axe z dans ce cas.SOR Switch activé, la courbe sera tournée sur l'axe y au lieu d'être extrudée le long de l'axe z.
P0 : Force du champP1 : Limite du champP2 : SOR SwitchP3 : SOR OffsetP4 : SOR Anglef_algbr_cyl2(x,y,z, P0, P1, P2, P3, P4). Un cylindre algébrique est ce que vous obtenez si vous prennez une courbe en 2D et la projetez en 3D. La courbe 2D est simplement extrudée le long du troisième axe, l'axe z dans ce cas.SOR Switch activé, la courbe sera tournée sur l'axe y au lieu d'être extrudée le long de l'axe z.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Limite du champP2 : SOR SwitchP3 : SOR OffsetP4 : SOR Anglef_algbr_cyl3(x,y,z, P0, P1, P2, P3, P4). Un cylindre algébrique est ce que vous obtenez si vous prennez une courbe en 2D et la projetez en 3D. La courbe 2D est simplement extrudée le long du troisième axe, l'axe z dans ce cas.SOR Switch activé, la courbe sera tournée sur l'axe y au lieu d'être extrudée le long de l'axe z.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Limite du champP2 : SOR SwitchP3 : SOR OffsetP4 : SOR Anglef_algbr_cyl4(x,y,z, P0, P1, P2, P3, P4). Un cylindre algébrique est ce que vous obtenez si vous prennez une courbe en 2D et la projetez en 3D. La courbe 2D est simplement extrudée le long du troisième axe, l'axe z dans ce cas.SOR Switch activé, la courbe sera tournée sur l'axe y au lieu d'être extrudée le long de l'axe z.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Limite du champP2 : SOR SwitchP3 : SOR OffsetP4 : SOR Anglef_bicorn(x,y,z, P0, P1). La surface est une surface de révolution.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Dimension. Les mathématiques de cette surface suggèrent que la forme sera différente pour différentes valeurs de ce paramètre. Dans la pratique, la différence dans la forme est difficile à saisir. Placer la dimension à 3 donne une surface avec un rayon d'une unité.f_bifolia(x,y,z, P0, P1). La surface bifoliaire ressemble à la partie haute d'un paraboloïde englobé par dessous par un autre paraboloïde.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Dimension. La surface a toujours la même forme. Le changement de ce paramètre a le même effet que l'ajout d'un modificateur de taille. Le mettre à 1 donne une surface avec un rayon d'une unité.f_blob(x,y,z, P0, P1, P2, P3, P4). Cette fonction génère des blobs qui sont similaires au blob d'un CSG avec deux composants sphériques. Cette fonction semble ne fonctionner qu'avec un seuil négatif.
P0 : X distance entre les deux composantsP1 : Force de blob du composant 1P2 : Inversion du rayon de blob du composant 1P3 : Force de blob du composant 2P4 : Inversion du rayon de blob du composant 2f_blob2(x,y,z, P0, P1, P2, P3). Cette surface est similaire à un blob CSG avec deux composants sphériques.
P0 : Séparation. Un composant du blob est à l'origine, et l'autre est à cette distance sur l'axe xP1 : Inversion de taille. Augmentez ceci pour réduire la taille de la surfaceP2 : Force du blobP3 : Seuil. Mettre ce paramètre à 1 et le seuil à zéro a le même effet que mettre ce paramètre à zéro et le seuil à -1f_boy_surface(x,y,z, P0, P1). Pour cette surface, cela aide si la force du champ est basse, autrement la surface a tendance à se briser ou à disparaître complètement. Cela a le désavantage de rendre les temps de rendu extrèmement longs.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Dimension. La surface a toujours la même forme. Le changement de ce paramètre a le même effet que l'ajout d'un modificateur de taillef_comma(x,y,z, P0). La surface 'comma' ressemble beaucoup à la forme d'une virgule.
P0 : Dimensionf_cross_ellipsoids(x,y,z, P0, P1, P2, P3). La surface 'cross ellipsoids' est comme l'union de trois ellipsoïdes croisés, chacun orienté sur un axe.
P0 : Excentricité. Quand plus petit que 1, les ellipsoïdes sont oblongs, quand plus grand que 1, les ellipsoïdes sont allongés, à zéro, ils sont sphériques (et de là, la totalité de la surface est une sphère)P1 : Inversion de la taille. Augmentez ceci pour réduire la taille de la surfaceP2 : Diamètre. Augmentez ceci pour augmenter la taille des ellipsoïdesP3 : Seuil. Mettre ce paramètre à 1 et le seuil à zéro a exactement le même effet que mettre ce paramètre à zéro et le seuil à -1f_crossed_trough(x,y,z, P0)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_cubic_saddle(x,y,z, P0). Pour cette surface, cela aide si la force du champ est basse, autrement la surface a tendance à se briser ou à disparaître complètement.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_cushion(x,y,z, P0)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_devils_curve(x,y,z, P0)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_devils_curve_2d(x,y,z, P0, P1, P2, P3, P4, P5). La courbe f_devils_curve_2d peut être extrudée le long de l'axe z, ou en utilisant les paramètres SOR elle peut faire une surface de révolution. Les facteurs X et Y contrôlent la taille de l'élément central.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Facteur XP2 : Facteur YP3 : SOR SwitchP4 : SOR OffsetP5 : SOR Anglef_dupin_cyclid(x,y,z, P0, P1, P2, P3, P4, P5)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Rayon majeur du toreP2 : Rayon mineur du toreP3 : Déplacement X du toreP4 : Déplacement Y du toreP5 : Rayon de l'inversionf_ellipsoid(x,y,z, P0, P1, P2). f_ellipsoid génère des sphères et des ellipsoïdes. Elle a besoin de "threshold 1".P0 : dimension X (inverse)P1 : dimension Y (inverse)P2 : dimension Z (inverse)f_enneper(x,y,z, P0)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_flange_cover(x,y,z, P0, P1, P2, P3)
P0 : Aspect épineux. Mettez de très petites valeurs pour augmenter les pointes. Placez le à 1 et vous aurez une sphèreP1 : Inversion de la taille. Augmentez cela pour réduire les taille de la surface. (Les autres paramètres affectent aussi énormément la taille, mais ce paramètre n'a pas d'autres effets)P2 : Bourrelet. Augmenter ceci accroît les bourrelets qui apparaissent entre les pointes. Mettez-le à 1 pour aucun bourreletP3 : Seuil. Mettre ce paramètre à 1 et le seuil à 0 a exactement le même effet que le fait de mettre ce paramètre à zéro et le seuil à -1f_folium_surface(x,y,z, P0, P1, P2). Une 'surface foliaire' ressemble à quelque chose comme un paraboloïde collé à un plan.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Facteur de largeur du col - plus vous le faites large, plus le col sera étroit là où le paraboloïde rencontre le planP2 : Divergence - plus cette valeur est haute, plus vaste est le paraboloïdef_folium_surface_2d(x,y,z, P0, P1, P2, P3, P4, P5). La courbe f_folium_surface_2d peut être tournée autour de l'axe x pour générer la même surface 3D que f_folium_surface, ou elle peut être extrudée dans la direction z (en désactivant le commutateur SOR)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Facteur de largeur du col - comme pour la surface 3D si vous faites une rotation autour de l'axe yP2 : Divergence - comme pour la surface 3D si vous faites une rotation autour de l'axe yP3 : SOR SwitchP4 : SOR OffsetP5 : SOR Anglef_glob(x,y,z, P0). Une partie de cette surface s'échappe à l'infini si elle n'est pas contrainte par une forme conteneur.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_heart(x,y,z, P0)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_helical_torus(x,y,z, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9). Avec certaines séries de paramètres, cela ressemble à un tore avec une enroulement hélicoïdal autour. L'enroulement peut avoir optionnellement des sillons sur son bord.
P0 : Rayon majeurP1 : Nombre de tour de l'enroulementP2 : Torsion de l'enroulement. A zéro, chaque enroulement est séparé. A un, chaque tour s'entortille dans l'autre. A deux, chaque tour s'entortille avec celui qui suit le voisinP3 : Epaisseur de l'enroulement ?P4 : Seuil. Mettre ce paramètre à 1 et le seuil à 0 a exactement le même effet que le fait de mettre ce paramètre à zéro et le seuil à -1P5 : Inverse du rayon mineur ? La réduction de ce paramètre accroît le rayon mineur du tore central. Son augmentation peut faire disparaître le tore et le remplacer par une colonne verticale. La valeur à laquelle la surface passe d'une forme à l'autre dépend de plusieurs autres paramètresP6 : Un autre contrôle de l'épaisseur de l'enroulement ?P7 : Période du sillon. Augmentez-le pour plus de sillonsP8 : Amplitude du sillon. Augmentez-le pour creuser les sillonsP9 : Phase du sillon. Placez-le à zéro pour des sillons symétriquesf_helix1(x,y,z, P0, P1, P2, P3, P4, P5, P6)
P0 : Nombre d'hélices - p.e. 2 pour une double héliceP1 : Période - est en relation au nombre de tours par unité de tempsP2 : Rayon mineur (rayon majeur > rayon mineur)P3 : Rayon majeurP4 : Paramètre de forme. Si c'est plus grand que 1, alors le tube s'épaissit dans la direction yP5 : Type de croisementP6 : Angle de rotation de l'intersection (degrés)f_helix2(x,y,z, P0, P1, P2, P3, P4, P5, P6). Nécessite une fonction négative
P0 : Pas utiliséP1 : Période - est en relation au nombre de tours par unité de tempsP2 : Rayon mineur (rayon majeur > rayon mineur)P3 : Rayon majeurP4 : Pas utiliséP5 : Type de croisementP6 : Angle de rotation de l'intersection (degrés)f_hex_x(x,y,z, P0). Cela crée une grille de cylindres allongés le long de l'axe z. L'épaisseur est contrôlée par la valeur seuil. Quand cette valeur est égale à 0.8660254 ou cos(30), les côtés se touchent, parce que c'est la distance entre les centres. Rendre la fonction négative inversera la surface et créera une structure en nid d'abeille. Cette fonction est aussi utile comme fonction de pigment.
P0 : Aucun effet (mais la syntaxe requiert au moins un paramètre)f_hex_y(x,y,z, P0). Cette fonction forme un treillage de boîtes infines couchées le long de l'axe z. L'épaisseur est contrôlée par la valeur du seuil. C'est boîtes sont pivotées de 60 degrés autour des centres, qui sont à 0.8660254 ou cos(30) les uns des autres. Cette fonction est aussi utile comme fonction de pigment.
P0 : Aucun effet (mais la syntaxe requiert au moins un paramètre)f_hetero_mf(x,y,z, P0, P1, P2, P3, P4, P5). f_hetero_mf (x,0,z) fais des champs de niveaux multifractals et des modèles de bruit '1/f'.height_field {} d'une image (un certain nombre de programmes de champs de niveaux ont des images de type multifractal en sortie) est que le domaine de la fonction s'étend arbitrairement dans les directions x et z, aussi de vastes paysages peuvent être faits sans perte de la résolution à cause de l'étirement d'un champ de niveaux. D'autres fonctions intéressantes sont f_ridged_mf et f_ridge.
P0 : H est la forme négative de l'exposant de la fréquence de base du bruit utilisé pour construire ces fonctions (chaque amplitude de la fréquence f est renforcée par le facteur fE- H ). Dans les paysages, et dans beaucoup d'autres formes naturelles, la contribution de l'amplitude des hautes fréquences est plus faible que celle des basses fréquences.P1 : La 'lacunarité' est le multiplicateur utilisé pour passer d'un octave à l'autre. Ce paramètre affecte la taille des intervalles de fréquence dans le modèle. Faites-le plus grand que 1.0P2 : 'Octave' est le nombre de différentes fréquences ajoutées à la fractale. Chaque fréquence 'Octave' est la précédente multipliée par 'Lacunarité', donc l'utilisation d'un grand nombre d'octaves peut amener très rapidement aux hautes fréquences.P3 : 'Offset' est 'l'atitude de base' (niveau de la mer) utilisée pour un dimensionnement hétérogèneP4 : T dimensionne 'l'hétérogeneité' de la fractale. T = 0 donne 'straight 1/f' (pas de dimension hétérogène). T = 1 supprime les hautes fréquences aux basses altitudesP5 : Type de générateur utilisé pour générer le bruit 3d. 0, 1, 2 et 3 sont des valeurs légales.f_hunt_surface(x,y,z, P0)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_hyperbolic_torus(x,y,z, P0, P1, P2)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Rayon majeur : séparation entre les centres des tubes au point le plus procheP2 : Rayon mineur : épaisseur des tubes au point le plus prochef_isect_ellipsoids(x,y,z, P0, P1, P2, P3). Cette surface 'ellipsoïde isect' est comme l'intersection de trois ellipsoïdes, chacun orienté selon un axe.
P0 : Excentricité. Quand plus petit que 1, les ellipsoïdes sont oblongs, quand plus grand que 1, les ellipsoïdes sont allongés, à zéro, ils sont sphériques (et de là, la totalité de la surface est une sphère)P1 : Inversion de la taille. Augmentez ceci pour réduire la taille de la surfaceP2 : Diamètre. Augmentez ceci pour augmenter la taille des ellipsoïdesP3 : Seuil. Mettre ce paramètre à 1 et le seuil à zéro a exactement le même effet que mettre ce paramètre à zéro et le seuil à -1f_kampyle_of_eudoxus(x,y,z, P0, P1, P2). Le 'kampyle of eudoxus' est comme deux plans infinis avec une faussette au centre.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Fossette : A zéro, les deux fossettes sont franches et se rencontrent au centre. Des valeurs différentes de zéro donnent moins de fossetteP2 : Rapprochement : De grandes valeurs rendent les plans plus prochesf_kampyle_of_eudoxus_2d(x,y,z, P0, P1, P2, P3, P4, P5) La courbe 2D qui génère cette surface peut être extrudée dans la direction z ou mise en rotation selon divers axes en utilisant les paramètres SOR.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Fossette : A zéro, les deux fossettes sont franches et se rencontrent au centre. Des valeurs différentes de zéro donnent moins de fossetteP2 : Rapprochement : De grandes valeurs rendent les plans plus prochesP3 : SOR SwitchP4 : SOR OffsetP5 : SOR Anglef_klein_bottle(x,y,z, P0)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_kummer_surface_v1(x,y,z, P0). La surface de Kummer consiste en une collection de tiges disposées en rayons.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_kummer_surface_v2(x,y,z, P0, P1, P2, P3). La version 2 de la surface de Kummer ressemble seulement à des tiges en rayon quand les paramètres sont placés sur des valeurs négatives particulières. Pour les valeurs positives, elle tend à ressembler à un superellipsoïde.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Epaisseur de tige (négative) : Mettre de grandes valeurs négatives augmente le diamètrte des tigesP2 : Divergence (négative) : Mettre ce nombre à -1 rend la tige à peu près cylindrique. De grandes valeurs négatives rendent les tiges plus grosses en s'éloignant de l'origine. De petits nombres négatifs rendent les tiges plus étroites en s'éloignant de l'origine, et leur donne une longueur finieP3 : Influence la longueur de la moitié des tiges. le changement du signe affecte l'autre moitié des tiges, tandis que 0 n'a aucun effetf_lemniscate_of_gerono(x,y,z, P0). La surface "Lemniscate de Gerono" est une forme de sablier. Deux larmes connectées par leurs bouts.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_lemniscate_of_gerono_2d(x,y,z, P0, P1, P2, P3, P4, P5). Cette version 2D du Lemniscate peut être extrudée dans la direction z, ou utilisée comme surface de révolution pour générer l'équivalence de la version 3D, ou pivotée de différentes façons.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Taille : augmenter ceci rend la courbe 2D plus grande et moins arrondieP2 : Epaisseur : l'augmentation de ceci épaissit la courbe 2DP3 : SOR SwitchP4 : SOR OffsetP5 : SOR Anglef_mesh1(x,y,z, P0, P1, P2, P3, P4) L'épaisseur globale des fils est contrôlée par le seuil de l'isosurface, pas par un paramètre. Si vous rendez un mesh1 avec aucun seuil, l'épaisseur des fils est nulle et ils sont invisibles. Les paramètres P2 et P4 contrôlent la forme du fil en relation avec ce paramètre de seuil.
P0 : Distance entre des fils voisins dans la direction xP1 : Distance entre des fils voisins dans la direction zP2 : Epaisseur relative dans les directions x et zP3 : Amplitude de l'effet d'onde. Mettez zéro pour un maillage platP4 : Epaisseur relative dans la direction yf_mitre(x,y,z, P0). La surface 'Mitre' ressemble à un ellipsoïde pincé à chaque extrémité.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_nodal_cubic(x,y,z, P0). Le 'Nodal Cubic' est quelque chose comme ce que vous avez en extrudant la courbe Stophid2D le long de l'axe x puis en la penchant.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_noise3d(x,y,z)
f_noise_generator(x,y,z, P0)
P0 : numéro du générateur de bruitf_odd(x,y,z, P0)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_ovals_of_cassini(x,y,z, P0, P1, P2, P3). Les ovales de Cassini sont une généralisation des formes de tores.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Rayon majeur - comme celui d'un toreP2 : Remplissage. En le mettant à zéro, vous avez un tore. En donnant une valeur plus élevée, le trou central commence à se remplir. Avec une plus grande valeur, vous avez un ellipsoïde avec une fossetteP3 : Epaisseur. Plus cette valeur est grande, plus le résultat est jouffluf_paraboloid(x,y,z, P0). Ce paraboloïde est la surface de révolution que vous obtenez si vous faites pivoter une parabole autour de l'axe y.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_parabolic_torus(x,y,z, P0, P1, P2)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Rayon majeurP2 : Rayon mineurf_ph(x,y,z) = atan2( sqrt( x*x + z*z ), y )f_th et f_r
f_pillow(x,y,z, P0)
P0 : Force du champf_piriform(x,y,z, P0). La surface piriforme ressemble à un demi lemniscate.
P0 : Force du champf_piriform_2d(x,y,z, P0, P1, P2, P3, P4, P5, P6). La version 2D de "Piriform" peut être extrudée dans la direction z, ou utilisée comme surface de révolution pour générer l'équivalent de la version 3D.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Facteur de taille 1: son augmentation agrandit la courbeP2 : Facteur de taille 2: en le rendant moins négative, la courbe est plus large mais aussi plus fineP3 : Epaisseur : son augmentation épaissit la courbeP4 : SOR SwitchP5 : SOR OffsetP6 : SOR Anglef_poly4(x,y,z, P0, P1, P2, P3, P4). Ce f_poly4 peut être utilisé pour générer une surface de révolution de tout polynôme jusqu'au quatrième degré.P0 : ConstanteP1 : Coefficient Y1P2 : Coefficient Y2P3 : Coefficient Y3P4 : Coefficient Y4f_polytubes(x,y,z, P0, P1, P2, P3, P4, P5). La surface 'Polytubes' consiste en un certain nombre de tubes. Chaque tube suit une courbe 2D qui est spécifiée par un plynôme de quatrième degré ou moins. Si vous regardez les paramètres, cette fonction génère "P0" tubes qui suivent tous l'équation " x = P1 + P2y + P3y2 + P4y3 + P5y4 " autour de l'axe y.P0 : Nombre de tubesP1 : ConstanteP2 : Coefficient YP3 : Coefficient Y2P4 : Coefficient Y3P5 : Coefficient Y4f_quantum(x,y,z, P0). Cela ressemble à la forme du nuage de densité d'un électron de l'orbite d.
P0 : Pas utilisé, mais requisf_quartic_paraboloid(x,y,z, P0). Le 'Quartic Paraboloid' est similaire au paraboloïde, mais il a une forme cubique.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_quartic_saddle(x,y,z, P0). Le 'Quartic saddle' est similaire à une selle, mais il a une forme cubique.
P0 : Force du champf_quartic_cylinder(x,y,z, P0, P1, P2). Le 'Quartic cylinder' ressemble un peu à un cylindre qui a avalé un oeuf.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Diamètre de "l'oeuf"P2 : Contrôle l'épaisseur du tube et la dimension verticale de "l'oeuf"f_r(x,y,z) = sqrt( x*x + y*y + z*z )f_ph et f_th
f_ridge(x,y,z, P0, P1, P2, P3, P4, P5). Cette fonction est principalement dédiée pour modifier d'autres surfaces comme lorsque vous utilisez un champ de niveaux ou une fonction pigment. Les autres fonctions d'intérêt sont f_hetero_mf et f_ridged_mf.
P0 : LambdaP1 : OctavesP2 : OmegaP3 : OffsetP4 : RidgeP5 : Type de générateur utilisé pour générer le bruit 3D. 0, 1, 2 et 3 sont des valeurs légales.f_ridged_mf(x,y,z, P0, P1, P2, P3, P4, P5). La surface "Ridged Multifractal" peut être utilisée pour créer des champs de niveaux multifractals et des modèles. 'Multifractal' fait référence à leur caractéristique d'avoir une dimension fractale qui varie avec l'altitude. Elles sont construites par la somme de bruits de plusieurs fréquences. Les paramètres f_ridged_mf déterminent combien, et quelles fréquences doivent être additionnées, et le poids de chacune de ces fréquences dans la somme.height_field{} depuis une image est que le domaine de la fonction ridged_mf s'étend arbitrairement dans les directions x et z, aussi de gigantesques paysages peuvent être faits sans perdre la résolution ou avoir à étirer un champ de niveaux. D'autres fonctions intéressantes sont f_hetero_mf et f_ridge.
P0 : H est le négatif de l'exposant des fréquences de bruit de base utilisées dans la construction de ces fonctions (chaque amplitude de fréquence de f est augmentée d'un facteur fE- H ). Quand H est 1, la fractalisation est relativement douce. A mesure que H s'approche de 0, les fréquences élevées contribuent également avec les fréquences bassesP1 : 'Lacunarity' est le multiplicateur utilisé pour aller d'un "octave" à un autre dans la "fractalisation".P2 : Octaves est le nombre de différentes fréquences ajoutées à la fractale. Chaque fréquence d'octave est la précédente multipliée par "Lacunarity". Aussi, l'utilisation d'un grand nombre d'octaves peut donner très rapidement de très hautes fréquencesP3 : Offset donne une fractale dont la dimension fractale change selon l'altitude. Les hautes fréquences aux basses altitudes sont plus atténuées qu'aux hautes altitudes, donnant ainsi des altitudes basses plus douces que les zones élevéesP4 : Augmente les contributions successives au résultat des fractales accumulées donnant une croissance en pointeP5 : Le type de générateur utilisé pour générer le bruit 3D. 0, 1, 2 et 3 sont des valeurs légales.f_rounded_box(x,y,z, P0, P1, P2, P3). La boîte arrondie est définie dans un cube de <-1,-1,-1> à <1, 1, 1>. En changeant le paramètre scale, la taille peut être ajustée, sans affecter le rayon de la courbure.
P0 : Rayon de la courbure. Zéro donne des coins carrés, 0.1 donne des coins qui se rapprochent de sphere {0, 0.1}P1 : Dimension xP2 : Dimension yP3 : Dimension zf_sphere(x,y,z, P0)
P0: rayon de la sphèref_spikes(x,y,z, P0, P1, P2, P3, P4)
P0 : Apparence piquante. Mettez ceci à de très petites valeurs pour augmenter les pics. A 1 vous avez une sphèreP1 : Apparence creuse. L'augmentation de ceci cause une inflexion des bordsP2 : Taille. Son augmentation accroît la taille de l'objetP3 : Apparence ronde. Ce paramètre a un effet subtil sur la rondeur des pointesP4 : Epaisseur. Son augmentation accroît l'épaisseur des picsf_spikes_2d(x,y,z, P0, P1, P2, P3) = fonction 2D : f = f( x, z ) - y
P0 : Hauteur de la pointe centraleP1 : Fréquence des pointes dans la direction xP2 : Fréquence des pointes dans la direction zP3 : Vitesse à laquelle les pics sont réduits tandis que vous vous éloignez du centref_spiral(x,y,z, P0, P1, P2, P3, P4, P5)
P0 : Distance entre les brasP1 : EpaisseurP2 : Diamètre externe de la spirale. La surface réagit comme si elle était contenue dans une sphère de ce diamètreP3 : Pas utiliséP4 : Pas utiliséP5 : Type de croisementf_steiners_roman(x,y,z, P0). Le "Steiners Roman" est composé de quatre triangles identiques faisant ensembles une sorte de tetrahedron arrondi. Ils croissent le long des axes x, y et z lorsqu'ils se rencontrent.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_strophoid(x,y,z, P0, P1, P2, P3). Le "Strophoid" est comme un plan infini avec un bulbe en jaillissant.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Taille du bulbe. De plus grandes valeurs donnent de plus grands bulbes. Des valeurs négatives donnent un bulbe de l'autre côté du planP2 : Acuité. A zéro, le bulbe est comme une sphère qui touche le plan. Lorsqu'elle est positive, il y a un croisement. Lorsqu'elle est négative, le bulbe apparaît comme un simple renflementP3 : Absence de relief. De hautes valeurs grossissent le haut du bulbef_strophoid_2d(x,y,z, P0, P1, P2, P3, P4, P5, P6). La courbe strophoïde de second degré peut être extrudée dans la direction z ou pivotée selon divers axes en utilisant les paramètres SOR.
P0 : Force du champP1 : Taille du bulbe. De grandes valeurs donnent de plus grands bulbes. Des valeurs négatives donnent un bulbe de l'autre côté du planP2 : Acuité. A zéro, le bulbe est comme une sphère qui touche le plan. Quand c'est positif, il y a un point de recoupement. Quand c'est négatif, le bulbe apparaît comme un simple renflementP3 : Corpulence. De hautes valeurs rendent le haut du bulbe plus grosP4 : SOR SwitchP5 : SOR OffsetP6 : SOR Anglef_superellipsoid(x,y,z, P0, P1). Demande une force de champ négative ou une fonction négative.
P0 : exposant est-ouestP1 : exposant nord-sudf_th(x,y,z) = atan2( x, z )
f_th() est une fonction qui n'est utile que combinée avec d'autres surfaces.f_ph et f_r.
f_torus(x,y,z, P0, P1)
P0 : Rayon majeurP1 : Rayon mineurf_torus2(x,y,z, P0, P1, P2). Cela est différent de la fonction f_torus qui n'a que les rayons mineurs et majeurs comme paramètres.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Rayon majeurP2 : Rayon mineurf_torus_gumdrop(x,y,z, P0). La surface "Torus Gumdrop" est quelque chose comme un tore avec un couple de bulles de gomme tenues par le bout.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_umbrella(x,y,z, P0)
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)f_witch_of_agnesi(x,y,z, P0, P1, P2, P3, P4, P5). La surface "Witch of Agnesi" ressemble à un chapeau de sorcière.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Contrôle la largeur de la pointe. La hauteur est toujours de une unitéf_witch_of_agnesi_2d(x,y,z, P0, P1, P2, P3, P4, P5). La seconde version de la courbe "Witch of Agnesi" peut être extrudée dans la direction z ou pivotée selon divers axes avec l'utilisation de paramètres SOR.
P0 : Force du champ (Demande une force de champ négative ou une fonction négative)P1 : Contrôle la taille de la pointeP2 : Contrôle la hauteur de la pointeP3 : SOR SwitchP4 : SOR OffsetP5 : SOR Angleeval_pigment(Pigm, Vect). Cette macro évalue la couleur du pigment en un point spécifique. Quelques pigments demandent plus d'information qu'un simple point, les pigments basés sur un motif d'inclinaisons par exemple, et ne fonctionneront pas avec cette macro. Toutefois, la plupart des pigments fonctionneront.
Paramètres:
Vect = Le point où on évalue le pigment.Pigm = Le pigment à évaluer.f_snoise3d(x, y, z). Tout comme f_noise3d(), mais cela retourne des valeurs dans la fourchette [-1, 1].
f_sine_wave(val, amplitude, frequency). Transforme une onde triangulaire en onde sinusoïdale.
f_scallop_wave(val, amplitude, frequency). Transforme une onde triangulaire en onde scallop_wave.
Les fonctions de modèles prédéfinies sont utiles dans la construction de modèles de fonction personnalisés ou pour effectuer des déplacements d'application sur les isosurfaces. La plupart d'entre elles ne sont pas réellement pratiques pour de tels objectifs, elles sont simplement inclues comme complément.
Certaines ne sont pas du tout intégrées car elles nécessitent des paramètres spéciaux qui doivent être spécifiés dans leur définition, ou des informations qui ne sont pas disponibles pour les fonctions de modèle. Pour cette raison, vous voudrez probablement définir vos propres versions de ces fonctions.
Toutes ces fonctions prennent trois paramètres, les coordonnées XYZ du point où évaluer le modèle.
f_agate(x, y, z)f_boxed(x, y, z)f_bozo(x, y, z)f_brick(x, y, z)f_bumps(x, y, z)f_checker(x, y, z)f_crackle(x, y, z)f_cylindrical(x, y, z)f_dents(x, y, z)f_gradientX(x, y, z)f_gradientY(x, y, z)f_gradientZ(x, y, z)f_granite(x, y, z)f_hexagon(x, y, z)f_leopard(x, y, z)f_mandel(x, y, z)>mandel de base est intégré, ses variants et les autres modèles de fractale ne sont pas intégrés.f_marble(x, y, z)f_onion(x, y, z)f_planar(x, y, z)f_radial(x, y, z)f_ripples(x, y, z)f_spherical(x, y, z)f_spiral1(x, y, z)f_spiral2(x, y, z)f_spotted(x, y, z)f_waves(x, y, z)f_wood(x, y, z)f_wrinkles(x, y, z)| 3.6.8 glass.inc, glass_old.inc |