Le code TikZ suivant dessine une grille et prends un point aléatoire nommé A dans la zone centrale de la grille (le point est décrit par un style paramétré appelé dot) :

  • comment dessiner une droite qui passe par ce point aléatoire et fasse un angle avec l'horizontale donné par \angle1 qui sert de paramètre et traverse toute la grille dans cette direction ?

  • comment ajouter une seconde droite qui passe toujours par ce point A, fasse un angle \angle2 avec la première droite et traverse toute la grille dans cette direction ?

    Ouvrir dans l'éditeur Overleaf
    \documentclass[]{standalone}
    \usepackage{tikz}
    \usetikzlibrary{calc}
    \def\angle1{45} % angle première droite avec horizontale
    \def\angle2{1O} % angle seconde droite avec la première droite
    \begin{document}
    \begin{tikzpicture}[dot/.style={circle,inner sep=1pt,fill,label={#1},name={#1}}]        
    \node[dot=A] at ($2*(rand,rand)$){}; % point aléatoire
    \draw[help lines] (-3,-3) grid (3,3); % grille   
    \end{tikzpicture}
    \end{document}
    

Posée 24 Aoû '20, 15:49

idefix's gravatar image

idefix
95594051
Taux d'acceptation : 14%

Modifiée 24 Aoû '20, 23:21

Pathe's gravatar image

Pathe ♦♦
7.4k28196245


Je ferais comme ça :

Ouvrir dans l'éditeur Overleaf
\documentclass[]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\def\angleun{45} % angle première droite avec horizontale
\def\angledeux{10} % angle seconde droite avec la première droite
\begin{document}
\begin{tikzpicture}[dot/.style={circle,inner sep=1pt,fill,label={#1},name={#1}}]        
\node[dot=A] at ($2*(rand,rand)$){}; % point aléatoire
\draw[help lines] (-3,-3) grid (3,3); % grille   
\clip (-3,-3) |- (3,3) |- cycle;
\draw (A) -- +(\angleun:6cm);
\draw (A) -- +(\angleun:-6cm);
\draw (A) -- +(\angleun+\angledeux:6cm);
\draw (A) -- +(\angleun+\angledeux:-6cm);
\end{tikzpicture}
\end{document}

PS : on ne peut pas définir \angle1 et \angle2 comme vous le faisiez : \def\angle1{...} définit la commande \angle et exige qu'elle soit suivie du caractère 1 quand on l'utilise.

Lien permanent

Publiée 24 Aoû '20, 17:39

nmarkey's gravatar image

nmarkey
1.4k19
Taux d'acceptation : 44%

Est-il possible de faire un \draw qui trace un trait mais conserve le point de départ comme point courant. Ce qui permettrait de tracer plusieurs segments partant d'un même point mais dans un seul chemin (un seul \draw) ?

(24 Aoû '20, 22:48) idefix idefix's gravatar image

Oui, vous pouvez faire \draw (A) edge +(...) edge +(...) pour faire plusieurs segments partant de A.

(25 Aoû '20, 03:35) nmarkey nmarkey's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.