Draw a 2D conical spring












1















I want to draw a conical spring using latex in the 2D space.



I used the following command to draw a cyndrical spring between two nodes a and b:



documentclass[10pt,a4paper]{article}
usepackage[utf8]{inputenc}
usepackage{amsmath}
usepackage{amsfonts}
usepackage{amssymb}
usepackage{graphicx}
usepackage{tikz}
usepackage{pgfplots}
usetikzlibrary{decorations.pathmorphing,patterns}
begin{document}
begin{tikzpicture}
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[decoration={aspect=0.3, segment length=1.5mm, amplitude=3mm,zigzag},decorate] (0,4) -- (a);
draw[decoration={aspect=0.3, segment length=2mm, amplitude=3mm,zigzag},decorate] (0,-4) -- (a);
draw[decoration={aspect=0.3, segment length=1.8mm, amplitude=3mm,zigzag},decorate] (4,0) -- (a);
draw[decoration={aspect=0.3, segment length=1.8mm, amplitude=3mm,zigzag},decorate] (-4,0) -- (a);
fill [pattern = north east lines] (-1,4) rectangle (1,4.3);
draw[thick] (-1,4) -- (1,4);
end{tikzpicture}
end{document}


but I could not use the zigzag options to draw a conical spring with various diameters.



Can anybody help me?



Thanks in advance.










share|improve this question

























  • Maybe tex.stackexchange.com/questions/133183/draw-spiral-cone-tikz can help you or ctan.math.utah.edu/ctan/tex-archive/graphics/pstricks/contrib/.../pst-solides3d-doc.pdf page 81

    – albert
    Feb 8 at 16:56













  • Welcome to TeX.SE! Please provide us with a complete example that starts with documentclass, ends with end{document}, can be compiled and shows what you've tried. And please explain better a bit better what you're after.

    – marmot
    Feb 8 at 16:56













  • Welcome! Perhaps good to know: you can format a block of code by indenting it by four spaces (like I've just done). This can be accomplished by either pressing the {}-button at the top or by pressing ctrl-K (or cmd-K in MacOS) while the text is selected, as demonstrated here. I was going to add something, about minimal working examples, but apparently marmot was faster.

    – Circumscribe
    Feb 8 at 16:58













  • Thanks @albert, i want a simple 2D spring.

    – Oussama Braydi
    Feb 8 at 17:28
















1















I want to draw a conical spring using latex in the 2D space.



I used the following command to draw a cyndrical spring between two nodes a and b:



documentclass[10pt,a4paper]{article}
usepackage[utf8]{inputenc}
usepackage{amsmath}
usepackage{amsfonts}
usepackage{amssymb}
usepackage{graphicx}
usepackage{tikz}
usepackage{pgfplots}
usetikzlibrary{decorations.pathmorphing,patterns}
begin{document}
begin{tikzpicture}
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[decoration={aspect=0.3, segment length=1.5mm, amplitude=3mm,zigzag},decorate] (0,4) -- (a);
draw[decoration={aspect=0.3, segment length=2mm, amplitude=3mm,zigzag},decorate] (0,-4) -- (a);
draw[decoration={aspect=0.3, segment length=1.8mm, amplitude=3mm,zigzag},decorate] (4,0) -- (a);
draw[decoration={aspect=0.3, segment length=1.8mm, amplitude=3mm,zigzag},decorate] (-4,0) -- (a);
fill [pattern = north east lines] (-1,4) rectangle (1,4.3);
draw[thick] (-1,4) -- (1,4);
end{tikzpicture}
end{document}


but I could not use the zigzag options to draw a conical spring with various diameters.



Can anybody help me?



Thanks in advance.










share|improve this question

























  • Maybe tex.stackexchange.com/questions/133183/draw-spiral-cone-tikz can help you or ctan.math.utah.edu/ctan/tex-archive/graphics/pstricks/contrib/.../pst-solides3d-doc.pdf page 81

    – albert
    Feb 8 at 16:56













  • Welcome to TeX.SE! Please provide us with a complete example that starts with documentclass, ends with end{document}, can be compiled and shows what you've tried. And please explain better a bit better what you're after.

    – marmot
    Feb 8 at 16:56













  • Welcome! Perhaps good to know: you can format a block of code by indenting it by four spaces (like I've just done). This can be accomplished by either pressing the {}-button at the top or by pressing ctrl-K (or cmd-K in MacOS) while the text is selected, as demonstrated here. I was going to add something, about minimal working examples, but apparently marmot was faster.

    – Circumscribe
    Feb 8 at 16:58













  • Thanks @albert, i want a simple 2D spring.

    – Oussama Braydi
    Feb 8 at 17:28














1












1








1








I want to draw a conical spring using latex in the 2D space.



I used the following command to draw a cyndrical spring between two nodes a and b:



documentclass[10pt,a4paper]{article}
usepackage[utf8]{inputenc}
usepackage{amsmath}
usepackage{amsfonts}
usepackage{amssymb}
usepackage{graphicx}
usepackage{tikz}
usepackage{pgfplots}
usetikzlibrary{decorations.pathmorphing,patterns}
begin{document}
begin{tikzpicture}
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[decoration={aspect=0.3, segment length=1.5mm, amplitude=3mm,zigzag},decorate] (0,4) -- (a);
draw[decoration={aspect=0.3, segment length=2mm, amplitude=3mm,zigzag},decorate] (0,-4) -- (a);
draw[decoration={aspect=0.3, segment length=1.8mm, amplitude=3mm,zigzag},decorate] (4,0) -- (a);
draw[decoration={aspect=0.3, segment length=1.8mm, amplitude=3mm,zigzag},decorate] (-4,0) -- (a);
fill [pattern = north east lines] (-1,4) rectangle (1,4.3);
draw[thick] (-1,4) -- (1,4);
end{tikzpicture}
end{document}


but I could not use the zigzag options to draw a conical spring with various diameters.



Can anybody help me?



Thanks in advance.










share|improve this question
















I want to draw a conical spring using latex in the 2D space.



I used the following command to draw a cyndrical spring between two nodes a and b:



documentclass[10pt,a4paper]{article}
usepackage[utf8]{inputenc}
usepackage{amsmath}
usepackage{amsfonts}
usepackage{amssymb}
usepackage{graphicx}
usepackage{tikz}
usepackage{pgfplots}
usetikzlibrary{decorations.pathmorphing,patterns}
begin{document}
begin{tikzpicture}
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[decoration={aspect=0.3, segment length=1.5mm, amplitude=3mm,zigzag},decorate] (0,4) -- (a);
draw[decoration={aspect=0.3, segment length=2mm, amplitude=3mm,zigzag},decorate] (0,-4) -- (a);
draw[decoration={aspect=0.3, segment length=1.8mm, amplitude=3mm,zigzag},decorate] (4,0) -- (a);
draw[decoration={aspect=0.3, segment length=1.8mm, amplitude=3mm,zigzag},decorate] (-4,0) -- (a);
fill [pattern = north east lines] (-1,4) rectangle (1,4.3);
draw[thick] (-1,4) -- (1,4);
end{tikzpicture}
end{document}


but I could not use the zigzag options to draw a conical spring with various diameters.



Can anybody help me?



Thanks in advance.







tikz-pgf






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 8 at 17:22







Oussama Braydi

















asked Feb 8 at 16:53









Oussama BraydiOussama Braydi

83




83













  • Maybe tex.stackexchange.com/questions/133183/draw-spiral-cone-tikz can help you or ctan.math.utah.edu/ctan/tex-archive/graphics/pstricks/contrib/.../pst-solides3d-doc.pdf page 81

    – albert
    Feb 8 at 16:56













  • Welcome to TeX.SE! Please provide us with a complete example that starts with documentclass, ends with end{document}, can be compiled and shows what you've tried. And please explain better a bit better what you're after.

    – marmot
    Feb 8 at 16:56













  • Welcome! Perhaps good to know: you can format a block of code by indenting it by four spaces (like I've just done). This can be accomplished by either pressing the {}-button at the top or by pressing ctrl-K (or cmd-K in MacOS) while the text is selected, as demonstrated here. I was going to add something, about minimal working examples, but apparently marmot was faster.

    – Circumscribe
    Feb 8 at 16:58













  • Thanks @albert, i want a simple 2D spring.

    – Oussama Braydi
    Feb 8 at 17:28



















  • Maybe tex.stackexchange.com/questions/133183/draw-spiral-cone-tikz can help you or ctan.math.utah.edu/ctan/tex-archive/graphics/pstricks/contrib/.../pst-solides3d-doc.pdf page 81

    – albert
    Feb 8 at 16:56













  • Welcome to TeX.SE! Please provide us with a complete example that starts with documentclass, ends with end{document}, can be compiled and shows what you've tried. And please explain better a bit better what you're after.

    – marmot
    Feb 8 at 16:56













  • Welcome! Perhaps good to know: you can format a block of code by indenting it by four spaces (like I've just done). This can be accomplished by either pressing the {}-button at the top or by pressing ctrl-K (or cmd-K in MacOS) while the text is selected, as demonstrated here. I was going to add something, about minimal working examples, but apparently marmot was faster.

    – Circumscribe
    Feb 8 at 16:58













  • Thanks @albert, i want a simple 2D spring.

    – Oussama Braydi
    Feb 8 at 17:28

















Maybe tex.stackexchange.com/questions/133183/draw-spiral-cone-tikz can help you or ctan.math.utah.edu/ctan/tex-archive/graphics/pstricks/contrib/.../pst-solides3d-doc.pdf page 81

– albert
Feb 8 at 16:56







Maybe tex.stackexchange.com/questions/133183/draw-spiral-cone-tikz can help you or ctan.math.utah.edu/ctan/tex-archive/graphics/pstricks/contrib/.../pst-solides3d-doc.pdf page 81

– albert
Feb 8 at 16:56















Welcome to TeX.SE! Please provide us with a complete example that starts with documentclass, ends with end{document}, can be compiled and shows what you've tried. And please explain better a bit better what you're after.

– marmot
Feb 8 at 16:56







Welcome to TeX.SE! Please provide us with a complete example that starts with documentclass, ends with end{document}, can be compiled and shows what you've tried. And please explain better a bit better what you're after.

– marmot
Feb 8 at 16:56















Welcome! Perhaps good to know: you can format a block of code by indenting it by four spaces (like I've just done). This can be accomplished by either pressing the {}-button at the top or by pressing ctrl-K (or cmd-K in MacOS) while the text is selected, as demonstrated here. I was going to add something, about minimal working examples, but apparently marmot was faster.

– Circumscribe
Feb 8 at 16:58







Welcome! Perhaps good to know: you can format a block of code by indenting it by four spaces (like I've just done). This can be accomplished by either pressing the {}-button at the top or by pressing ctrl-K (or cmd-K in MacOS) while the text is selected, as demonstrated here. I was going to add something, about minimal working examples, but apparently marmot was faster.

– Circumscribe
Feb 8 at 16:58















Thanks @albert, i want a simple 2D spring.

– Oussama Braydi
Feb 8 at 17:28





Thanks @albert, i want a simple 2D spring.

– Oussama Braydi
Feb 8 at 17:28










1 Answer
1






active

oldest

votes


















2














This is a quickly written code, not a decoration (in the usual sense), so this works only for straight lines. If allows you to draw zigzags of varying amplitude. In this implementation, you can specify the number of zigs, not the segment length.



documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc,decorations.pathreplacing}
tikzset{
varying zigzag/.style={
decorate,decoration={show path construction,
lineto code={
draw
(tikzinputsegmentfirst)
foreach XX in {1,...,vzgigzagsteps}
{ --
($($(tikzinputsegmentfirst)!{(2*XX-1)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX-1)/(2*vzgigzagsteps))*0.5cm}!-90:(tikzinputsegmentlast) $)
--
($($(tikzinputsegmentfirst)!{(2*XX)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX)/(2*vzgigzagsteps))*0.5cm}!90:(tikzinputsegmentlast) $)
} -- (tikzinputsegmentlast);
}}},
vzigzag/.cd,
left diameter/.initial=1,
right diameter/.initial=0,
steps/.store in=vzgigzagsteps,
steps=10}
begin{document}
begin{tikzpicture}
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
begin{scope}[,xshift=9cm,vzigzag/left diameter=0,vzigzag/right diameter=1.5]
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
end{scope}
end{tikzpicture}
end{document}


enter image description here






share|improve this answer
























  • The code is exactly what I need, Thanks @marmot.

    – Oussama Braydi
    Feb 11 at 8:47











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f473956%2fdraw-a-2d-conical-spring%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














This is a quickly written code, not a decoration (in the usual sense), so this works only for straight lines. If allows you to draw zigzags of varying amplitude. In this implementation, you can specify the number of zigs, not the segment length.



documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc,decorations.pathreplacing}
tikzset{
varying zigzag/.style={
decorate,decoration={show path construction,
lineto code={
draw
(tikzinputsegmentfirst)
foreach XX in {1,...,vzgigzagsteps}
{ --
($($(tikzinputsegmentfirst)!{(2*XX-1)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX-1)/(2*vzgigzagsteps))*0.5cm}!-90:(tikzinputsegmentlast) $)
--
($($(tikzinputsegmentfirst)!{(2*XX)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX)/(2*vzgigzagsteps))*0.5cm}!90:(tikzinputsegmentlast) $)
} -- (tikzinputsegmentlast);
}}},
vzigzag/.cd,
left diameter/.initial=1,
right diameter/.initial=0,
steps/.store in=vzgigzagsteps,
steps=10}
begin{document}
begin{tikzpicture}
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
begin{scope}[,xshift=9cm,vzigzag/left diameter=0,vzigzag/right diameter=1.5]
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
end{scope}
end{tikzpicture}
end{document}


enter image description here






share|improve this answer
























  • The code is exactly what I need, Thanks @marmot.

    – Oussama Braydi
    Feb 11 at 8:47
















2














This is a quickly written code, not a decoration (in the usual sense), so this works only for straight lines. If allows you to draw zigzags of varying amplitude. In this implementation, you can specify the number of zigs, not the segment length.



documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc,decorations.pathreplacing}
tikzset{
varying zigzag/.style={
decorate,decoration={show path construction,
lineto code={
draw
(tikzinputsegmentfirst)
foreach XX in {1,...,vzgigzagsteps}
{ --
($($(tikzinputsegmentfirst)!{(2*XX-1)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX-1)/(2*vzgigzagsteps))*0.5cm}!-90:(tikzinputsegmentlast) $)
--
($($(tikzinputsegmentfirst)!{(2*XX)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX)/(2*vzgigzagsteps))*0.5cm}!90:(tikzinputsegmentlast) $)
} -- (tikzinputsegmentlast);
}}},
vzigzag/.cd,
left diameter/.initial=1,
right diameter/.initial=0,
steps/.store in=vzgigzagsteps,
steps=10}
begin{document}
begin{tikzpicture}
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
begin{scope}[,xshift=9cm,vzigzag/left diameter=0,vzigzag/right diameter=1.5]
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
end{scope}
end{tikzpicture}
end{document}


enter image description here






share|improve this answer
























  • The code is exactly what I need, Thanks @marmot.

    – Oussama Braydi
    Feb 11 at 8:47














2












2








2







This is a quickly written code, not a decoration (in the usual sense), so this works only for straight lines. If allows you to draw zigzags of varying amplitude. In this implementation, you can specify the number of zigs, not the segment length.



documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc,decorations.pathreplacing}
tikzset{
varying zigzag/.style={
decorate,decoration={show path construction,
lineto code={
draw
(tikzinputsegmentfirst)
foreach XX in {1,...,vzgigzagsteps}
{ --
($($(tikzinputsegmentfirst)!{(2*XX-1)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX-1)/(2*vzgigzagsteps))*0.5cm}!-90:(tikzinputsegmentlast) $)
--
($($(tikzinputsegmentfirst)!{(2*XX)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX)/(2*vzgigzagsteps))*0.5cm}!90:(tikzinputsegmentlast) $)
} -- (tikzinputsegmentlast);
}}},
vzigzag/.cd,
left diameter/.initial=1,
right diameter/.initial=0,
steps/.store in=vzgigzagsteps,
steps=10}
begin{document}
begin{tikzpicture}
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
begin{scope}[,xshift=9cm,vzigzag/left diameter=0,vzigzag/right diameter=1.5]
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
end{scope}
end{tikzpicture}
end{document}


enter image description here






share|improve this answer













This is a quickly written code, not a decoration (in the usual sense), so this works only for straight lines. If allows you to draw zigzags of varying amplitude. In this implementation, you can specify the number of zigs, not the segment length.



documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc,decorations.pathreplacing}
tikzset{
varying zigzag/.style={
decorate,decoration={show path construction,
lineto code={
draw
(tikzinputsegmentfirst)
foreach XX in {1,...,vzgigzagsteps}
{ --
($($(tikzinputsegmentfirst)!{(2*XX-1)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX-1)/(2*vzgigzagsteps))*0.5cm}!-90:(tikzinputsegmentlast) $)
--
($($(tikzinputsegmentfirst)!{(2*XX)/(2*vzgigzagsteps+2)}!(tikzinputsegmentlast)$)!
{(pgfkeysvalueof{/tikz/vzigzag/left diameter}+(pgfkeysvalueof{/tikz/vzigzag/right
diameter}-pgfkeysvalueof{/tikz/vzigzag/left
diameter})*(2*XX)/(2*vzgigzagsteps))*0.5cm}!90:(tikzinputsegmentlast) $)
} -- (tikzinputsegmentlast);
}}},
vzigzag/.cd,
left diameter/.initial=1,
right diameter/.initial=0,
steps/.store in=vzgigzagsteps,
steps=10}
begin{document}
begin{tikzpicture}
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
begin{scope}[,xshift=9cm,vzigzag/left diameter=0,vzigzag/right diameter=1.5]
node[circle,fill=blue,inner sep=2.5mm] (a) at (0,1.5) {};
draw[varying zigzag] (0,4) -- (a);
draw[varying zigzag] (0,-4) -- (a);
draw[varying zigzag] (4,0) -- (a);
draw[varying zigzag] (-4,0) -- (a);
end{scope}
end{tikzpicture}
end{document}


enter image description here







share|improve this answer












share|improve this answer



share|improve this answer










answered Feb 8 at 17:37









marmotmarmot

100k4116223




100k4116223













  • The code is exactly what I need, Thanks @marmot.

    – Oussama Braydi
    Feb 11 at 8:47



















  • The code is exactly what I need, Thanks @marmot.

    – Oussama Braydi
    Feb 11 at 8:47

















The code is exactly what I need, Thanks @marmot.

– Oussama Braydi
Feb 11 at 8:47





The code is exactly what I need, Thanks @marmot.

– Oussama Braydi
Feb 11 at 8:47


















draft saved

draft discarded




















































Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f473956%2fdraw-a-2d-conical-spring%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

ComboBox Display Member on multiple fields

Is it possible to collect Nectar points via Trainline?