Outils pour utilisateurs

Outils du site


issue93:inkscape

Table des matières

1

To conclude our foray into the world of clones, I'm going to spend a few articles describing Inkscape's “Create Tiled Clones…” dialog (which I'll refer to as just the Tiled Clones dialog from here on). This is arguably one of the most powerful, and most confusing, dialogs in the whole application, so take a few moments to prepare yourself before we dive in. You've already seen the easy way to create a clone: select the parent object and press ALT-D (or use Edit > Clone > Create Clone). If you want a second clone from the same parent, you can either repeat that process, or duplicate the first clone (using CTRL-D this time). Do you want a handful of clones? Drag the first one round the screen, stamping copies by hitting the spacebar from time to time. But what if you want a hundred clones? Or a thousand? And what if you want them precisely positioned? Or you want each clone to be rotated or scaled a little? The Tiled Clones dialog can do all this, plus a lot more. We'll start by creating an object to use as the parent for our clones. To keep things simple for the time being, I'll use just a coloured square with rounded corners, but the parent can be almost any individual object or a group. 3D boxes, however, don't work with the Tiled Clones dialog – though you can convert them into a group of simple paths first to get the same effect, if you don't mind losing the ability to edit the parent as a 3D box. With a parent object created and selected, open the Tiled Clones dialog via the Edit > Clone > Create Tiled Clones… menu entry.

Pour conclure notre incursion dans le monde des clones, je vais utiliser quelques articles pour décrire le dialogue « Créer un pavage avec des clones… » (que je vais appeler désormais le dialogue Clones en pavage). C'est sans doute l'un des plus puissants - et des plus déroutants - dialogues dans toute l'application ; prenez donc quelques instants pour vous préparer avant que nous nous lancions.

Vous avez déjà vu comment créer un clone facilement : sélectionnez l'objet parent et appuyez sur ALT-D (ou utilisez Édition > Cloner > Créer un clone). Si vous voulez un deuxième clone du même parent, vous pouvez soit répéter le procédé, soit dupliquer le premier clone (avec CTRL-D, cette fois-ci). Voulez-vous une poignée de clones ? Faites glisser le premier autour de l'écran, en tamponnant des copies de temps en temps par un appui sur la barre d'espace. Mais quid si vous voulez une centaine de clones ? Ou un millier ? Et quid si vous voulez les placer de façon précise ? Ou voulez-vous que chaque clone soit tourné ou redimensionné un peu ? Le dialogue des Clones en pavage peut faire tout cela et beaucoup plus encore.

Nous allons commencer par créer un objet qui sera le parent de nos clones. Pour que les choses restent simples pour le moment, je vais utiliser un carré coloré, avec des coins arrondis, tout simple, mais le parent peut être presque n'importe quel objet individuel ou un groupe. Cependant, les boîtes en 3D ne fonctionnent pas avec le dialogue des Clones en pavage, bien qu'il soit possible de les convertir d'abord en un groupe de chemins simples pour obtenir le même effet, si perdre la capacité d'éditer le parent comme une boîte en 3D ne vous gêne pas. Un objet parent étant créé et sélectionné, ouvrez le dialogue de Clones en pavage avec Édition > Clone > Créer un pavage avec des clones…

2

Initially the dialog doesn't look too complex, but if you step through the tabs, you'll quickly see that there are a lot of fields and controls hidden away. The first tab, Symmetry, has only a single pop-up menu, but even that contains 17 different options. For now, we'll just stick with the first one: “P1: simple translation”. This will let us create simple rectangular arrays of clones, and is the easiest to understand when first getting to grips with this dialog. Beneath the tab panels are some global options to define the number of clones you want to create, or the area you want them to cover. Note that I said “cover” rather than “fill”. Think about tiling a bathroom wall: you need enough tiles to cover the wall, even if it means some overhang, and the need to cut some to size around the edges. Similarly, Inkscape will create enough tiles to cover the specified area (defined in terms of width and height), leaving you to optionally clip them yourself if they overhang. The “Use saved size and position of the tile” option should be left unchecked for now – we'll take a look at that in a later article.

Au départ, le dialogue ne semble pas trop compliqué, mais si vous parcourez les onglets, vous verrez tout de suite qu'il y a beaucoup de champs et de contrôles cachés. Sous le premier onglet, Symétrie, un seul menu s'affiche, mais il propose 17 options différentes. Pour le moment, nous allons nous cantonner à la première : « P1 : translation ». Celle-ci nous permettra de créer des grilles rectangulaires simples de clones ; c'est la plus facile à comprendre quand vous commencez à essayer de dompter ce dialogue.

Sous le panneau des onglets, il y a quelques options globales pour définir le nombre de clones que vous voulez créer ou la zone qu'ils devront couvrir. Remarquez que j'ai dit « couvrir » et non pas « remplir ». Pensez à la pose de carreaux sur un mur de votre salle de bains : vous avez besoin d'assez de carreaux pour couvrir le mur, même s'il y aura un peu de chevauchement, et vous devrez en découper sur mesure autour des bords. De la même façon, Inkscape créera assez de carreaux pour couvrir la zone spécifiée (définie en termes de hauteur et de largeur), et vous laissera la possibilité d'en couper vous-même, s'il y a du chevauchement. L'option « Utiliser les dimensions et position enregistrées du pavage » devra être décoché à ce stade ; nous l'examinerons dans un article ultérieur.

3

To create some tiles, first press the Reset button. This will put the values in all of the tabs back to sensible defaults, so is usually a good starting point. Now enter some values into the “Rows, columns” fields. I'm going to start with a 3×4 array of clones. Finally, with your parent object selected, click the Create button. There are a few things to observe about the array of clones that has been created. First, notice that your parent object remains selected once the clones are created. This makes it easy to click the Remove button in the dialog to delete all of the clones at once if you're not happy with the result. Be aware that the first clone is placed directly on top of the parent object. If you change the focus and then need to re-select the parent, clicking in the top left corner will actually select the clone. The easy answer is just to select any of the clones, then press SHIFT-D or use Edit > Clone > Select Original. Take a look at the positions of the clones. After resetting the parameters in the dialog, the default behaviour is to create the clones in such a way that they all butt up against one another. When selecting objects in Inkscape, the dashed line that acts as a selection cue is referred to as the “Bounding Box”. The dimensions of this box form the basis for positioning the clones. The first column is moved to the right by 100% of the bounding box width. The second column is moved by 200%, and so on. The rows follow identical rules based on the bounding box height instead. This may sound like a slightly abstract way to describe the positioning of the clones, but the Shift and Scale tabs in the dialog use “percentage of bounding box width/height” as their units of measurement, so it's easiest to think in those terms.

Pour créer quelques carreaux, il faut d'abord appuyer sur le bouton « R-à-z » (Remise à zéro). Ainsi, les valeurs dans tous les onglets sont remises à des défauts logiques, ce qui en fait un bon point de départ. Maintenant, entrez quelques valeurs dans les champs « Lignes, colonnes ». Je vais commencer avec une grille de 3×4 clones. Enfin, l'objet parent étant sélectionné, cliquez sur le bouton Créer.

Observez la grille de clones que vous venez de créer et vous verrez certaines choses. D'abord, remarquez que l'objet parent reste sélectionné une fois les clones créés. Ainsi, c'est très facile de cliquer sur le bouton Supprimer dans le dialogue pour supprimer tous les clones à la fois si le résultat ne vous plaît pas. Sachez que le premier clone se trouve directement au-dessus de l'objet parent. Si vous changez de point focal et avez alors besoin de re-sélectionner le parent, un clic dans le coin en haut à gauche sélectionnera en fait le clone. La solution simple est de sélectionner n'importe lequel des clones, puis d'appuyer sur MAJ-D ou utiliser Édition > Cloner > Sélectionner l'original.

Regardez la position des clones. Après avoir mis les valeurs à zéro dans le dialogue, le comportement par défaut est de créer les clones de façon à ce qu'ils soient les uns contre les autres. Quand vous sélectionnez des objets dans Inkscape, la ligne en pointillés qui agit comme un indicateur de sélection s'appelle une « Boîte ». Les clones sont positionnés selon les dimensions de cette boîte. La première colonne est bougée vers la droite avec 100 % de la largeur du rectangle de délimitation. La deuxième colonne est bougée avec 200 % et ainsi de suite. Les lignes suivent des règles identiques, mais basées sur la hauteur de la boîte. Cette façon de décrire le positionnement des clones peut sembler quelque peu abstraite, mais les onglets Translation et Dimension utilisent comme unités de mesure « pourcentage de la largeur/hauteur de la boîte » et c'est ainsi plus facile si vous pensez dans ces termes-là.

4

To further confuse matters, Inkscape has two different types of bounding box: the visual bounding box, which includes any stroke that is applied to your object; and the geometric bounding box, which is based purely on the core object – regardless of its stroke. You can choose which one Inkscape uses for selections in the Tools pane of the File > Inkscape Preferences… dialog. The difference between them is clear when an object with a very thick stroke is selected. According to the documentation, Inkscape always uses the geometric bounding box when creating tiled clones. This doesn't tally with my own experience of Inkscape 0.48 on Linux Mint 17. I've found that switching the preferences between visual and geometric bounding boxes does have an effect on the tiling. Even more confusingly, the behaviour seems to be the opposite of what you might expect. Look at the same thick-stroked rectangle above when it's tiled using each of the two preferences. From now on, I'll mostly stick to using shapes with no stroke to demonstrate tiled clones, so this discrepancy won't be an issue. But do bear it in mind if you're trying to tile objects with strokes and the clones aren't appearing in the positions you expect.

Pour obscurcir les choses davantage, Inkscape a deux types différents de boîtes : la boîte englobante visuelle, qui comprend tout contour appliqué à votre objet et la boîte englobante géométrique, basée seulement sur l'objet central, indépendamment de son contour. Vous pouvez choisir laquelle Inkscape utilise pour les sélections en cliquant sur Outils [Ndt : sans l'ouvrir] dans le dialogue Fichier > Préférences d'Inkscape… La différence entre les deux devient claire quand un objet avec un contour très épais est sélectionné.

D'après la documentation, Inkscape utilise toujours la boîte englobante géométrique lors de la création de clones en pavage. Cela ne correspond pas à ma propre expérience avec Inkscape 0.48 sous Linux Mint 17. Je trouve que basculer les préférences entre les boîtes englobantes visuelle et géométrique a bel et bien un effet sur le pavage. Encore plus incohérent, le comportement semble être le contraire de celui auquel vous pourriez vous attendre. Regardez, ci-dessus, le même rectangle avec un contour épais quand c'est mis en pavage avec chacune des deux préférences.

À partir d'ici, je vais, pour la plupart, utiliser des formes sans contour, pour démontrer des clones en pavage, et cette anomalie ne causera pas de problème. Mais il faut la garder à l'esprit si vous essayez de faire des pavages d'objets ayant un contour car les clones n'apparaissent pas là où vous l'auriez pensé.

5

The default arrangement of a tightly packed array may be fine if you just want to use this dialog as a quick way to make a large number of clones. But the real power comes from the myriad ways in which those clones can be positioned and transformed. Let's start by loosening up the array of clones a little by using the Shift tab. The key to understanding this tab is that the controls are arranged in three columns. The controls in the first column affect how much each row of clones will be shifted around. The controls in the second column affect how much each column of clones will be shifted around. The third column applies to every clone, and is used to add a random amount of shift in the x and y directions. A simple example to begin with: maintaining the rectangular array whilst adding a little space between the clones. The first thing we want to do is add some space between each column, so we'll put a positive value in the top-middle control. This field alters the x-position (it's in the Shift X row of controls) for each column of clones (it's in the middle column of controls). A value of 10 in here will add 10% of the bounding box width before it's added to the position of each column, so rather than being placed at 100%, 200%, 300%… they'll now be placed at 110%, 220%, 330%… – each subsequent position is increased by 110%, rather than the standard 100%.

Une grille d'objets extrêmement près l'un de l'autre par défaut peut vous convenir très bien si vous ne voulez utiliser ce dialogue que pour faire un grand nombre de clones rapidement. Mais la véritable puissance vient des mille façons dont ces clones peuvent être positionnés et transformés. Mais commençons par desserrer un peu la grille des clones avec l'onglet Translation.

Pour comprendre cet onglet, la clé c'est que les contrôles s'affichent dans trois colonnes. Les contrôles de la première colonne déterminent la quantité de translation de chaque ligne de clones. Les contrôles de la deuxième colonne déterminent la quantité de translation de chaque colonne de clones. Et la troisième colonne s'applique à tous les clones et ajoute une quantité aléatoire de translation dans les directions x et y.

Pour commencer, voici un exemple simple : on garde la grille rectangulaire tout en ajoutant un peu d'espace entre les clones. La première chose à faire est d'ajouter de l'espace entre chaque colonne et nous mettrons donc une valeur positive dans le contrôle du milieu en haut. Ce champ change la position x (c'est dans la ligne des contrôles de la Translation X) pour chaque colonne de clones (c'est dans la colonne du milieu). Une valeur de 10 ici ajoutera 10 % de la largeur de la boîte avant son ajout à la position de la colonne ; ainsi, au lieu d'être positionné à 100 %, 200 %, 300 %… ils sont placés à 110 %, 220 %, 330 %…, chaque position suivante est augmentée de 110 % au lieu du 100 % standard.

6

I've also put a value of 50 into the first control on the second line. This will add 50% of the bounding box height to the y-position (as it's in the Shift Y row of controls) to every row of clones (it's in the first column of controls). The rows will therefore be placed at 150%, 300%, 450%… The result is that we've loosened up the array, with more vertical space than horizontal. If you don't want your clones quite so rigorously positioned, simply put a positive number into one (or both) of the Randomise fields in the third column. The value you place in here will be used as an upper limit, so entering 20 into the Shift X control will allow the horizontal position of each clone to shift by up to 20% of the bounding box width. This is applied in addition to any other offsets, so you can still loosen up the whole array as before, then add a little randomness on top. Alternatively you could use the Tweak tool (see part 22), or click on the Unclump button at the bottom of the Tiled Clones dialog, which jostles the X and Y coordinates of each clone a little. The latter can sometimes be useful if you're trying to create a more “natural” look, by cloning a drawing of a leaf or snowflake. As well as a simple rectangular array, the shift tab can produce more interesting results. Do you need to draw a simple brick wall? Start with one brick, but put a 50% offset into the very first field. This will add 50% of the bounding box width to the x-position for each row of clones. This has the effect of causing each row to move to the right by half of the parent's width.

J'ai également mis une valeur de 50 dans le premier contrôle de la deuxième ligne pour ajouter 50 % de la hauteur de la boîte à la position y (puisque c'est dans la ligne des contrôles de Translation Y) à chaque ligne des clones (c'est dans la première colonne des contrôles) Les lignes seront donc positionnées à 150 %, 300 %, 450 %… Le résultat de tout cela est que nous avons desserré la grille, avec plus d'espace vertical qu'horizontal.

Si vous ne voulez pas un positionnement si rigoureux de vos clones, il suffit de mettre un nombre positif dans l'un des champs « Hasard » (ou dans les deux) de la troisième colonne. La valeur que vous mettez ici sera utilisée comme limite supérieure ; ainsi, si vous mettez 20 dans le contrôle Translation X, la position horizontale de chaque clone pourra changer de jusqu'à 20 % de la largeur de la boîte. Ceci s'ajoutant aux autres décalages, vous pouvez donc desserrer toute la grille comme nous l'avons fait précédemment, puis y rajouter un peu de hasard. Autrement, vous pourriez utiliser l'outil Tweak Tool (cf. la partie 22, dans le n° 82) ou appuyer sur le bouton Éparpiller en bas du dialogue des Clones en pavage : cela bousculera un peu les coordonnées X et Y de chaque clone. Ce dernier peut parfois être utile si vous essayez de créer une apparence plus « naturelle », en clonant le dessin d'une feuille ou d'un flocon de neige.

En plus d'une grille rectangulaire simple, l'onglet Translation peut produire des résultats plus intéressants. Vous avez besoin de dessiner un mur en briques ? Commencez avec une seule brique, mais entrez une valeur de 50 % dans le tout premier champ. Cela rajoutera 50 % de la largeur de la boîte à la position x de chaque ligne de clones, ce qui fait bouger chaque ligne vers la droite d'un espace égal à la moitié de la largeur du parent.

7

You can make this look even more wall-like by checking the Alternate control for the Per Row column. This causes the offsets in that column of controls to be applied first as a positive value, and then as a negative. So the rows first shift to the right by 50%, then back to the left by the same amount, then to the right again, and so on. Our wall is looking good, but wouldn't a little mortar help? You might be tempted to space the tiles out by putting 10% into some of the other fields. Whilst this will successfully spread them horizontally, any efforts to spread them vertically will fail because that Alternate setting will also alter the spacing you enter in the first column of the Shift Y row. Rather than adding a constant 10% spacing between rows, you'll actually be adding 10% then removing 10%, then adding it again, and so on. There are a few ways to solve this problem, all of which rely on simply adding to the size of the parent's bounding box so that there's no need to add extra padding when creating the clones. You could add a thick stroke and ensure that the geometric bounding box is in use. Create the clones with just the 50% value in the first box and the Alternate control checked and you should get some additional spacing based on the thickness of the stroke. Then just remove the stroke from the parent object, and all the clones will immediately be changed as well. A variation on this theme is to add some blur to your parent object. This affects the size of the visual bounding box, so, provided you have Inkscape's preferences set to use the geometric bounding box (remember, they work the wrong way round in this dialog), your clones will get some extra space around them. Then remove the blur from the parent.

Vous pouvez le faire ressembler davantage à un mur en cochant le contrôle Alterner de la colonne Par ligne. Cela fait que les décalages de cette colonne de contrôles sont appliqués d'abord avec une valeur positive, ensuite avec une valeur négative. Ainsi, les lignes bougent d'abord de 50 % vers la droite, puis de retour vers la gauche avec le même pourcentage, puis vers la droite à nouveau, et ainsi de suite.

Notre mur semble pas mal maintenant, mais un peu de mortier aiderait, non ? Vous pourriez être tenté d'espacer les clones en réglant quelques-uns des autres champs à 10 %. Mais, tandis qu'ils seront desserrés horizontalement, tous vos efforts pour les desserrer verticalement échoueront parce que le réglage Alterner changera aussi la valeur que vous mettez dans la première colonne de la ligne Translation Y. Au lieu d'ajouter constamment un espacement de 10 % entre les lignes, vous en ajouterez 10 %, puis enlèverez 10 %, puis le rajouterez, à nouveau, et ainsi de suite.

Il y a quelques solutions à ce problème, et toutes tournent autour de l'augmentation de la taille de la boîte de sélection du parent, afin qu'il n'y ait plus besoin d'ajouter du rembourrage en plus quand vous créez les clones. Vous pourriez ajouter un contour épais et vous assurer que la boîte géométrique soit sélectionnée. Si vous créez des clones avec la valeur de 50 % dans la première case, le contrôle Alterner étant coché, vous devriez avoir un peu d'espace supplémentaire basé sur l'épaisseur du contour. Il suffit alors d'enlever le contour du parent et tous les clones se modifieront immédiatement aussi.

Une variante de cette idée est d'ajouter un peu de flou à l'objet parent. Cela influe sur la taille de la boîte visuelle ; ainsi, si vous avez réglé les préférences d'Inkscape à la boîte géométrique (nous avons vu qu'ils fonctionnent à l'inverse dans ce dialogue), les clones auront un espace additionnel tout autour. Ensuite, enlevez le flou du parent.

8

The final approach is to put your parent object in a group with another, larger object. The second object is there purely to set the size of the group's bounding box. Create your clones, then enter the parent group and remove the temporary object. This approach results in clones of a group, rather than the object itself, but avoids the need to mess with Inkscape's preferences. The Cumulate checkboxes determine how any offsets are added to the base position for each clone. Usually, the offset is added to the bounding box width or height once, and that single value is used as the basis of every row or column of clones. Checking this box means that the offset is added again for each row or column, resulting in values that get progressively larger. A similar effect can be achieved by setting the Exponent value to something greater than 1. The opposite effect – reducing the difference between each offset – can be achieved by setting the Exponent value to less than 1.

La dernière possibilité est de mettre l'objet parent dans un groupe qui contient un autre objet, plus grand. Le second objet ne fait que déterminer la taille de la boîte du groupe. Créez les clones, puis entrez dans le groupe parent et enlevez l'objet temporaire. Cette approche a pour résultat des clones du groupe, plutôt que de l'objet lui-même, mais évite de devoir se préoccuper des préférences d'Inkscape.

Les cases à côté de Cumulatif déterminent le nombre de décalages qui sont ajoutés à la position de base de chaque clone. En général, le décalage est ajouté une fois à la largeur ou à la hauteur de la boîte et cette seule valeur est utilisée comme base pour chaque ligne et colonne de clones. Si vous cochez cette case, le décalage est ajouté à nouveau pour chaque ligne ou colonne, et les valeurs augmentent progressivement.

Vous pouvez créer un effet similaire en réglant la valeur d'Exposant à un chiffre supérieur à 1. L'effet contraire - diminuer la différence entre chaque décalage - est obtenu en réglant la valeur de l'Exposant à moins de 1.

9

The last pair of controls in this tab, the Exclude Tile checkboxes, can be used to remove the bounding box dimensions from the clones' calculated positions. Settings that would previously have resulted in positions of 110%, 220%, 330%… become 10%, 20%, 30%… when this checkbox is enabled. This allows you to create clones with only a small offset from the parent – usually resulting in them overlapping it to some extent when creating a simple rectangular array. One final thing to note is that it's possible to enter a negative shift for the x and x positions. This results in a shift to the left (for x) or upwards (for y), and converts the standard 100%, 200%, 300%… positions to 90%, 180%, 270%… if the offset is set at 10%. This is another way to create an overlapping arrangement of clones, but, depending on the shape of the parent object, it may be just what you need to make everything fit together neatly. Try playing with a few combinations of values and settings in the Shift tab. You'll quickly find that it's easy to create wild and unexpected clone placements – thank goodness for that Reset button! Try to understand how each individual control contributed to the clones' placement, and how the three-column layout relates to the rows and columns of clones, because, next time, we'll be building on this knowledge to explore some of the other tabs in the Tiled Clones dialog.

La dernière paire de contrôles dans cet onglet, les cases « Exclure la taille du pavé : », peut être utilisée pour enlever les dimensions de la boîte des positions calculées des clones. Quand cette case est cochée, les réglages qui auraient eu pour résultat des positions à 110 %, 220 %, 330 %… deviendront 10 %, 20 %, 30 %… Ceci vous permet de créer des clones avec un tout petit décalage par rapport au parent - ce qui, en général, veut dire qu'ils se superposent jusqu'à un certain point, quand vous créez une grille rectangulaire simple.

Une dernière chose à noter : il est possible d'entrer une translation négative pour les positions x et y. Il y a ainsi un décalage vers la gauche (pour x) ou vers le haut (pour y), et cela convertit les positions standards de 100 %, 200 %, 300 %… à 90 %, 180 %, 270 %… si le décalage est réglé à 10 %. C'est une autre façon de créer des clones qui se chevauchent, mais, selon la forme de l'objet parent, cela pourrait être exactement ce dont vous avez besoin pour que tout s'emboîte très proprement.

Amusez-vous avec quelques combinaisons de valeurs et de réglages sur l'onglet Translation. Vous découvrirez rapidement qu'il est facile de créer des positions folles et inattendues des clones - Dieu merci, il y a le bouton R-à-z ! Essayez de comprendre la contribution de chaque contrôle individuel à la position des clones et la façon dont les trois colonnes se réfèrent aux lignes et aux colonnes des clones, car, la prochaine fois, nous allons nous appuyer sur ces connaissances pour examiner certains des autres onglets dans le dialogue Clones en pavage.

issue93/inkscape.txt · Dernière modification : 2015/03/25 11:38 de auntiee