Stanli paketinde "\ internalforces" komutu
Stanli paketinin kullanımıyla iç kuvvet diyagramlarının çizilmesi ile ilgili olarak. Aşağıdaki parametreler gereklidir:
- Başlangıç noktası
- Bitiş noktası
- Başlangıç noktasındaki değer
- Son noktadaki değer
- Parabol yüksekliği
- Renk
- Viraj pozisyonu
Sorun, isteğe bağlı parametreler (Parabol yüksekliği) ve (Eğilme konumu) ile ilgilidir. Bunları nasıl ayarlarım, grafiksel açıdan neyi temsil ediyorlar? Aşağıdaki MWE, üçgen yüklü basit bir kirişi temsil etmektedir. Bu tür kirişler için kesme kuvveti ve eğilme momenti diyagramlarını çizebilmek için reaksiyon değerlerini biri diğerinin iki katı olmak üzere 2 değer olacak şekilde ayarladım.
- kesme kuvveti diyagramı için eğriyi nasıl ayarlarım
- Bu durumda BMD eğrisinin yüklenmesi simetrik olmadığından bükülme momenti diyagramı için eğriyi nasıl ayarlarım, ayrıca eğri formülü için yalnızca başlangıç ve bitiş değerlerini ayarlayabilirsiniz.
- Bükülme konumu parametresini nasıl ayarlarım
- Üçüncü ve dördüncü derece Parabolü nasıl tanımlarım
- Son olarak, üçgen yerine parabolik bir yükü tanımlamanın bir yolu var mı?
Bu 2 parametre için herhangi bir görsel sunum varsa (Parabol yüksekliği ve bükülme konumu) bu yardımcı olacaktır. Ayrıca parabolik laodu tanımlamanın bir yolu var mı?
\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}
Bu tür bir komut için makroyu .sty paketinden elde edebildim, ancak çok fazla TIKZ programlaması kullandığı için onu analiz etmekte sorun yaşıyorum.
%------------------------------------------------
% 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
Yanıtlar
Genel cevaptan önce, bir ön koşul söylemem gerekiyor.
- Giriş
- Soruyu cevapla
- Anlaşılması gereken diğer örnekler
- Lütfen matematik konusunu size hatırlatması için bu soruya bakın .
In pgfmanual.pdf , 13.5.3 Sözdizimi arasında Partway Modifikörleri
<coordinate>!<number>!<angle>:<second coordinate>
Bir örneğin yazabilirsiniz (1,2)!.75!(3,4)
şudur anlamını: “Bu yolda dörtte üçü ise koordinat kullanın (1,2)için (3,4).” Genel <coordinate x>!<number>!<coordinate y>olarak koordinatı verir (1- <number>)<coordinate x> +<number><coordinate y>.
kod sınavı1a:
\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}
çıktı:
< second coordinate>İşaretinin önünde <angle>olduğu gibi iki nokta üst üste ile ayrılmış bir ön ek olabilir (1,1)!.5!60:(2,2). Genel anlamı <a>!<factor>!<angle>:<b>şudur: “İlk olarak, gelen hattını düşünün <a>için <b>. Ardından bu çizgiyi nokta etrafında döndürün <a>. O zaman bu çizginin iki uç noktası olacak <a>ve bir nokta <c>. <c>Sonraki hesaplama için bu noktayı kullanın , yani kısmi hesaplama. "
kod sınavı1b:
\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}
çıktı:
not : Yukarıdaki koordinatların hesaplamaları aşağıdaki şekilde de yapılabilir.
\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*}
çıktı:
bkz. pgfmanual.pdf, 13.5.4 Mesafe Değiştiricilerin Sözdizimi
<coordinate>!<dimension>!<angle>:<second coordinate>
kod sınavı1c:
\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}
çıktı:
Bölüm 2 : Minimum kodunu düşünün, ilk çizilmiş stanli paket ve daha sonra TikZ paketinde
kod sınavı2a: stanli ile çizim
\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}
tikz ile çizin:
\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}
çıktı:
kod example2b: stanli ve tikz çizin
\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}
çıktı:
bölüm 3:
kod sınavı3a:
\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}
çıktı:
kod sınavı3b:
\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}
çıktı:
kod sınavı3c:
\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}
çıktı:
kontroller için lütfen 2.4 Kavisli Yol Yapısına bakın.
Düzenleme: 2020-10-30 viraj konumu değişikliği sınavı.
\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}
çıktı: