How to draw special tikz borders
Clash Royale CLAN TAG#URR8PPP
I am trying to draw a diagram showing the action of soap on grease and dirt. Currently I have the following diagram:
I would like the shapes that surround the large orange-yellow blobs to be the same as the shapes that are free and not bound. The code is as follows:
documentclass[10pt,a4paper]article
usepackage[utf8]inputenc
usepackageamsmath
usepackageamsfonts
usepackageamssymb
usepackagegraphicx
usepackage[left=0.00cm, right=0.00cm]geometry
usepackagetikz
usetikzlibrarycalc,decorations.pathreplacing,fadings
newcommandlipid[3]
beginscope[xshift=#1cm,yshift=#2cm,rotate=#3]
shadedraw[shading=radial,inner color=purple!40,outer color=purple!60!black] (0,0) circle (2.5pt);
shade[shading=linear,top color=purple!60!black,bottom color=green!70!black] (-0.75pt,-2pt) rectangle (0.75pt,-12pt);
endscope
begindocument
pgfdeclaredecorationlipidleafletinitial
% Place as many segments as possible along the path to decorate
% the minimum distance between two segments is set to 7 pt.
stateinitial[width=pgfdecoratedpathlength/floor(pgfdecoratedpathlength/7pt)]
pgfpathmovetopgfpoint-0.75pt3pt
pgfpathlinetopgfpoint-0.75pt-7pt
pgfpathlinetopgfpoint0.75pt-7pt
pgfpathlinetopgfpoint0.75pt3pt
% Draw the head group
pgfpathmovetopgfpoint1pt0pt
pgfpathcirclepgfpoint0pt5pt2.5pt
statefinal
pgfpathmovetopgfpointdecoratedpathlast
begintikzpicture
% BACKGROUND
shadedraw[bottom color=cyan!10,top color=cyan!60!blue] (-0.5,0) rectangle (11,7.5);
draw[thick] (-0.5,0) -- (11,0);
% LARGE MOLECULES
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0) -- (-0.5,0) -- (-0.5,1.5) -- cycle;
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% BOUND LIPIDS
draw[decorate, decoration=lipidleaflet] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0);
draw[decorate, decoration=lipidleaflet] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% FREE LIPIDS
lipid1620
lipid5.55.5193
lipid0.52.5201
lipid37118
lipid2.53.5217
lipid3.55346
lipid53.526
lipid6.52.5310
lipid6.51123
lipid91353
% LABELLING
node at (2,0.5) Grease on Surface;
node at (9,2.5) Micelle;
draw (8.7,4.3) -- (7.5,6) node[anchor=south,align=center] Grease particle made\soluble by soap;
endtikzpicture
enddocument
Some of the code comes from http://www.texample.net/tikz/examples/lipid-vesicle/
tikz-pgf
add a comment |
I am trying to draw a diagram showing the action of soap on grease and dirt. Currently I have the following diagram:
I would like the shapes that surround the large orange-yellow blobs to be the same as the shapes that are free and not bound. The code is as follows:
documentclass[10pt,a4paper]article
usepackage[utf8]inputenc
usepackageamsmath
usepackageamsfonts
usepackageamssymb
usepackagegraphicx
usepackage[left=0.00cm, right=0.00cm]geometry
usepackagetikz
usetikzlibrarycalc,decorations.pathreplacing,fadings
newcommandlipid[3]
beginscope[xshift=#1cm,yshift=#2cm,rotate=#3]
shadedraw[shading=radial,inner color=purple!40,outer color=purple!60!black] (0,0) circle (2.5pt);
shade[shading=linear,top color=purple!60!black,bottom color=green!70!black] (-0.75pt,-2pt) rectangle (0.75pt,-12pt);
endscope
begindocument
pgfdeclaredecorationlipidleafletinitial
% Place as many segments as possible along the path to decorate
% the minimum distance between two segments is set to 7 pt.
stateinitial[width=pgfdecoratedpathlength/floor(pgfdecoratedpathlength/7pt)]
pgfpathmovetopgfpoint-0.75pt3pt
pgfpathlinetopgfpoint-0.75pt-7pt
pgfpathlinetopgfpoint0.75pt-7pt
pgfpathlinetopgfpoint0.75pt3pt
% Draw the head group
pgfpathmovetopgfpoint1pt0pt
pgfpathcirclepgfpoint0pt5pt2.5pt
statefinal
pgfpathmovetopgfpointdecoratedpathlast
begintikzpicture
% BACKGROUND
shadedraw[bottom color=cyan!10,top color=cyan!60!blue] (-0.5,0) rectangle (11,7.5);
draw[thick] (-0.5,0) -- (11,0);
% LARGE MOLECULES
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0) -- (-0.5,0) -- (-0.5,1.5) -- cycle;
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% BOUND LIPIDS
draw[decorate, decoration=lipidleaflet] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0);
draw[decorate, decoration=lipidleaflet] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% FREE LIPIDS
lipid1620
lipid5.55.5193
lipid0.52.5201
lipid37118
lipid2.53.5217
lipid3.55346
lipid53.526
lipid6.52.5310
lipid6.51123
lipid91353
% LABELLING
node at (2,0.5) Grease on Surface;
node at (9,2.5) Micelle;
draw (8.7,4.3) -- (7.5,6) node[anchor=south,align=center] Grease particle made\soluble by soap;
endtikzpicture
enddocument
Some of the code comes from http://www.texample.net/tikz/examples/lipid-vesicle/
tikz-pgf
add a comment |
I am trying to draw a diagram showing the action of soap on grease and dirt. Currently I have the following diagram:
I would like the shapes that surround the large orange-yellow blobs to be the same as the shapes that are free and not bound. The code is as follows:
documentclass[10pt,a4paper]article
usepackage[utf8]inputenc
usepackageamsmath
usepackageamsfonts
usepackageamssymb
usepackagegraphicx
usepackage[left=0.00cm, right=0.00cm]geometry
usepackagetikz
usetikzlibrarycalc,decorations.pathreplacing,fadings
newcommandlipid[3]
beginscope[xshift=#1cm,yshift=#2cm,rotate=#3]
shadedraw[shading=radial,inner color=purple!40,outer color=purple!60!black] (0,0) circle (2.5pt);
shade[shading=linear,top color=purple!60!black,bottom color=green!70!black] (-0.75pt,-2pt) rectangle (0.75pt,-12pt);
endscope
begindocument
pgfdeclaredecorationlipidleafletinitial
% Place as many segments as possible along the path to decorate
% the minimum distance between two segments is set to 7 pt.
stateinitial[width=pgfdecoratedpathlength/floor(pgfdecoratedpathlength/7pt)]
pgfpathmovetopgfpoint-0.75pt3pt
pgfpathlinetopgfpoint-0.75pt-7pt
pgfpathlinetopgfpoint0.75pt-7pt
pgfpathlinetopgfpoint0.75pt3pt
% Draw the head group
pgfpathmovetopgfpoint1pt0pt
pgfpathcirclepgfpoint0pt5pt2.5pt
statefinal
pgfpathmovetopgfpointdecoratedpathlast
begintikzpicture
% BACKGROUND
shadedraw[bottom color=cyan!10,top color=cyan!60!blue] (-0.5,0) rectangle (11,7.5);
draw[thick] (-0.5,0) -- (11,0);
% LARGE MOLECULES
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0) -- (-0.5,0) -- (-0.5,1.5) -- cycle;
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% BOUND LIPIDS
draw[decorate, decoration=lipidleaflet] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0);
draw[decorate, decoration=lipidleaflet] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% FREE LIPIDS
lipid1620
lipid5.55.5193
lipid0.52.5201
lipid37118
lipid2.53.5217
lipid3.55346
lipid53.526
lipid6.52.5310
lipid6.51123
lipid91353
% LABELLING
node at (2,0.5) Grease on Surface;
node at (9,2.5) Micelle;
draw (8.7,4.3) -- (7.5,6) node[anchor=south,align=center] Grease particle made\soluble by soap;
endtikzpicture
enddocument
Some of the code comes from http://www.texample.net/tikz/examples/lipid-vesicle/
tikz-pgf
I am trying to draw a diagram showing the action of soap on grease and dirt. Currently I have the following diagram:
I would like the shapes that surround the large orange-yellow blobs to be the same as the shapes that are free and not bound. The code is as follows:
documentclass[10pt,a4paper]article
usepackage[utf8]inputenc
usepackageamsmath
usepackageamsfonts
usepackageamssymb
usepackagegraphicx
usepackage[left=0.00cm, right=0.00cm]geometry
usepackagetikz
usetikzlibrarycalc,decorations.pathreplacing,fadings
newcommandlipid[3]
beginscope[xshift=#1cm,yshift=#2cm,rotate=#3]
shadedraw[shading=radial,inner color=purple!40,outer color=purple!60!black] (0,0) circle (2.5pt);
shade[shading=linear,top color=purple!60!black,bottom color=green!70!black] (-0.75pt,-2pt) rectangle (0.75pt,-12pt);
endscope
begindocument
pgfdeclaredecorationlipidleafletinitial
% Place as many segments as possible along the path to decorate
% the minimum distance between two segments is set to 7 pt.
stateinitial[width=pgfdecoratedpathlength/floor(pgfdecoratedpathlength/7pt)]
pgfpathmovetopgfpoint-0.75pt3pt
pgfpathlinetopgfpoint-0.75pt-7pt
pgfpathlinetopgfpoint0.75pt-7pt
pgfpathlinetopgfpoint0.75pt3pt
% Draw the head group
pgfpathmovetopgfpoint1pt0pt
pgfpathcirclepgfpoint0pt5pt2.5pt
statefinal
pgfpathmovetopgfpointdecoratedpathlast
begintikzpicture
% BACKGROUND
shadedraw[bottom color=cyan!10,top color=cyan!60!blue] (-0.5,0) rectangle (11,7.5);
draw[thick] (-0.5,0) -- (11,0);
% LARGE MOLECULES
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0) -- (-0.5,0) -- (-0.5,1.5) -- cycle;
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% BOUND LIPIDS
draw[decorate, decoration=lipidleaflet] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0);
draw[decorate, decoration=lipidleaflet] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% FREE LIPIDS
lipid1620
lipid5.55.5193
lipid0.52.5201
lipid37118
lipid2.53.5217
lipid3.55346
lipid53.526
lipid6.52.5310
lipid6.51123
lipid91353
% LABELLING
node at (2,0.5) Grease on Surface;
node at (9,2.5) Micelle;
draw (8.7,4.3) -- (7.5,6) node[anchor=south,align=center] Grease particle made\soluble by soap;
endtikzpicture
enddocument
Some of the code comes from http://www.texample.net/tikz/examples/lipid-vesicle/
tikz-pgf
tikz-pgf
asked Jan 21 at 1:46
sab hoquesab hoque
1,519318
1,519318
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Ok, I made some refinements:
- Use
pic
s for the lipids. - Adjust their shading angle to make the shading uniform. The shading angle is computed based on the actual orientation of the lipids.
- Lifted the lipids up. To change the lift, change
2mm
inpath pic[midway,sloped,yshift=2mm] lipid;
- Cleaned up a bit.
documentclass[10pt,a4paper]article
usepackage[utf8]inputenc
usepackageamsmath
usepackageamsfonts
usepackageamssymb
usepackage[left=0.00cm, right=0.00cm]geometry
usepackagetikz
usetikzlibrarycalc,fadings,decorations.markings
tikzsetpics/.cd,
lipid/.style=code=
shadedraw[shading=radial,inner color=purple!40,outer color=purple!60!black] (0,0) circle (2.5pt);
shade let p1=($(1,0)-(0,0)$),n1=atan2(y1,x1),
p2=($(current bounding box.east)-(current bounding box.west)$),n2=n1-atan2(y2,x2)
in %pgfextratypeoutn2
[shading=linear,top color=purple!60!black,bottom color=green!70!black,
shading angle=n2] (-0.75pt,-2pt) rectangle (0.75pt,-12pt);
begindocument
begintikzpicture[multi lipid/.style=decoration=markings,
mark=between positions 0 and 1 step #1 with %
beginscope
path pic[midway,sloped,yshift=2mm] lipid;
endscope
]
% BACKGROUND
shadedraw[bottom color=cyan!10,top color=cyan!60!blue] (-0.5,0) rectangle (11,7.5);
draw[thick] (-0.5,0) -- (11,0);
% LARGE MOLECULES
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0) -- (-0.5,0) -- (-0.5,1.5) -- cycle;
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% BOUND LIPIDS
draw[decorate,multi lipid=4.2mm] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0);
draw[decorate,multi lipid=4.2mm] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% FREE LIPIDS
path (1,6) pic[rotate=20]lipid
(5.5,5.5) pic[rotate=193]lipid
(0.5,2.5) pic[rotate=201]lipid
(3,7) pic[rotate=118]lipid
(2.5,3.5) pic[rotate=217]lipid
(3.5,5) pic[rotate=346]lipid
(5,3.5) pic[rotate=26]lipid
(6.5,2.5) pic[rotate=310]lipid
(6.5,1) pic[rotate=123]lipid
(9,1) pic[rotate=353]lipid;
% LABELLING
node at (2,0.5) Grease on Surface;
node at (9,2.5) Micelle;
draw (8.7,4.3) -- (7.5,6) node[anchor=south,align=center] Grease particle made\soluble by soap;
endtikzpicture
enddocument
Mainly a fixed distance. Also on another note, if you look at the picture in the original image from the question, the lipids stick out more, but I think I can do that myself. Thanks so much
– sab hoque
Jan 21 at 3:01
There appears to be one issue that I have only come across now, the shading on the green-purple region changes with the orientation of the lipid. Is it possible to make it a fixed gradient such that it is always purple at the end near the circle and green at the tail. I would like to apply this to all the lipids (including the free ones)
– sab hoque
Jan 21 at 3:03
1
@sabhoque Yes. I updated the thingy. (The shading of the purple region is radial, I think, so it is invariant under rotations.)
– marmot
Jan 21 at 3:25
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f471073%2fhow-to-draw-special-tikz-borders%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
Ok, I made some refinements:
- Use
pic
s for the lipids. - Adjust their shading angle to make the shading uniform. The shading angle is computed based on the actual orientation of the lipids.
- Lifted the lipids up. To change the lift, change
2mm
inpath pic[midway,sloped,yshift=2mm] lipid;
- Cleaned up a bit.
documentclass[10pt,a4paper]article
usepackage[utf8]inputenc
usepackageamsmath
usepackageamsfonts
usepackageamssymb
usepackage[left=0.00cm, right=0.00cm]geometry
usepackagetikz
usetikzlibrarycalc,fadings,decorations.markings
tikzsetpics/.cd,
lipid/.style=code=
shadedraw[shading=radial,inner color=purple!40,outer color=purple!60!black] (0,0) circle (2.5pt);
shade let p1=($(1,0)-(0,0)$),n1=atan2(y1,x1),
p2=($(current bounding box.east)-(current bounding box.west)$),n2=n1-atan2(y2,x2)
in %pgfextratypeoutn2
[shading=linear,top color=purple!60!black,bottom color=green!70!black,
shading angle=n2] (-0.75pt,-2pt) rectangle (0.75pt,-12pt);
begindocument
begintikzpicture[multi lipid/.style=decoration=markings,
mark=between positions 0 and 1 step #1 with %
beginscope
path pic[midway,sloped,yshift=2mm] lipid;
endscope
]
% BACKGROUND
shadedraw[bottom color=cyan!10,top color=cyan!60!blue] (-0.5,0) rectangle (11,7.5);
draw[thick] (-0.5,0) -- (11,0);
% LARGE MOLECULES
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0) -- (-0.5,0) -- (-0.5,1.5) -- cycle;
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% BOUND LIPIDS
draw[decorate,multi lipid=4.2mm] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0);
draw[decorate,multi lipid=4.2mm] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% FREE LIPIDS
path (1,6) pic[rotate=20]lipid
(5.5,5.5) pic[rotate=193]lipid
(0.5,2.5) pic[rotate=201]lipid
(3,7) pic[rotate=118]lipid
(2.5,3.5) pic[rotate=217]lipid
(3.5,5) pic[rotate=346]lipid
(5,3.5) pic[rotate=26]lipid
(6.5,2.5) pic[rotate=310]lipid
(6.5,1) pic[rotate=123]lipid
(9,1) pic[rotate=353]lipid;
% LABELLING
node at (2,0.5) Grease on Surface;
node at (9,2.5) Micelle;
draw (8.7,4.3) -- (7.5,6) node[anchor=south,align=center] Grease particle made\soluble by soap;
endtikzpicture
enddocument
Mainly a fixed distance. Also on another note, if you look at the picture in the original image from the question, the lipids stick out more, but I think I can do that myself. Thanks so much
– sab hoque
Jan 21 at 3:01
There appears to be one issue that I have only come across now, the shading on the green-purple region changes with the orientation of the lipid. Is it possible to make it a fixed gradient such that it is always purple at the end near the circle and green at the tail. I would like to apply this to all the lipids (including the free ones)
– sab hoque
Jan 21 at 3:03
1
@sabhoque Yes. I updated the thingy. (The shading of the purple region is radial, I think, so it is invariant under rotations.)
– marmot
Jan 21 at 3:25
add a comment |
Ok, I made some refinements:
- Use
pic
s for the lipids. - Adjust their shading angle to make the shading uniform. The shading angle is computed based on the actual orientation of the lipids.
- Lifted the lipids up. To change the lift, change
2mm
inpath pic[midway,sloped,yshift=2mm] lipid;
- Cleaned up a bit.
documentclass[10pt,a4paper]article
usepackage[utf8]inputenc
usepackageamsmath
usepackageamsfonts
usepackageamssymb
usepackage[left=0.00cm, right=0.00cm]geometry
usepackagetikz
usetikzlibrarycalc,fadings,decorations.markings
tikzsetpics/.cd,
lipid/.style=code=
shadedraw[shading=radial,inner color=purple!40,outer color=purple!60!black] (0,0) circle (2.5pt);
shade let p1=($(1,0)-(0,0)$),n1=atan2(y1,x1),
p2=($(current bounding box.east)-(current bounding box.west)$),n2=n1-atan2(y2,x2)
in %pgfextratypeoutn2
[shading=linear,top color=purple!60!black,bottom color=green!70!black,
shading angle=n2] (-0.75pt,-2pt) rectangle (0.75pt,-12pt);
begindocument
begintikzpicture[multi lipid/.style=decoration=markings,
mark=between positions 0 and 1 step #1 with %
beginscope
path pic[midway,sloped,yshift=2mm] lipid;
endscope
]
% BACKGROUND
shadedraw[bottom color=cyan!10,top color=cyan!60!blue] (-0.5,0) rectangle (11,7.5);
draw[thick] (-0.5,0) -- (11,0);
% LARGE MOLECULES
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0) -- (-0.5,0) -- (-0.5,1.5) -- cycle;
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% BOUND LIPIDS
draw[decorate,multi lipid=4.2mm] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0);
draw[decorate,multi lipid=4.2mm] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% FREE LIPIDS
path (1,6) pic[rotate=20]lipid
(5.5,5.5) pic[rotate=193]lipid
(0.5,2.5) pic[rotate=201]lipid
(3,7) pic[rotate=118]lipid
(2.5,3.5) pic[rotate=217]lipid
(3.5,5) pic[rotate=346]lipid
(5,3.5) pic[rotate=26]lipid
(6.5,2.5) pic[rotate=310]lipid
(6.5,1) pic[rotate=123]lipid
(9,1) pic[rotate=353]lipid;
% LABELLING
node at (2,0.5) Grease on Surface;
node at (9,2.5) Micelle;
draw (8.7,4.3) -- (7.5,6) node[anchor=south,align=center] Grease particle made\soluble by soap;
endtikzpicture
enddocument
Mainly a fixed distance. Also on another note, if you look at the picture in the original image from the question, the lipids stick out more, but I think I can do that myself. Thanks so much
– sab hoque
Jan 21 at 3:01
There appears to be one issue that I have only come across now, the shading on the green-purple region changes with the orientation of the lipid. Is it possible to make it a fixed gradient such that it is always purple at the end near the circle and green at the tail. I would like to apply this to all the lipids (including the free ones)
– sab hoque
Jan 21 at 3:03
1
@sabhoque Yes. I updated the thingy. (The shading of the purple region is radial, I think, so it is invariant under rotations.)
– marmot
Jan 21 at 3:25
add a comment |
Ok, I made some refinements:
- Use
pic
s for the lipids. - Adjust their shading angle to make the shading uniform. The shading angle is computed based on the actual orientation of the lipids.
- Lifted the lipids up. To change the lift, change
2mm
inpath pic[midway,sloped,yshift=2mm] lipid;
- Cleaned up a bit.
documentclass[10pt,a4paper]article
usepackage[utf8]inputenc
usepackageamsmath
usepackageamsfonts
usepackageamssymb
usepackage[left=0.00cm, right=0.00cm]geometry
usepackagetikz
usetikzlibrarycalc,fadings,decorations.markings
tikzsetpics/.cd,
lipid/.style=code=
shadedraw[shading=radial,inner color=purple!40,outer color=purple!60!black] (0,0) circle (2.5pt);
shade let p1=($(1,0)-(0,0)$),n1=atan2(y1,x1),
p2=($(current bounding box.east)-(current bounding box.west)$),n2=n1-atan2(y2,x2)
in %pgfextratypeoutn2
[shading=linear,top color=purple!60!black,bottom color=green!70!black,
shading angle=n2] (-0.75pt,-2pt) rectangle (0.75pt,-12pt);
begindocument
begintikzpicture[multi lipid/.style=decoration=markings,
mark=between positions 0 and 1 step #1 with %
beginscope
path pic[midway,sloped,yshift=2mm] lipid;
endscope
]
% BACKGROUND
shadedraw[bottom color=cyan!10,top color=cyan!60!blue] (-0.5,0) rectangle (11,7.5);
draw[thick] (-0.5,0) -- (11,0);
% LARGE MOLECULES
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0) -- (-0.5,0) -- (-0.5,1.5) -- cycle;
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% BOUND LIPIDS
draw[decorate,multi lipid=4.2mm] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0);
draw[decorate,multi lipid=4.2mm] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% FREE LIPIDS
path (1,6) pic[rotate=20]lipid
(5.5,5.5) pic[rotate=193]lipid
(0.5,2.5) pic[rotate=201]lipid
(3,7) pic[rotate=118]lipid
(2.5,3.5) pic[rotate=217]lipid
(3.5,5) pic[rotate=346]lipid
(5,3.5) pic[rotate=26]lipid
(6.5,2.5) pic[rotate=310]lipid
(6.5,1) pic[rotate=123]lipid
(9,1) pic[rotate=353]lipid;
% LABELLING
node at (2,0.5) Grease on Surface;
node at (9,2.5) Micelle;
draw (8.7,4.3) -- (7.5,6) node[anchor=south,align=center] Grease particle made\soluble by soap;
endtikzpicture
enddocument
Ok, I made some refinements:
- Use
pic
s for the lipids. - Adjust their shading angle to make the shading uniform. The shading angle is computed based on the actual orientation of the lipids.
- Lifted the lipids up. To change the lift, change
2mm
inpath pic[midway,sloped,yshift=2mm] lipid;
- Cleaned up a bit.
documentclass[10pt,a4paper]article
usepackage[utf8]inputenc
usepackageamsmath
usepackageamsfonts
usepackageamssymb
usepackage[left=0.00cm, right=0.00cm]geometry
usepackagetikz
usetikzlibrarycalc,fadings,decorations.markings
tikzsetpics/.cd,
lipid/.style=code=
shadedraw[shading=radial,inner color=purple!40,outer color=purple!60!black] (0,0) circle (2.5pt);
shade let p1=($(1,0)-(0,0)$),n1=atan2(y1,x1),
p2=($(current bounding box.east)-(current bounding box.west)$),n2=n1-atan2(y2,x2)
in %pgfextratypeoutn2
[shading=linear,top color=purple!60!black,bottom color=green!70!black,
shading angle=n2] (-0.75pt,-2pt) rectangle (0.75pt,-12pt);
begindocument
begintikzpicture[multi lipid/.style=decoration=markings,
mark=between positions 0 and 1 step #1 with %
beginscope
path pic[midway,sloped,yshift=2mm] lipid;
endscope
]
% BACKGROUND
shadedraw[bottom color=cyan!10,top color=cyan!60!blue] (-0.5,0) rectangle (11,7.5);
draw[thick] (-0.5,0) -- (11,0);
% LARGE MOLECULES
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0) -- (-0.5,0) -- (-0.5,1.5) -- cycle;
shadedraw[shading=radial,inner color=yellow!20,outer color=orange!40] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% BOUND LIPIDS
draw[decorate,multi lipid=4.2mm] (0,1.5) .. controls (2,1.5) and (3,2) .. (4,2) .. controls (5,2) and (5.5,2) .. (5.5,1.5) .. controls (5.5,1) and (4.5,0.5) .. (4.5,0);
draw[decorate,multi lipid=4.2mm] (7,3.5) .. controls (6.5,4) and (7.5,4.5) .. (8,5) .. controls (8.5,5.5) and (9,5.5) .. (9.5,5.5) .. controls (10,5.5) and (10.5,5) .. (10.5,4.5) .. controls (10.5,4) and (10.5,4) .. (10,3.5).. controls (9.5,3) and (9.5,3) .. (8.5,3) .. controls (8,3) and (7.5,3) .. (7,3.5);
% FREE LIPIDS
path (1,6) pic[rotate=20]lipid
(5.5,5.5) pic[rotate=193]lipid
(0.5,2.5) pic[rotate=201]lipid
(3,7) pic[rotate=118]lipid
(2.5,3.5) pic[rotate=217]lipid
(3.5,5) pic[rotate=346]lipid
(5,3.5) pic[rotate=26]lipid
(6.5,2.5) pic[rotate=310]lipid
(6.5,1) pic[rotate=123]lipid
(9,1) pic[rotate=353]lipid;
% LABELLING
node at (2,0.5) Grease on Surface;
node at (9,2.5) Micelle;
draw (8.7,4.3) -- (7.5,6) node[anchor=south,align=center] Grease particle made\soluble by soap;
endtikzpicture
enddocument
edited Jan 21 at 3:23
answered Jan 21 at 2:47
marmotmarmot
98.2k4113218
98.2k4113218
Mainly a fixed distance. Also on another note, if you look at the picture in the original image from the question, the lipids stick out more, but I think I can do that myself. Thanks so much
– sab hoque
Jan 21 at 3:01
There appears to be one issue that I have only come across now, the shading on the green-purple region changes with the orientation of the lipid. Is it possible to make it a fixed gradient such that it is always purple at the end near the circle and green at the tail. I would like to apply this to all the lipids (including the free ones)
– sab hoque
Jan 21 at 3:03
1
@sabhoque Yes. I updated the thingy. (The shading of the purple region is radial, I think, so it is invariant under rotations.)
– marmot
Jan 21 at 3:25
add a comment |
Mainly a fixed distance. Also on another note, if you look at the picture in the original image from the question, the lipids stick out more, but I think I can do that myself. Thanks so much
– sab hoque
Jan 21 at 3:01
There appears to be one issue that I have only come across now, the shading on the green-purple region changes with the orientation of the lipid. Is it possible to make it a fixed gradient such that it is always purple at the end near the circle and green at the tail. I would like to apply this to all the lipids (including the free ones)
– sab hoque
Jan 21 at 3:03
1
@sabhoque Yes. I updated the thingy. (The shading of the purple region is radial, I think, so it is invariant under rotations.)
– marmot
Jan 21 at 3:25
Mainly a fixed distance. Also on another note, if you look at the picture in the original image from the question, the lipids stick out more, but I think I can do that myself. Thanks so much
– sab hoque
Jan 21 at 3:01
Mainly a fixed distance. Also on another note, if you look at the picture in the original image from the question, the lipids stick out more, but I think I can do that myself. Thanks so much
– sab hoque
Jan 21 at 3:01
There appears to be one issue that I have only come across now, the shading on the green-purple region changes with the orientation of the lipid. Is it possible to make it a fixed gradient such that it is always purple at the end near the circle and green at the tail. I would like to apply this to all the lipids (including the free ones)
– sab hoque
Jan 21 at 3:03
There appears to be one issue that I have only come across now, the shading on the green-purple region changes with the orientation of the lipid. Is it possible to make it a fixed gradient such that it is always purple at the end near the circle and green at the tail. I would like to apply this to all the lipids (including the free ones)
– sab hoque
Jan 21 at 3:03
1
1
@sabhoque Yes. I updated the thingy. (The shading of the purple region is radial, I think, so it is invariant under rotations.)
– marmot
Jan 21 at 3:25
@sabhoque Yes. I updated the thingy. (The shading of the purple region is radial, I think, so it is invariant under rotations.)
– marmot
Jan 21 at 3:25
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f471073%2fhow-to-draw-special-tikz-borders%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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