des trucs et tout

This commit is contained in:
papush! 2019-12-04 14:35:44 +01:00
parent 2314495358
commit 05bc1da196
5 changed files with 37 additions and 26 deletions

BIN
Images/perlin_terrain.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -35,20 +35,24 @@ nœud de grille coïncide avec le vecteur de gradient aléatoire précalculé.
Voici une version C++ de l'implantation du bruit de Perlin à 2 dimensions: Voici une version C++ de l'implantation du bruit de Perlin à 2 dimensions:
\begin{lstlisting}[caption=Implantation du bruit de Perlin en C++, label=code:perlin] \begin{minted}{c++}
// Function to linearly interpolate between a0 and a1 // Function to linearly interpolate between a0 and a1
// Weight w should be in the range [0.0, 1.0] // Weight w should be in the range [0.0, 1.0]
float lerp(float a0, float a1, float w) { float lerp(float a0, float a1, float w) {
return (1.0 - w)*a0 + w*a1; return (1.0 - w)*a0 + w*a1;
// as an alternative, this slightly faster equivalent formula can be used: // as an alternative, this slightly faster equivalent
// formula can be used:
// return a0 + w*(a1 - a0); // return a0 + w*(a1 - a0);
} }
// Computes the dot product of the distance and gradient vectors. // Computes the dot product of the distance and gradient
float dotGridGradient(int ix, int iy, float x, float y) { // vectors.
float dotGridGradient(int ix, int iy,
float x, float y) {
// Precomputed (or otherwise) gradient vectors at each grid node // Precomputed (or otherwise) gradient vectors at each
// grid node
extern float Gradient[IYMAX][IXMAX][2]; extern float Gradient[IYMAX][IXMAX][2];
// Compute the distance vector // Compute the distance vector
@ -85,4 +89,4 @@ float perlin(float x, float y) {
return value; return value;
} }
\end{lstlisting} \end{minted}

View File

@ -24,16 +24,3 @@ terre craquelée… Cette utilisation est dautant plus pertinente car le
bruit de phase peut sans-problème être implémenté en tant que shader bruit de phase peut sans-problème être implémenté en tant que shader
de pixel pour sexécuter en tant réel à moindre coût, et même de pixel pour sexécuter en tant réel à moindre coût, et même
sadapter à déventuels changements de géométrie. sadapter à déventuels changements de géométrie.
Le bruit de phase peut également être utilisé dans le cadre de la
fabrication additive. Cest un procédé qui consiste à concevoir un
objet ou une pièce mécanique en déposant des couches de matériaux
succesives. Cela peut être du plastique fondu à laide dune tête
chauffante comme cest le cas dans les imprimantes 3D que lon peut
retrouver dans le commerce, mais aussi des métaux sous forme de poudre
qui est fondue à laide dun LASER.
Cela permet de produire des pièces difficiles à produire avec les
méthodes classiques dusinage en utilisant moins de matière premières
(pas de chutes). On peut également avoir un contrôle plus fin sur la
quantité et éventuellement le mélange de différents matériaux.

View File

@ -0,0 +1,18 @@
Le bruit de phase peut également être utilisé dans le cadre de la
fabrication additive. Cest un procédé qui consiste à concevoir un
objet ou une pièce mécanique en déposant des couches de matériaux
succesives. Cela peut être du plastique fondu à laide dune tête
chauffante comme cest le cas dans les imprimantes 3D que lon peut
retrouver dans le commerce, mais aussi des métaux sous forme de poudre
qui est fondue à laide dun LASER.
Cela permet de produire des pièces difficiles à produire avec les
méthodes classiques dusinage par exemple, en utilisant moins de
matière première (pas de chutes). On peut également avoir un contrôle
plus fin sur la quantité et éventuellement le mélange de différents
matériaux.
Dans ce contexte, le bruit de phase peut servir à produire des motifs
à fin de construire des pièces flexibles mais résistantes, voire même
de contrôler les degrés de liberté (les manières dont on peut tordre
lobjet).

View File

@ -1,16 +1,18 @@
\documentclass[a4paper,12pt]{article} \documentclass[a4paper,12pt]{article}
%\documentclass[a4paper,10pt]{scrartcl}
\usepackage{mathspec}
\setmainfont{Inria Sans}[Scale=MatchLowercase]
\setsansfont{Inria Sans}[Scale=MatchLowercase]
\setmathfont(Digits,Latin,Greek,Symbols)[Scale=MatchLowercase]{Inria Serif}
\setmathrm[Scale=MatchLowercase]{Inria Sans}
\usepackage{mathastext}
\usepackage{xltxtra} \usepackage{xltxtra}
\usepackage{fontspec} %% \usepackage{fontspec}
\usepackage[french]{babel} \usepackage[french]{babel}
\usepackage{listings} \usepackage{listings}
% \usepackage{float} \usepackage{minted}
% \usepackage[subsection]{placeins}
%\setromanfont[Mapping=tex-text]{Linux Libertine O}
\setmainfont[Mapping=tex-text]{Cantarell}
% \setmonofont[Mapping=tex-text]{DejaVu Sans Mono}
\newenvironment{citationFR}{\begin{quotation}\og}{\fg\end{quotation}} \newenvironment{citationFR}{\begin{quotation}\og}{\fg\end{quotation}}
\newcommand{\guillemets}[1]{\og #1\fg{}} % [1]: nbr arg \newcommand{\guillemets}[1]{\og #1\fg{}} % [1]: nbr arg