Comando "\ internalforces" nel pacchetto stanli
Per quanto riguarda il disegno dei diagrammi delle forze interne attraverso l'utilizzo del pacchetto Stanli. Sono richiesti i seguenti parametri:
- Punto di partenza
- Punto finale
- Valore al punto iniziale
- Valore al punto finale
- Altezza della parabola
- Colore
- Posizione di piega
Il problema riguarda i parametri opzionali (Altezza parabola) e (Posizione piega). Come si impostano, cosa rappresentano dal punto di vista grafico. Il MWE di seguito rappresenta una trave semplice con carico triangolare. Per disegnare i diagrammi della forza di taglio e del momento flettente per tale raggio, ho impostato i valori delle reazioni a 2 valori uno dei quali è il doppio dell'altro ...
- come imposto la curva per il diagramma della forza di taglio
- Come si imposta la curva per il diagramma del momento flettente poiché in questo caso di caricamento la curva BMD non è simmetrica, inoltre è possibile impostare solo i valori di inizio e fine per la formula della curva
- Come si imposta il parametro della posizione della piega
- Come definisco la parabola di terzo e quarto grado
- Infine, c'è un modo per definire un carico parabolico piuttosto che triangolare?
Se esiste una rappresentazione visiva per questi 2 parametri (altezza parabola e posizione piega), ciò sarebbe utile. C'è anche un modo per definire il carico parabolico?
\documentclass{article}
\usepackage{amsmath}
\usepackage{stanli}
\begin{document}
\begin{center}
\begin{tikzpicture}
\draw[help lines,step=0.5](0,0) grid(15,24);
%%%%%%%%%%%%%%%%%%%%%%%%Loading%%%%%%%%%%%%%%%%
\point{a-LD}{0}{22.5};
\point{b-LD}{10}{22.5};
\point{su-LD}{2}{22.5+1.5};
\point{s-LD}{2}{22.5};
\point{sl-LD}{2}{22.5-0.5};
\point{TL-LD}{10}{22.5+2};
\point{CAP-LD}{10/2}{22.5-2.5};
% Elements
\beam{4}{a-LD}{b-LD};
%Supports
\support {1}{a-LD};
\support {2}{b-LD};
%Loads
\lineload{1}{a-LD}{b-LD}[0][2][0.035]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%First diagram%%%%%%%%%%%%%%%%%%
\point{a-FBD}{0}{22.5-6};
\point{b-FBD}{10}{22.5-6};
\point{TL-FBD}{2*10/3}{22.5-6};
\point{TLA-FBD}{2*10/3}{22.5-6+1.75};
\point{HR}{0-1.5}{22.5-6};
\point{VRA}{0}{22.5-6-1};
\point{VRB}{10}{22.5-6-1};
\point{CAP-FBD}{10/2}{22.5-6-3.5};
% Elements
\beam{4}{a-FBD}{b-FBD};
%%%%%%%%%%%%%%%%%Second diagram%%%%%%%%%%%%%%%%%%
\internalforces{a-FBD}{b-FBD}{-3}{6}[0][red]%[0]
\point{a-SFD}{0}{22.5-14};
\point{b-SFD}{10}{22.5-14};
\point{TL-SFD}{2*10/3}{22.5-14};
\point{TLA-SFD}{2*10/3}{22.5-14+1.75};
\point{VRA}{0}{22.5-14-1};
\point{VRB}{10}{22.5-14-1};
\point{CAP-SFD}{10/2}{22.5-14-3.5};
% Elements
\beam{4}{a-SFD}{b-SFD};
\internalforces{a-SFD}{b-SFD}{-3}{6}[3][red]%[0]
\end{tikzpicture}
\end{center}
\end{document}
Sono stato in grado di ottenere la macro per tale comando dal file .sty del pacchetto, ma poiché utilizzava molta programmazione TIKZ, ho problemi ad analizzarlo.
%------------------------------------------------
% internalforces
%------------------------------------------------
% \internalforces{initial point}{end point}{initial value}{end value}[parabola height][color][bend position]
% [parabola height][color][bend position] are optional
%
\newcommandx{\internalforces}[7][5=0,6=red,7=.6667]{%
\coordinate (internalforcesVarA) at ($ (#1)!#3cm!-90:(#2) $);
\coordinate (internalforcesVarB) at ($ (#2)!#4cm!90:(#1)$);
\coordinate (internalforcesVarAB) at ($ (internalforcesVarA)!.5!(internalforcesVarB)$);
\coordinate (internalforcesVarC) at ($ (internalforcesVarAB)+2*(0,#5)$);
\coordinate (internalforcesVarAC) at ($ (internalforcesVarA)!#7!(internalforcesVarC)$);
\coordinate (internalforcesVarBC) at ($ (internalforcesVarB)!#7!(internalforcesVarC)$);
\ifthenelse{\equal{#5}{0}}{
\draw [bigLine,color=#6] (#1) -- (internalforcesVarA) (internalforcesVarA) -- (internalforcesVarB) (internalforcesVarB) -- (#2);
\fill [color=#6] (internalforcesVarA) circle (\bigLineWidth/2);
\fill [color=#6] (internalforcesVarB) circle (\bigLineWidth/2);
\fill [color=#6] (#1) circle (\bigLineWidth/2);
\fill [color=#6] (#2) circle (\bigLineWidth/2);
}
{
%\draw [bigLine,color=#6](internalforcesVarA) parabola[parabola height=#5cm] (internalforcesVarB);
%\draw [bigLine,color=#6](internalforcesVarA)--(internalforcesVarAC)--(internalforcesVarBC)--(internalforcesVarB);
%\draw [bigLine,color=blue](internalforcesVarA)--(internalforcesVarB)
%(internalforcesVarAB) -- (internalforcesVarC);
\draw [bigLine,color=#6] (#1) -- (internalforcesVarA) (internalforcesVarA) .. controls (internalforcesVarAC) and (internalforcesVarBC) .. (internalforcesVarB) (internalforcesVarB) -- (#2);
\fill [color=#6] (internalforcesVarA) circle (\bigLineWidth/2);
\fill [color=#6] (internalforcesVarB) circle (\bigLineWidth/2);
\fill [color=#6] (#1) circle (\bigLineWidth/2);
\fill [color=#6] (#2) circle (\bigLineWidth/2);
}
}
``````````````````````````````````````````````````````````````````````
What I understood is that:
- \coordinate (internalforcesVarA) at ($ (#1)!#3cm!-90:(#2) $); makes point along the vertical projection of {initial value} from the {start point} in cm along the line connecting {initial point} and {end point}
- \coordinate (internalforcesVarB) at ($ (#2)!#4cm!90:(#1)$); makes a point along the vertical projection of {end value} from the {end point} in cm along the line connecting {initial point} and {end point}
- \coordinate (internalforcesVarAB) at ($ (internalforcesVarA)!.5!(internalforcesVarB)$); makes a mid-point along the line joining {initial value} and the {end value}
- \coordinate (internalforcesVarAC) at ($ (internalforcesVarA)!#7!(internalforcesVarC)$); makes a point along the line AC with offset set according to [bend position]
- \coordinate (internalforcesVarBC) at ($ (internalforcesVarB)!#7!(internalforcesVarC)$); makes a point along the line BC with offset set according to [bend position]
After that it gets messy
```````````````````````````````````````````````````````````````````````
[![enter image description here][1]][1]
[1]: https://i.stack.imgur.com/P4KQT.jpg
Risposte
Prima della risposta generale, devo dire un prerequisito.
- introduzione
- Rispondi alla domanda
- Altri esempi da capire
- Si prega di leggere questa domanda per ricordare l'argomento di matematica.
In pgfmanual.pdf , 13.5.3 The Syntax of Partway Modifiers
<coordinate>!<number>!<angle>:<second coordinate>
Si potrebbe scrivere per esempio. (1,2)!.75!(3,4)
Il significato di questo è: "Usa la coordinata che è di tre quarti sulla strada da (1,2)a (3,4)". In generale, <coordinate x>!<number>!<coordinate y>restituisce la coordinata (1- <number>)<coordinate x> +<number><coordinate y>.
code exam1a:
\documentclass[tikz,varwidth,border=3.14mm]{standalone}
\usepackage{amsmath}
\usetikzlibrary{calc,decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\draw[help lines,line width=.4pt,step=1] (0,0) grid (3,4);
\node [left] at (0,0) {o};
% exam for point (1,2)!.75!(3,4)
\coordinate [label=left:$A$] (A) at (1,2);
\coordinate [label=right:$B$](B) at (3,4);
\draw [->](A)--(B);
\coordinate [label=above left:\tiny $AB$] (AB) at ($(A)!.75!(B)$);
% (1-.75)(A) + .75(B)
% Result AB=(2.5,3.5)
\fill [red](AB) circle(1pt);
% draw brace
\draw [decorate,decoration={brace,amplitude=6pt},xshift=-2pt,red] (A) -- (AB) node [above,blue,font=\footnotesize,midway,rotate=45,yshift=5pt] {$0.75$} ;
\end{tikzpicture}
\end{document}
produzione:
Il < second coordinate>può essere preceduto da un <angle>, separato da due punti, come in (1,1)!.5!60:(2,2). Il significato generale di <a>!<factor>!<angle>:<b>è: “Primo, considera la linea da <a>a <b>. Quindi ruota questa linea intorno al punto <a>. Quindi i due punti finali di questa linea saranno <a>e un punto <c>. Usa questo punto <c>per il calcolo successivo, vale a dire il calcolo parziale. "
codice esame1b:
\documentclass[tikz,varwidth,border=3.14mm]{standalone}
\usepackage{amsmath}
\usetikzlibrary{calc,decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\draw[help lines,line width=.6pt,step=1] (0,0) grid (3,4);
\node [left] at (0,0) {o};
% exam for point (1,1)!.5! 60:(2,2)
\coordinate [label=below right:$A$] (A) at (1,1);
\coordinate [label=right:$B$](B) at (2,2);
\draw[->] (A) -- (B);
\coordinate [label=left:$c$] (c) at ($ (A)!1! 60:(B) $);
% Result c=(0.63397,2.36603)
\draw[->,red] (A) -- (c);
\draw [cyan,->]([shift=(45:4mm)]A) arc (45:105:4mm)node [above,midway] {\tiny $60^{\circ}$};
\path let \p{1} = (c) in (c) node[yshift=2mm,label=above:\tiny\pgfmathparse{\x1/28.45274}${x_c=}\pgfmathresult $]{} circle (0pt)node[label=above:\tiny\pgfmathparse{\y1/28.45274}${y_c=} \pgfmathresult $]{};
\draw [decorate,decoration={brace,amplitude=4pt},xshift=-1pt,green] (A) -- (0.63397,1) node [below,blue,font=\footnotesize,midway] {$x_c$} ;
\draw [decorate,decoration={brace,amplitude=4pt},xshift=-1pt,green] (0.63397,1)--(0.63397,2.36603) node [left,blue,font=\footnotesize,midway] {$y_c$} ;
% (1,1)!.5!60:(2,2)
\fill [blue]($ (A)!.5! 60:(B) $) circle (1.5pt);
% (1-.5)(A) + .5(0.63397,2.36603)
% Result Ac=(.81699,1.68301)
\end{tikzpicture}
\end{document}
produzione:
nota : i calcoli delle coordinate di cui sopra possono essere eseguiti anche come segue.
\def\xa{1}
\def\ya{1}
\def\xb{2}
\def\yb{2}
%
\pgfmathsetmacro{\xnewResults}{{add(multiply(sqrt(add(pow(subtract(\xb,\xa),2),pow(subtract(\yb,\ya),2))),cos(105)),1) }}
\pgfmathsetmacro{\ynewResults}{{add(multiply(sqrt(add(pow(subtract(\xb,\xa),2),pow(subtract(\yb,\ya),2))),sin(105)),1) }}
\begin{equation*}
c=
\begin{cases}
x_c=\xnewResults
\\
y_c=\ynewResults
\end{cases}
\end{equation*}
%
\def\num{.5}
\def\xa{1}
\def\ya{1}
\def\xb{0.63397}
\def\yb{2.36603}
%
\pgfmathsetmacro{\xpointResults}{{add(multiply(subtract(1,\num),\xa),multiply(\num,\xb)) }}
\pgfmathsetmacro{\ypointResults}{{add(multiply(subtract(1,\num),\ya),multiply(\num,\yb)) }}
\begin{equation*}
P_{Ac}=
\begin{cases}
x_p=\xpointResults
\\
y_p=\ypointResults
\end{cases}
\end{equation*}
produzione:
vedere pgfmanual.pdf, 13.5.4 La sintassi dei modificatori di distanza
<coordinate>!<dimension>!<angle>:<second coordinate>
code exam1c:
\documentclass[tikz,varwidth,border=2mm]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\coordinate[label=below:$a$] (a) at (1,0);
\coordinate [label=below:$b$] (b) at (3,1);
\draw (a) -- (b);
\coordinate (c) at ($ (a)!.25!(b) $);
\fill [red] (c) circle(1pt)node[below]{$c$};
\coordinate (d) at ($ (c)!1cm!90:(b) $);
\fill [blue] (d) circle(1pt)node[above]{$d$};
\draw [<->] (c) -- (d) node [sloped,midway,above] {1cm};
\end{tikzpicture}
\end{document}
produzione:
Parte 2 : si prega di considerare il codice minimo, disegnato prima con il pacchetto stanli e poi con il pacchetto tikz
code exam2a: disegna con stanli
\documentclass[border=12mm]{standalone}
\usepackage{amsmath}
\usepackage{stanli}
\begin{document}
\begin{tikzpicture}
\draw[help lines,line width=.6pt,step=1](0,0) grid(10,14);
\point{o}{0}{0};
\notation {1}{o}{$o$}[left];
\point{a-SFD}{0}{22.5-14}; %(0,8.5)
\point{b-SFD}{10}{22.5-14};%(10,8.5)
\notation {1}{a-SFD}{$a-SFD$}[left];
\notation {1}{b-SFD}{$b-SFD$}[right];
\beam{4}{a-SFD}{b-SFD};
%\internalforces{initial point}{end point}{initial value}{end value}[parabola height][color][bend position]
% Default :parabola height=0, color=red, bend position=.6667
%draw
\internalforces{a-SFD}{b-SFD}{-3}{6}[3][red]%[0]
\node [red,below] at (5,0){draw with stanli};
\end{tikzpicture}
\end{document}
disegna con tikz:
\documentclass[tikz,border=12mm]{standalone}
\usepackage{amsmath}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw[help lines,line width=.6pt,step=1] (0,0) grid(10,14);
\node at (0,0)[left]{$o$};
\draw [thick] (0,8.5)node[left]{$a-SFD$}--(10,8.5)node[right]{$b-SFD$};
% def stanli.sty
\coordinate (internalforcesVarA) at ($ (0,8.5)!-3cm!-90:(10,8.5) $);%#3 ,initial value=-3
% (0,8.5)!1!-90:(10,8.5) first rotate -90 , next -3cm above (0,8.5)+(0,3)
%Result: A=(0,11.5)
\coordinate (internalforcesVarB) at ($ (10,8.5)!6cm!90:(0,8.5)$);%#4 ,end value=6
% (10,8.5)!1!90:(0,8.5) first rotate 90 , next 6cm below (10,8.5)+(0,-6)
%Result: B=(10,2.5)
\coordinate (internalforcesVarAB) at ($ (internalforcesVarA)!.5!(internalforcesVarB)$);
%Result: AB=(1-.5)A + .5(B)=(5,7)
\coordinate (internalforcesVarC) at ($ (internalforcesVarAB)+2*(0,3)$);%#5 ,parabola height=3
%Result: C=AB +(0,6) =(5,13)
\coordinate (internalforcesVarAC) at ($ (internalforcesVarA)!.6667!(internalforcesVarC)$);%#7, bend position=.6667
%Result: AC=(1-.6667)A+ .6667(C)=(3.3335,12.50005)
\coordinate (internalforcesVarBC) at ($ (internalforcesVarB)!.6667!(internalforcesVarC)$); %#7, bend position=.6667
%Result: BC=(1-.6667)B+ .6667(C)=(6.6665,9.50035)
\draw [line width=1.5pt,color=red] (0,8.5) -- (internalforcesVarA) % Left Line
(internalforcesVarA) .. controls (internalforcesVarAC) and (internalforcesVarBC) .. (internalforcesVarB) %controls
(internalforcesVarB) -- (10,8.5); %Right Line
%
\draw [thin] (internalforcesVarA)--(internalforcesVarB);
%
\draw [thin,magenta] (internalforcesVarA)--(internalforcesVarC);
\draw [thin,magenta] (internalforcesVarB)--(internalforcesVarC);
%
\fill [color=blue] (internalforcesVarA) circle (.75pt)node[above,font=\small]{A};
\fill [color=blue] (internalforcesVarB) circle (.75pt)node[below,font=\small]{B};
\fill [color=blue] (0,8.5) circle (.75pt);
\fill [color=blue] (10,8.5) circle (.75pt);
%
\fill [color=blue] (internalforcesVarAC) circle (1pt) node[above,font=\small]{AC};
\fill [color=blue] (internalforcesVarBC) circle (1pt) node[right,font=\small]{BC};
%
\fill [color=cyan] (internalforcesVarAB) circle (1pt) node[above,font=\small]{AB};
\fill [color=cyan] (internalforcesVarC) circle (1pt) node[above,font=\small]{C};
\node [blue,below] at (5,0){draw with tikz};
\end{tikzpicture}
\end{document}
produzione:
codice esempio2b: disegnare stanli e tikz
\documentclass[12pt,a4paper]{report}
%\usepackage{tikz}
%\usetikzlibrary{calc}
\usepackage{stanli}
\begin{document}
\begin{center}
\begin{tikzpicture}
\draw[help lines,line width=.6pt,step=1] (0,-2) grid (4,3);
\point{a}{0}{0};
\point{b}{4}{0};
%\internalforces{initial point}{end point}{initial value}{end value}[parabola height][color][bend position]
% Default :parabola height=0, color=red, bend position=.6667
\internalforces{a}{b}{1}{-1}[1][black];
\node [font=\small,blue,below] at (2,-1.5){draw with stanli};
\end{tikzpicture}
\hspace*{1cm}
\begin{tikzpicture}
\draw[help lines,line width=.6pt,step=1] (0,-2) grid (4,3);
\coordinate (A) at ($ (0,0)!1cm!-90:(4,0) $);%#3 ,initial value=1
%Result: A=(0,-1)
\coordinate (B) at ($ (4,0)!-1cm!90:(0,0)$);%#4 ,end value=-1
%Result: B=(4,1)
\draw [thin] (A)--(B);
\coordinate (AB) at ($ (A)!.5!(B)$);
%Result: AB=(2,0)
\coordinate (C) at ($ (AB)+2*(0,1)$);% #5 parabola height=1
%Result: C=(2,2)
\coordinate (AC) at ($ (A)!.6667!(C)$);%#7, bend position=.6667
%Result: AC=(1.334,1)
\draw [thin] (A)--(C);
\draw [thin] (B)--(C);
\coordinate (BC) at ($ (B)!.6667!(C)$); %#7, bend position=.6667
%Result: BC=(2.6665,1.666)
\draw [line width=1.5pt,color=red] (0,0) -- (A) % Left Line
(A) .. controls (AC) and (BC) .. (B) %controls
(B) -- (4,0); %Right Line
\fill [color=blue] (A) circle (.75pt) node[below,font=\small]{A};
\fill [color=blue] (B) circle (.75pt) node[above,font=\small]{B};
\fill [color=blue] (0,0) circle (.75pt) node[left,font=\small]{0};
\fill [color=blue] (4,0) circle (.75pt) node[right,font=\small]{4};
%
\fill [color=cyan] (AB) circle (1pt) node[above,font=\small]{AB};
\fill [color=cyan] (C) circle (1pt) node[above,font=\small]{C};
\fill [color=blue] (AC) circle (1pt) node[above,font=\small]{AC};
\fill [color=blue] (BC) circle (1pt) node[above,font=\small]{BC};
\node [font=\small,red,below] at (2,-1.5){draw with tikz};
\end{tikzpicture}
\end{center}
\end{document}
produzione:
parte 3:
codice exam3a:
\documentclass[tikz,varwidth,border=3.14mm]{standalone}
\usepackage{amsmath}
\usetikzlibrary{calc}
\begin{document}
\foreach \Pline in {.1,.2,...,.9}{%Point Line
\begin{tikzpicture}
\useasboundingbox (-.5,-2)rectangle (4.5,3);
\draw[help lines,line width=.6pt,step=1] (0,-2) grid (4,3);
\coordinate [label=left:$o$,font=\small] (o) at (0,0);
\draw [thick,->,blue] (o)--(4,0);
\draw [thick,->,blue] (0,-2)--(0,3);
\coordinate [label=left:$A$] (A) at (0,-1);
\coordinate [label=right:$B$](B) at (4,1);
\coordinate [label=above:$C$](C) at (2,2);
\draw [thin,->] (A)--(B);
\draw [thin,->] (B)--(C);
\draw [thin,->] (C)--(A);
\coordinate (AB) at ($(A)!\Pline!(B)$);
\fill [red](AB) circle (1pt) node[below,font=\small]{$AB$};
\coordinate (BC) at ($(B)!\Pline!(C)$);
\fill [magenta](BC) circle (1pt) node[above right,font=\small]{$BC$};
\coordinate (CA) at ($(C)!\Pline!(A)$);
\fill [cyan](CA) circle (1pt) node[above left,font=\small]{$CA$};
\end{tikzpicture}
}
\end{document}
produzione:
codice exam3b:
\documentclass[tikz,varwidth,border=3.14mm]{standalone}
\usepackage{amsmath}
\usepackage{stanli}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
%\internalforces{initial point}{end point}{initial value}{end value}[parabola height][color][bend position]
% Default :parabola height=0, color=red, bend position=.6667
%Example 1: Suppose, -2< initial value <2 , -2<end value<2 , parabola height=0
\foreach \fa in {-2,-1,...,2}{%
\foreach \fb in {-2,-1,...,2}{%
\begin{tikzpicture}
\useasboundingbox (-1,-3)rectangle (5,3);
\draw[help lines,line width=.6pt,step=1,black] (-1,-3) grid (5,3);
\draw[help lines,line width=.3pt,step=.5,gray] (-1,-3) grid (5,3);
\point{a}{0}{0};
\point{b}{4}{0};
\beam{2}{a}{b}[0][3];
\notation {1}{a}{\small $x_a$}[left];
\notation {1}{b}{\small $x_b$}[right];
\internalforces{a}{b}{\fa}{\fb}[0][blue];
\def\xa{0}
\ifnum \fa>0
\draw [decorate,decoration={brace,amplitude=6pt},xshift=-2pt,red] (0,-\fa)node [left,red,font=\footnotesize] {$F_{\fa}^a$} -- (0,0) ;
\else
\draw [decorate,decoration={brace,amplitude=6pt},xshift=-2pt,red] (0,0) -- (0,-\fa) node [left,red,font=\footnotesize] {$F_{\fa}^a$};
\fi
%
\def\xb{4}
\ifnum \fb>0
\draw [decorate,decoration={brace,amplitude=6pt},xshift=2pt,cyan] (\xb,0) -- (\xb,-\fb) node [right,cyan,font=\footnotesize] {$F_{\fb}^b$};
\else
\draw [decorate,decoration={brace,amplitude=6pt},xshift=2pt,cyan] (\xb,-\fb)node [right,cyan,font=\footnotesize] {$F_{\fb}^b$} -- (\xb,0) ;
\fi
\end{tikzpicture}
}}
\end{document}
produzione:
codice exam3c:
\documentclass[tikz,varwidth,border=3.14mm]{standalone}
\usepackage{amsmath}
\usepackage{stanli}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
%\internalforces{initial point}{end point}{initial value}{end value}[parabola height][color][bend position]
% Default :parabola height=0, color=red, bend position=.6667
%Example 1: Suppose, -3< initial value <3 , -3<end value<6 , parabola height=3
\foreach \fa in {-3,-1,...,3}{%
\foreach \fb in {-3,-2,...,6}{%
\begin{tikzpicture}
\useasboundingbox (-1,-7)rectangle (11,7);
\draw[help lines,line width=.6pt,step=1,black] (-1,-7) grid (11,7);
\draw[help lines,line width=.3pt,step=.5,gray] (-1,-7) grid (11,7);
\point{a}{0}{0};
\point{b}{10}{0};
\beam{2}{a}{b}[0][3];
\notation {1}{a}{$x_a$}[left];
\notation {1}{b}{$x_b$}[right];
\internalforces{a}{b}{\fa}{\fb}[3][blue];
\def\xa{0}
\ifnum \fa>0
\draw [thick,decorate,decoration={brace,amplitude=6pt},xshift=-2pt,red] (0,-\fa)node [left,red,font=\small] {$F_{\fa}^a$} -- (0,0) ;
\else
\draw [thick,decorate,decoration={brace,amplitude=6pt},xshift=-2pt,red] (0,0) -- (0,-\fa) node [left,red,font=\small] {$F_{\fa}^a$};
\fi
\def\xb{10}
\ifnum \fb>0
\draw [thick,decorate,decoration={brace,amplitude=6pt},xshift=2pt,,cyan] (\xb,0) -- (\xb,-\fb) node [right,purple,font=\small] {$F_{\fb}^b$};
\else
\draw [thick,decorate,decoration={brace,amplitude=6pt},xshift=2pt,cyan] (\xb,-\fb)node [right,purple,font=\small] {$F_{\fb}^b$} -- (\xb,0) ;
\fi
\end{tikzpicture}
}}
\end{document}
produzione:
vedere 2.4 Costruzione di percorsi curvi per i controlli.
Modifica: esame 2020-10-30 per il cambio di posizione della piega.
\documentclass[tikz,border=12mm]{standalone}
\usepackage{amsmath}
\usetikzlibrary{calc}
\begin{document}
\foreach \bendpos in {0,.1,.2,...,1}{%bend position
\begin{tikzpicture}
\draw[help lines,line width=.6pt,step=1] (0,0) grid(10,14);
\node at (0,0)[left]{$o$};
\draw [thick] (0,8.5)node[left]{$a-SFD$}--(10,8.5)node[right]{$b-SFD$};
% def stanli.sty
\coordinate (internalforcesVarA) at ($ (0,8.5)!-3cm!-90:(10,8.5) $);%#3 ,initial value=-3
% (0,8.5)!1!-90:(10,8.5) first rotate -90 , next -3cm above (0,8.5)+(0,3)
%Result: A=(0,11.5)
\coordinate (internalforcesVarB) at ($ (10,8.5)!6cm!90:(0,8.5)$);%#4 ,end value=6
% (10,8.5)!1!90:(0,8.5) first rotate 90 , next 6cm below (10,8.5)+(0,-6)
%Result: B=(10,2.5)
\coordinate (internalforcesVarAB) at ($ (internalforcesVarA)!.5!(internalforcesVarB)$);
%Result: AB=(1-.5)A + .5(B)=(5,7)
\coordinate (internalforcesVarC) at ($ (internalforcesVarAB)+2*(0,3)$);%#5 ,parabola height=3
%Result: C=AB +(0,6) =(5,13)
\coordinate (internalforcesVarAC) at ($ (internalforcesVarA)!\bendpos!(internalforcesVarC)$);%#7, bend position=.6667
%Result: AC=(1-.6667)A+ .6667(C)=(3.3335,12.50005)
\coordinate (internalforcesVarBC) at ($ (internalforcesVarB)!\bendpos!(internalforcesVarC)$); %#7, bend position=.6667
%Result: BC=(1-.6667)B+ .6667(C)=(6.6665,9.50035)
\draw [line width=1.5pt,color=red] (0,8.5) -- (internalforcesVarA) % Left Line
(internalforcesVarA) .. controls (internalforcesVarAC) and (internalforcesVarBC) .. (internalforcesVarB) %controls
(internalforcesVarB) -- (10,8.5); %Right Line
%
\draw [thin] (internalforcesVarA)--(internalforcesVarB);
%
\draw [thin,magenta] (internalforcesVarA)--(internalforcesVarC);
\draw [thin,magenta] (internalforcesVarB)--(internalforcesVarC);
%
\fill [color=blue] (internalforcesVarA) circle (.75pt)node[above,font=\small]{A};
\fill [color=blue] (internalforcesVarB) circle (.75pt)node[below,font=\small]{B};
\fill [color=blue] (0,8.5) circle (.75pt);
\fill [color=blue] (10,8.5) circle (.75pt);
%
\fill [color=blue] (internalforcesVarAC) circle (1pt) node[above,font=\small]{AC};
\fill [color=blue] (internalforcesVarBC) circle (1pt) node[right,font=\small]{BC};
%
\fill [color=cyan] (internalforcesVarAB) circle (1pt) node[above,font=\small]{AB};
\fill [color=cyan] (internalforcesVarC) circle (1pt) node[above,font=\small]{C};
\node [blue,below] at (5,0){draw with tikz};
\end{tikzpicture}
}
\end{document}
produzione: