Drawing spherical mirrors Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)How to draw spherical geometries with TeX?spherical coordinates in tikz 3dDraw in cylindrical and spherical coordinatesHow to draw arrows extending perpendicularly from a circleHow to Draw a spherical Water Tank? (Examples Provided)How can I draw an spherical cap with an off-center hole?Drawing a perspective ellipse with TikZparallelepiped inscribed in cylinderSpherical shell using tikzUsing Tikz and spherical coordinates
How to align multiple equations
What is Adi Shankara referring to when he says "He has Vajra marks on his feet"?
Sentence with dass with three Verbs (One modal and two connected with zu)
What does it mean that physics no longer uses mechanical models to describe phenomena?
How to write capital alpha?
Do wooden building fires get hotter than 600°C?
How does a spellshard spellbook work?
A term for a woman complaining about things/begging in a cute/childish way
How do I find out the mythology and history of my Fortress?
Can a Beast Master ranger change beast companions?
Sum letters are not two different
A letter with no particular backstory
How many morphisms from 1 to 1+1 can there be?
Why are my pictures showing a dark band on one edge?
An adverb for when you're not exaggerating
What is an "asse" in Elizabethan English?
Is CEO the "profession" with the most psychopaths?
Antipodal Land Area Calculation
Co-worker has annoying ringtone
What would you call this weird metallic apparatus that allows you to lift people?
Why weren't discrete x86 CPUs ever used in game hardware?
Amount of permutations on an NxNxN Rubik's Cube
Semigroups with no morphisms between them
What is the home of the drow in Flanaess?
Drawing spherical mirrors
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)How to draw spherical geometries with TeX?spherical coordinates in tikz 3dDraw in cylindrical and spherical coordinatesHow to draw arrows extending perpendicularly from a circleHow to Draw a spherical Water Tank? (Examples Provided)How can I draw an spherical cap with an off-center hole?Drawing a perspective ellipse with TikZparallelepiped inscribed in cylinderSpherical shell using tikzUsing Tikz and spherical coordinates
What is the best way to draw 3D spherical mirrors like these on tikz? 
tikz-pgf tikz-arrows 3d tikz-3d
add a comment |
What is the best way to draw 3D spherical mirrors like these on tikz? 
tikz-pgf tikz-arrows 3d tikz-3d
2
What have you tried so far?
– JouleV
4 hours ago
For things like that I just make a sketch in GeoGebra and export as TeX.
– Rodrigo
4 hours ago
add a comment |
What is the best way to draw 3D spherical mirrors like these on tikz? 
tikz-pgf tikz-arrows 3d tikz-3d
What is the best way to draw 3D spherical mirrors like these on tikz? 
tikz-pgf tikz-arrows 3d tikz-3d
tikz-pgf tikz-arrows 3d tikz-3d
asked 4 hours ago
RodrigoRodrigo
725
725
2
What have you tried so far?
– JouleV
4 hours ago
For things like that I just make a sketch in GeoGebra and export as TeX.
– Rodrigo
4 hours ago
add a comment |
2
What have you tried so far?
– JouleV
4 hours ago
For things like that I just make a sketch in GeoGebra and export as TeX.
– Rodrigo
4 hours ago
2
2
What have you tried so far?
– JouleV
4 hours ago
What have you tried so far?
– JouleV
4 hours ago
For things like that I just make a sketch in GeoGebra and export as TeX.
– Rodrigo
4 hours ago
For things like that I just make a sketch in GeoGebra and export as TeX.
– Rodrigo
4 hours ago
add a comment |
1 Answer
1
active
oldest
votes
This may be a starting point. You are expecting others to type in symbols from your screen shot, and it may be that you're expecting too much.
documentclass[tikz,border=3.14mm]standalone
usepackagetikz-3dplot
usetikzlibraryintersections
begindocument
tdplotsetmaincoords90-30
begintikzpicture[tdplot_main_coords,bullet/.style=circle,fill,inner sep=1pt]
% parameters
pgfmathsetmacroRadius2.5
pgfmathsetmacroAngle120
% left
beginscope[shift=(-4,0,0),local bounding box=L]
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
foreach X in 90,140
draw plot[variable=x,domain=90:-90,smooth]
(-0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw plot[variable=x,domain=0:60,smooth]
(-0.1*Radius*cos(x),cos(Angle)*Radius*sin(x),sin(Angle)*Radius*sin(x))
node[bullet] (P1);
path (-0.1*Radius*cos(-40),cos(Angle)*Radius*sin(-40),sin(Angle)*Radius*sin(-40))
node[bullet] (P0);
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (l);
endscope
% left
beginscope[shift=(4,0,0),local bounding box=R]
foreach X in 90,140
draw[dashed] plot[variable=x,domain=90:-90,smooth]
(-0.2+0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw[dashed] plot[variable=x,domain=90:270,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
path[name path=left boundary] plot[variable=x,domain=90:-90,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
path (-0.2+0.1*Radius*cos(30),0,Radius*sin(30))
node[bullet,label=above:$P_2$] (P2)
(-0.2+0.1*Radius*cos(-30),0,Radius*sin(-30)) node[bullet] (P3);
path[name path=ray 1] (P1) -- (P2) coordinate[pos=0.5] (A);
path[name path=ray 2] (P2) -- (P0);
path[name path=ray 3] (P0) -- (P3);
path[name path=ray 4] (P3) -- (P1);
path[name intersections=of=left boundary and ray 1,by=i1,
name intersections=of=left boundary and ray 2,by=i2,
name intersections=of=left boundary and ray 3,by=i3,
name intersections=of=left boundary and ray 4,by=i4];
draw[thick,-stealth] (i2) -- (P0) -- (i3) (P1) -- (i1) (P1) -- (A);
draw[thick,-stealth,shorten >=1.5cm] (i4) -- (P1);
draw[dashed] (i1) -- (P2) -- (i2) (i3) -- (P3) -- (i4);
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (r);
endscope
draw[stealth-stealth] (l) -- (r) node[midway,fill=white]$r+varepsilon$;
endtikzpicture
enddocument

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%2f485625%2fdrawing-spherical-mirrors%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
This may be a starting point. You are expecting others to type in symbols from your screen shot, and it may be that you're expecting too much.
documentclass[tikz,border=3.14mm]standalone
usepackagetikz-3dplot
usetikzlibraryintersections
begindocument
tdplotsetmaincoords90-30
begintikzpicture[tdplot_main_coords,bullet/.style=circle,fill,inner sep=1pt]
% parameters
pgfmathsetmacroRadius2.5
pgfmathsetmacroAngle120
% left
beginscope[shift=(-4,0,0),local bounding box=L]
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
foreach X in 90,140
draw plot[variable=x,domain=90:-90,smooth]
(-0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw plot[variable=x,domain=0:60,smooth]
(-0.1*Radius*cos(x),cos(Angle)*Radius*sin(x),sin(Angle)*Radius*sin(x))
node[bullet] (P1);
path (-0.1*Radius*cos(-40),cos(Angle)*Radius*sin(-40),sin(Angle)*Radius*sin(-40))
node[bullet] (P0);
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (l);
endscope
% left
beginscope[shift=(4,0,0),local bounding box=R]
foreach X in 90,140
draw[dashed] plot[variable=x,domain=90:-90,smooth]
(-0.2+0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw[dashed] plot[variable=x,domain=90:270,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
path[name path=left boundary] plot[variable=x,domain=90:-90,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
path (-0.2+0.1*Radius*cos(30),0,Radius*sin(30))
node[bullet,label=above:$P_2$] (P2)
(-0.2+0.1*Radius*cos(-30),0,Radius*sin(-30)) node[bullet] (P3);
path[name path=ray 1] (P1) -- (P2) coordinate[pos=0.5] (A);
path[name path=ray 2] (P2) -- (P0);
path[name path=ray 3] (P0) -- (P3);
path[name path=ray 4] (P3) -- (P1);
path[name intersections=of=left boundary and ray 1,by=i1,
name intersections=of=left boundary and ray 2,by=i2,
name intersections=of=left boundary and ray 3,by=i3,
name intersections=of=left boundary and ray 4,by=i4];
draw[thick,-stealth] (i2) -- (P0) -- (i3) (P1) -- (i1) (P1) -- (A);
draw[thick,-stealth,shorten >=1.5cm] (i4) -- (P1);
draw[dashed] (i1) -- (P2) -- (i2) (i3) -- (P3) -- (i4);
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (r);
endscope
draw[stealth-stealth] (l) -- (r) node[midway,fill=white]$r+varepsilon$;
endtikzpicture
enddocument

add a comment |
This may be a starting point. You are expecting others to type in symbols from your screen shot, and it may be that you're expecting too much.
documentclass[tikz,border=3.14mm]standalone
usepackagetikz-3dplot
usetikzlibraryintersections
begindocument
tdplotsetmaincoords90-30
begintikzpicture[tdplot_main_coords,bullet/.style=circle,fill,inner sep=1pt]
% parameters
pgfmathsetmacroRadius2.5
pgfmathsetmacroAngle120
% left
beginscope[shift=(-4,0,0),local bounding box=L]
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
foreach X in 90,140
draw plot[variable=x,domain=90:-90,smooth]
(-0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw plot[variable=x,domain=0:60,smooth]
(-0.1*Radius*cos(x),cos(Angle)*Radius*sin(x),sin(Angle)*Radius*sin(x))
node[bullet] (P1);
path (-0.1*Radius*cos(-40),cos(Angle)*Radius*sin(-40),sin(Angle)*Radius*sin(-40))
node[bullet] (P0);
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (l);
endscope
% left
beginscope[shift=(4,0,0),local bounding box=R]
foreach X in 90,140
draw[dashed] plot[variable=x,domain=90:-90,smooth]
(-0.2+0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw[dashed] plot[variable=x,domain=90:270,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
path[name path=left boundary] plot[variable=x,domain=90:-90,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
path (-0.2+0.1*Radius*cos(30),0,Radius*sin(30))
node[bullet,label=above:$P_2$] (P2)
(-0.2+0.1*Radius*cos(-30),0,Radius*sin(-30)) node[bullet] (P3);
path[name path=ray 1] (P1) -- (P2) coordinate[pos=0.5] (A);
path[name path=ray 2] (P2) -- (P0);
path[name path=ray 3] (P0) -- (P3);
path[name path=ray 4] (P3) -- (P1);
path[name intersections=of=left boundary and ray 1,by=i1,
name intersections=of=left boundary and ray 2,by=i2,
name intersections=of=left boundary and ray 3,by=i3,
name intersections=of=left boundary and ray 4,by=i4];
draw[thick,-stealth] (i2) -- (P0) -- (i3) (P1) -- (i1) (P1) -- (A);
draw[thick,-stealth,shorten >=1.5cm] (i4) -- (P1);
draw[dashed] (i1) -- (P2) -- (i2) (i3) -- (P3) -- (i4);
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (r);
endscope
draw[stealth-stealth] (l) -- (r) node[midway,fill=white]$r+varepsilon$;
endtikzpicture
enddocument

add a comment |
This may be a starting point. You are expecting others to type in symbols from your screen shot, and it may be that you're expecting too much.
documentclass[tikz,border=3.14mm]standalone
usepackagetikz-3dplot
usetikzlibraryintersections
begindocument
tdplotsetmaincoords90-30
begintikzpicture[tdplot_main_coords,bullet/.style=circle,fill,inner sep=1pt]
% parameters
pgfmathsetmacroRadius2.5
pgfmathsetmacroAngle120
% left
beginscope[shift=(-4,0,0),local bounding box=L]
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
foreach X in 90,140
draw plot[variable=x,domain=90:-90,smooth]
(-0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw plot[variable=x,domain=0:60,smooth]
(-0.1*Radius*cos(x),cos(Angle)*Radius*sin(x),sin(Angle)*Radius*sin(x))
node[bullet] (P1);
path (-0.1*Radius*cos(-40),cos(Angle)*Radius*sin(-40),sin(Angle)*Radius*sin(-40))
node[bullet] (P0);
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (l);
endscope
% left
beginscope[shift=(4,0,0),local bounding box=R]
foreach X in 90,140
draw[dashed] plot[variable=x,domain=90:-90,smooth]
(-0.2+0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw[dashed] plot[variable=x,domain=90:270,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
path[name path=left boundary] plot[variable=x,domain=90:-90,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
path (-0.2+0.1*Radius*cos(30),0,Radius*sin(30))
node[bullet,label=above:$P_2$] (P2)
(-0.2+0.1*Radius*cos(-30),0,Radius*sin(-30)) node[bullet] (P3);
path[name path=ray 1] (P1) -- (P2) coordinate[pos=0.5] (A);
path[name path=ray 2] (P2) -- (P0);
path[name path=ray 3] (P0) -- (P3);
path[name path=ray 4] (P3) -- (P1);
path[name intersections=of=left boundary and ray 1,by=i1,
name intersections=of=left boundary and ray 2,by=i2,
name intersections=of=left boundary and ray 3,by=i3,
name intersections=of=left boundary and ray 4,by=i4];
draw[thick,-stealth] (i2) -- (P0) -- (i3) (P1) -- (i1) (P1) -- (A);
draw[thick,-stealth,shorten >=1.5cm] (i4) -- (P1);
draw[dashed] (i1) -- (P2) -- (i2) (i3) -- (P3) -- (i4);
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (r);
endscope
draw[stealth-stealth] (l) -- (r) node[midway,fill=white]$r+varepsilon$;
endtikzpicture
enddocument

This may be a starting point. You are expecting others to type in symbols from your screen shot, and it may be that you're expecting too much.
documentclass[tikz,border=3.14mm]standalone
usepackagetikz-3dplot
usetikzlibraryintersections
begindocument
tdplotsetmaincoords90-30
begintikzpicture[tdplot_main_coords,bullet/.style=circle,fill,inner sep=1pt]
% parameters
pgfmathsetmacroRadius2.5
pgfmathsetmacroAngle120
% left
beginscope[shift=(-4,0,0),local bounding box=L]
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
foreach X in 90,140
draw plot[variable=x,domain=90:-90,smooth]
(-0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw plot[variable=x,domain=0:60,smooth]
(-0.1*Radius*cos(x),cos(Angle)*Radius*sin(x),sin(Angle)*Radius*sin(x))
node[bullet] (P1);
path (-0.1*Radius*cos(-40),cos(Angle)*Radius*sin(-40),sin(Angle)*Radius*sin(-40))
node[bullet] (P0);
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (l);
endscope
% left
beginscope[shift=(4,0,0),local bounding box=R]
foreach X in 90,140
draw[dashed] plot[variable=x,domain=90:-90,smooth]
(-0.2+0.1*Radius*cos(x),cos(X)*Radius*sin(x),sin(X)*Radius*sin(x));
draw[dashed] plot[variable=x,domain=90:270,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
draw[top color=gray!20,bottom color=gray!30,middle color=white]
plot[variable=x,domain=90:-90,smooth] (-0.2,Radius*cos(x),Radius*sin(x))
-- plot[variable=x,domain=-90:90,smooth] (0,Radius*cos(x),Radius*sin(x))
--cycle ;
path[name path=left boundary] plot[variable=x,domain=90:-90,smooth]
(-0.2,Radius*cos(x),Radius*sin(x));
path (-0.2+0.1*Radius*cos(30),0,Radius*sin(30))
node[bullet,label=above:$P_2$] (P2)
(-0.2+0.1*Radius*cos(-30),0,Radius*sin(-30)) node[bullet] (P3);
path[name path=ray 1] (P1) -- (P2) coordinate[pos=0.5] (A);
path[name path=ray 2] (P2) -- (P0);
path[name path=ray 3] (P0) -- (P3);
path[name path=ray 4] (P3) -- (P1);
path[name intersections=of=left boundary and ray 1,by=i1,
name intersections=of=left boundary and ray 2,by=i2,
name intersections=of=left boundary and ray 3,by=i3,
name intersections=of=left boundary and ray 4,by=i4];
draw[thick,-stealth] (i2) -- (P0) -- (i3) (P1) -- (i1) (P1) -- (A);
draw[thick,-stealth,shorten >=1.5cm] (i4) -- (P1);
draw[dashed] (i1) -- (P2) -- (i2) (i3) -- (P3) -- (i4);
draw plot[variable=x,domain=0:360,smooth] (0,Radius*cos(x),Radius*sin(x));
draw (0,0,-1.02*Radius) -- (0,0,-1.2*Radius) coordinate (r);
endscope
draw[stealth-stealth] (l) -- (r) node[midway,fill=white]$r+varepsilon$;
endtikzpicture
enddocument

edited 1 hour ago
answered 3 hours ago
marmotmarmot
119k6154289
119k6154289
add a comment |
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%2f485625%2fdrawing-spherical-mirrors%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
2
What have you tried so far?
– JouleV
4 hours ago
For things like that I just make a sketch in GeoGebra and export as TeX.
– Rodrigo
4 hours ago