How to draw a circle (sphere) passing through four points?
Clash Royale CLAN TAG#URR8PPP
I am trying to draw a circle (sphere) passing through four points B, C, E, F
like this picture
I tried with tikz-3dplot
and my code
documentclass[border=3mm,12pt]standalone
usepackagefouriernc
usepackagetikz,tikz-3dplot
usepackagetkz-euclide
usetkzobjall
usetikzlibraryintersections,calc,backgrounds
begindocument
tdplotsetmaincoords70110
%tdplotsetmaincoords80100
begintikzpicture[tdplot_main_coords,scale=1.5]
pgfmathsetmacroa3
pgfmathsetmacrob4
pgfmathsetmacroh5
% definitions
path
coordinate(A) at (0,0,0)
coordinate (B) at (a,0,0)
coordinate (C) at (0,b,0)
coordinate (S) at (0,0,h)
coordinate (E) at (a*h^2/(a*a + h*h),0,(a*a*h)/(a*a + h*h))
coordinate (F) at (0,(b*h*h)/(b*b + h*h),(b*b*h)/(b*b + h*h));
draw[dashed,thick]
(A) -- (B) (A) -- (C) (A) -- (E) (S)--(A) (F)--(A);
draw[thick]
(S) -- (B) -- (C) -- cycle;
draw[thick]
(F) -- (B) (C)--(E) (F)--(E);
tkzMarkRightAngle(S,E,A);
tkzMarkRightAngle(S,F,A);
foreach point/position in A/below,B/left,C/below,S/above,E/left,F/above
fill (point) circle (.8pt);
node[position=3pt] at (point) $point$;
endtikzpicture
enddocument
and got
How can I draw a circle (sphere) passing through four points B, C, E, F
?
3d tikz-3dplot
|
show 7 more comments
I am trying to draw a circle (sphere) passing through four points B, C, E, F
like this picture
I tried with tikz-3dplot
and my code
documentclass[border=3mm,12pt]standalone
usepackagefouriernc
usepackagetikz,tikz-3dplot
usepackagetkz-euclide
usetkzobjall
usetikzlibraryintersections,calc,backgrounds
begindocument
tdplotsetmaincoords70110
%tdplotsetmaincoords80100
begintikzpicture[tdplot_main_coords,scale=1.5]
pgfmathsetmacroa3
pgfmathsetmacrob4
pgfmathsetmacroh5
% definitions
path
coordinate(A) at (0,0,0)
coordinate (B) at (a,0,0)
coordinate (C) at (0,b,0)
coordinate (S) at (0,0,h)
coordinate (E) at (a*h^2/(a*a + h*h),0,(a*a*h)/(a*a + h*h))
coordinate (F) at (0,(b*h*h)/(b*b + h*h),(b*b*h)/(b*b + h*h));
draw[dashed,thick]
(A) -- (B) (A) -- (C) (A) -- (E) (S)--(A) (F)--(A);
draw[thick]
(S) -- (B) -- (C) -- cycle;
draw[thick]
(F) -- (B) (C)--(E) (F)--(E);
tkzMarkRightAngle(S,E,A);
tkzMarkRightAngle(S,F,A);
foreach point/position in A/below,B/left,C/below,S/above,E/left,F/above
fill (point) circle (.8pt);
node[position=3pt] at (point) $point$;
endtikzpicture
enddocument
and got
How can I draw a circle (sphere) passing through four points B, C, E, F
?
3d tikz-3dplot
2
A circle is already uniquely fixed by 3 (noncollinear) points. There exist answers that show you how to find such a circle. E.g. tex.stackexchange.com/questions/461161/… (Sorry for advertising;-)
– marmot
Jan 15 at 3:38
@marmot Is it true in 3D?
– minhthien_2016
Jan 15 at 3:52
1
I believe that an orthographic projection of a sphere is a circle. The subtle point is whether the projected circle runs through the points you indicate, something that I cannot decide without more information on how the sphere is determined.
– marmot
Jan 15 at 3:56
The sphere has centre is midpoint of the segment EC.
– minhthien_2016
Jan 15 at 3:59
1
That circle doesn't look very circular.
– RemcoGerlich
Jan 15 at 9:07
|
show 7 more comments
I am trying to draw a circle (sphere) passing through four points B, C, E, F
like this picture
I tried with tikz-3dplot
and my code
documentclass[border=3mm,12pt]standalone
usepackagefouriernc
usepackagetikz,tikz-3dplot
usepackagetkz-euclide
usetkzobjall
usetikzlibraryintersections,calc,backgrounds
begindocument
tdplotsetmaincoords70110
%tdplotsetmaincoords80100
begintikzpicture[tdplot_main_coords,scale=1.5]
pgfmathsetmacroa3
pgfmathsetmacrob4
pgfmathsetmacroh5
% definitions
path
coordinate(A) at (0,0,0)
coordinate (B) at (a,0,0)
coordinate (C) at (0,b,0)
coordinate (S) at (0,0,h)
coordinate (E) at (a*h^2/(a*a + h*h),0,(a*a*h)/(a*a + h*h))
coordinate (F) at (0,(b*h*h)/(b*b + h*h),(b*b*h)/(b*b + h*h));
draw[dashed,thick]
(A) -- (B) (A) -- (C) (A) -- (E) (S)--(A) (F)--(A);
draw[thick]
(S) -- (B) -- (C) -- cycle;
draw[thick]
(F) -- (B) (C)--(E) (F)--(E);
tkzMarkRightAngle(S,E,A);
tkzMarkRightAngle(S,F,A);
foreach point/position in A/below,B/left,C/below,S/above,E/left,F/above
fill (point) circle (.8pt);
node[position=3pt] at (point) $point$;
endtikzpicture
enddocument
and got
How can I draw a circle (sphere) passing through four points B, C, E, F
?
3d tikz-3dplot
I am trying to draw a circle (sphere) passing through four points B, C, E, F
like this picture
I tried with tikz-3dplot
and my code
documentclass[border=3mm,12pt]standalone
usepackagefouriernc
usepackagetikz,tikz-3dplot
usepackagetkz-euclide
usetkzobjall
usetikzlibraryintersections,calc,backgrounds
begindocument
tdplotsetmaincoords70110
%tdplotsetmaincoords80100
begintikzpicture[tdplot_main_coords,scale=1.5]
pgfmathsetmacroa3
pgfmathsetmacrob4
pgfmathsetmacroh5
% definitions
path
coordinate(A) at (0,0,0)
coordinate (B) at (a,0,0)
coordinate (C) at (0,b,0)
coordinate (S) at (0,0,h)
coordinate (E) at (a*h^2/(a*a + h*h),0,(a*a*h)/(a*a + h*h))
coordinate (F) at (0,(b*h*h)/(b*b + h*h),(b*b*h)/(b*b + h*h));
draw[dashed,thick]
(A) -- (B) (A) -- (C) (A) -- (E) (S)--(A) (F)--(A);
draw[thick]
(S) -- (B) -- (C) -- cycle;
draw[thick]
(F) -- (B) (C)--(E) (F)--(E);
tkzMarkRightAngle(S,E,A);
tkzMarkRightAngle(S,F,A);
foreach point/position in A/below,B/left,C/below,S/above,E/left,F/above
fill (point) circle (.8pt);
node[position=3pt] at (point) $point$;
endtikzpicture
enddocument
and got
How can I draw a circle (sphere) passing through four points B, C, E, F
?
3d tikz-3dplot
3d tikz-3dplot
edited Jan 15 at 8:02
minhthien_2016
asked Jan 15 at 3:35
minhthien_2016minhthien_2016
1,219916
1,219916
2
A circle is already uniquely fixed by 3 (noncollinear) points. There exist answers that show you how to find such a circle. E.g. tex.stackexchange.com/questions/461161/… (Sorry for advertising;-)
– marmot
Jan 15 at 3:38
@marmot Is it true in 3D?
– minhthien_2016
Jan 15 at 3:52
1
I believe that an orthographic projection of a sphere is a circle. The subtle point is whether the projected circle runs through the points you indicate, something that I cannot decide without more information on how the sphere is determined.
– marmot
Jan 15 at 3:56
The sphere has centre is midpoint of the segment EC.
– minhthien_2016
Jan 15 at 3:59
1
That circle doesn't look very circular.
– RemcoGerlich
Jan 15 at 9:07
|
show 7 more comments
2
A circle is already uniquely fixed by 3 (noncollinear) points. There exist answers that show you how to find such a circle. E.g. tex.stackexchange.com/questions/461161/… (Sorry for advertising;-)
– marmot
Jan 15 at 3:38
@marmot Is it true in 3D?
– minhthien_2016
Jan 15 at 3:52
1
I believe that an orthographic projection of a sphere is a circle. The subtle point is whether the projected circle runs through the points you indicate, something that I cannot decide without more information on how the sphere is determined.
– marmot
Jan 15 at 3:56
The sphere has centre is midpoint of the segment EC.
– minhthien_2016
Jan 15 at 3:59
1
That circle doesn't look very circular.
– RemcoGerlich
Jan 15 at 9:07
2
2
A circle is already uniquely fixed by 3 (noncollinear) points. There exist answers that show you how to find such a circle. E.g. tex.stackexchange.com/questions/461161/… (Sorry for advertising;-)
– marmot
Jan 15 at 3:38
A circle is already uniquely fixed by 3 (noncollinear) points. There exist answers that show you how to find such a circle. E.g. tex.stackexchange.com/questions/461161/… (Sorry for advertising;-)
– marmot
Jan 15 at 3:38
@marmot Is it true in 3D?
– minhthien_2016
Jan 15 at 3:52
@marmot Is it true in 3D?
– minhthien_2016
Jan 15 at 3:52
1
1
I believe that an orthographic projection of a sphere is a circle. The subtle point is whether the projected circle runs through the points you indicate, something that I cannot decide without more information on how the sphere is determined.
– marmot
Jan 15 at 3:56
I believe that an orthographic projection of a sphere is a circle. The subtle point is whether the projected circle runs through the points you indicate, something that I cannot decide without more information on how the sphere is determined.
– marmot
Jan 15 at 3:56
The sphere has centre is midpoint of the segment EC.
– minhthien_2016
Jan 15 at 3:59
The sphere has centre is midpoint of the segment EC.
– minhthien_2016
Jan 15 at 3:59
1
1
That circle doesn't look very circular.
– RemcoGerlich
Jan 15 at 9:07
That circle doesn't look very circular.
– RemcoGerlich
Jan 15 at 9:07
|
show 7 more comments
1 Answer
1
active
oldest
votes
A circle is determined by 3 points. A sphere, of course, needs at least 4 points on its boundary to be determined. However, the projection of the sphere, i.e. the circle, won't necessarily run through the projections of these points. (Actually, if the sphere is uniquely determined by these points, the boundary circle, i.e. the projection of the sphere on the screen coordinates, will never run through all projections of the points because for this to happen, the points need to lie in a plane, but then they no longer uniquely determine the circle.)
This shows two ways to construct circles that run through some of the points:
- The dotted circle runs through
F
,E
andC
. It is fixed by this requirement. As a consequence it missesB
by a small amount. - The red dashed circle runs through the midpoint of
BC
and through these points. It missesF
andE
by small amounts.
documentclass[border=3mm,12pt]standalone
usepackagefouriernc
usepackagetikz,tikz-3dplot
usepackagetkz-euclide
usetkzobjall
usetikzlibrarycalc,through
tikzsetcircle through 3 points/.style n args=3%
insert path=let p1=($(#1)!0.5!(#2)$),
p2=($(#1)!0.5!(#3)$),
p3=($(#1)!0.5!(#2)!1!-90:(#2)$),
p4=($(#1)!0.5!(#3)!1!90:(#3)$),
p5=(intersection of p1--p3 and p2--p4)
in ,
at=(p5),
circle through= (#1)
usetikzlibraryintersections,calc,backgrounds
begindocument
tdplotsetmaincoords70110
%tdplotsetmaincoords80100
begintikzpicture[tdplot_main_coords,scale=1.5]
pgfmathsetmacroa3
pgfmathsetmacrob4
pgfmathsetmacroh5
% definitions
path
coordinate(A) at (0,0,0)
coordinate (B) at (a,0,0)
coordinate (C) at (0,b,0)
coordinate (S) at (0,0,h)
coordinate (E) at (a*h^2/(a*a + h*h),0,(a*a*h)/(a*a + h*h))
coordinate (F) at (0,(b*h*h)/(b*b + h*h),(b*b*h)/(b*b + h*h));
draw[dashed,thick]
(A) -- (B) (A) -- (C) (A) -- (E) (S)--(A) (F)--(A);
draw[thick]
(S) -- (B) -- (C) -- cycle;
draw[thick]
(F) -- (B) (C)--(E) (F)--(E);
tkzMarkRightAngle(S,E,A);
tkzMarkRightAngle(S,F,A);
foreach point/position in A/below,B/left,C/below,S/above,E/left,F/above
fill (point) circle (.8pt);
node[position=3pt] at (point) $point$;
node[circle through 3 points=FEC,draw=blue,dotted];
draw[red,dashed]
let p1=($(B)-(C)$), n1=veclen(x1,y1)/2 in ($(B)!0.5!(C)$) circle (n1);
endtikzpicture
enddocument
It will be possible to construct the sphere as well. However, as mentioned its boundary may not run through any of the points.
ADDENDUM: In your setup, the four points do not determine a unique sphere because they all lie in a plane. Using Mathematica I was able to express F
as a linear combination
F = x B + y C + z E
where
So in this setup it is not possible to draw a unique sphere.
I edited your mathematical equations so that it is easier to read them. If it is wrong or you don't like it, feel free to re-edit it :))
– JouleV
Jan 15 at 8:42
@JouleV Thanks a lot!
– marmot
Jan 15 at 15:04
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%2f470177%2fhow-to-draw-a-circle-sphere-passing-through-four-points%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
A circle is determined by 3 points. A sphere, of course, needs at least 4 points on its boundary to be determined. However, the projection of the sphere, i.e. the circle, won't necessarily run through the projections of these points. (Actually, if the sphere is uniquely determined by these points, the boundary circle, i.e. the projection of the sphere on the screen coordinates, will never run through all projections of the points because for this to happen, the points need to lie in a plane, but then they no longer uniquely determine the circle.)
This shows two ways to construct circles that run through some of the points:
- The dotted circle runs through
F
,E
andC
. It is fixed by this requirement. As a consequence it missesB
by a small amount. - The red dashed circle runs through the midpoint of
BC
and through these points. It missesF
andE
by small amounts.
documentclass[border=3mm,12pt]standalone
usepackagefouriernc
usepackagetikz,tikz-3dplot
usepackagetkz-euclide
usetkzobjall
usetikzlibrarycalc,through
tikzsetcircle through 3 points/.style n args=3%
insert path=let p1=($(#1)!0.5!(#2)$),
p2=($(#1)!0.5!(#3)$),
p3=($(#1)!0.5!(#2)!1!-90:(#2)$),
p4=($(#1)!0.5!(#3)!1!90:(#3)$),
p5=(intersection of p1--p3 and p2--p4)
in ,
at=(p5),
circle through= (#1)
usetikzlibraryintersections,calc,backgrounds
begindocument
tdplotsetmaincoords70110
%tdplotsetmaincoords80100
begintikzpicture[tdplot_main_coords,scale=1.5]
pgfmathsetmacroa3
pgfmathsetmacrob4
pgfmathsetmacroh5
% definitions
path
coordinate(A) at (0,0,0)
coordinate (B) at (a,0,0)
coordinate (C) at (0,b,0)
coordinate (S) at (0,0,h)
coordinate (E) at (a*h^2/(a*a + h*h),0,(a*a*h)/(a*a + h*h))
coordinate (F) at (0,(b*h*h)/(b*b + h*h),(b*b*h)/(b*b + h*h));
draw[dashed,thick]
(A) -- (B) (A) -- (C) (A) -- (E) (S)--(A) (F)--(A);
draw[thick]
(S) -- (B) -- (C) -- cycle;
draw[thick]
(F) -- (B) (C)--(E) (F)--(E);
tkzMarkRightAngle(S,E,A);
tkzMarkRightAngle(S,F,A);
foreach point/position in A/below,B/left,C/below,S/above,E/left,F/above
fill (point) circle (.8pt);
node[position=3pt] at (point) $point$;
node[circle through 3 points=FEC,draw=blue,dotted];
draw[red,dashed]
let p1=($(B)-(C)$), n1=veclen(x1,y1)/2 in ($(B)!0.5!(C)$) circle (n1);
endtikzpicture
enddocument
It will be possible to construct the sphere as well. However, as mentioned its boundary may not run through any of the points.
ADDENDUM: In your setup, the four points do not determine a unique sphere because they all lie in a plane. Using Mathematica I was able to express F
as a linear combination
F = x B + y C + z E
where
So in this setup it is not possible to draw a unique sphere.
I edited your mathematical equations so that it is easier to read them. If it is wrong or you don't like it, feel free to re-edit it :))
– JouleV
Jan 15 at 8:42
@JouleV Thanks a lot!
– marmot
Jan 15 at 15:04
add a comment |
A circle is determined by 3 points. A sphere, of course, needs at least 4 points on its boundary to be determined. However, the projection of the sphere, i.e. the circle, won't necessarily run through the projections of these points. (Actually, if the sphere is uniquely determined by these points, the boundary circle, i.e. the projection of the sphere on the screen coordinates, will never run through all projections of the points because for this to happen, the points need to lie in a plane, but then they no longer uniquely determine the circle.)
This shows two ways to construct circles that run through some of the points:
- The dotted circle runs through
F
,E
andC
. It is fixed by this requirement. As a consequence it missesB
by a small amount. - The red dashed circle runs through the midpoint of
BC
and through these points. It missesF
andE
by small amounts.
documentclass[border=3mm,12pt]standalone
usepackagefouriernc
usepackagetikz,tikz-3dplot
usepackagetkz-euclide
usetkzobjall
usetikzlibrarycalc,through
tikzsetcircle through 3 points/.style n args=3%
insert path=let p1=($(#1)!0.5!(#2)$),
p2=($(#1)!0.5!(#3)$),
p3=($(#1)!0.5!(#2)!1!-90:(#2)$),
p4=($(#1)!0.5!(#3)!1!90:(#3)$),
p5=(intersection of p1--p3 and p2--p4)
in ,
at=(p5),
circle through= (#1)
usetikzlibraryintersections,calc,backgrounds
begindocument
tdplotsetmaincoords70110
%tdplotsetmaincoords80100
begintikzpicture[tdplot_main_coords,scale=1.5]
pgfmathsetmacroa3
pgfmathsetmacrob4
pgfmathsetmacroh5
% definitions
path
coordinate(A) at (0,0,0)
coordinate (B) at (a,0,0)
coordinate (C) at (0,b,0)
coordinate (S) at (0,0,h)
coordinate (E) at (a*h^2/(a*a + h*h),0,(a*a*h)/(a*a + h*h))
coordinate (F) at (0,(b*h*h)/(b*b + h*h),(b*b*h)/(b*b + h*h));
draw[dashed,thick]
(A) -- (B) (A) -- (C) (A) -- (E) (S)--(A) (F)--(A);
draw[thick]
(S) -- (B) -- (C) -- cycle;
draw[thick]
(F) -- (B) (C)--(E) (F)--(E);
tkzMarkRightAngle(S,E,A);
tkzMarkRightAngle(S,F,A);
foreach point/position in A/below,B/left,C/below,S/above,E/left,F/above
fill (point) circle (.8pt);
node[position=3pt] at (point) $point$;
node[circle through 3 points=FEC,draw=blue,dotted];
draw[red,dashed]
let p1=($(B)-(C)$), n1=veclen(x1,y1)/2 in ($(B)!0.5!(C)$) circle (n1);
endtikzpicture
enddocument
It will be possible to construct the sphere as well. However, as mentioned its boundary may not run through any of the points.
ADDENDUM: In your setup, the four points do not determine a unique sphere because they all lie in a plane. Using Mathematica I was able to express F
as a linear combination
F = x B + y C + z E
where
So in this setup it is not possible to draw a unique sphere.
I edited your mathematical equations so that it is easier to read them. If it is wrong or you don't like it, feel free to re-edit it :))
– JouleV
Jan 15 at 8:42
@JouleV Thanks a lot!
– marmot
Jan 15 at 15:04
add a comment |
A circle is determined by 3 points. A sphere, of course, needs at least 4 points on its boundary to be determined. However, the projection of the sphere, i.e. the circle, won't necessarily run through the projections of these points. (Actually, if the sphere is uniquely determined by these points, the boundary circle, i.e. the projection of the sphere on the screen coordinates, will never run through all projections of the points because for this to happen, the points need to lie in a plane, but then they no longer uniquely determine the circle.)
This shows two ways to construct circles that run through some of the points:
- The dotted circle runs through
F
,E
andC
. It is fixed by this requirement. As a consequence it missesB
by a small amount. - The red dashed circle runs through the midpoint of
BC
and through these points. It missesF
andE
by small amounts.
documentclass[border=3mm,12pt]standalone
usepackagefouriernc
usepackagetikz,tikz-3dplot
usepackagetkz-euclide
usetkzobjall
usetikzlibrarycalc,through
tikzsetcircle through 3 points/.style n args=3%
insert path=let p1=($(#1)!0.5!(#2)$),
p2=($(#1)!0.5!(#3)$),
p3=($(#1)!0.5!(#2)!1!-90:(#2)$),
p4=($(#1)!0.5!(#3)!1!90:(#3)$),
p5=(intersection of p1--p3 and p2--p4)
in ,
at=(p5),
circle through= (#1)
usetikzlibraryintersections,calc,backgrounds
begindocument
tdplotsetmaincoords70110
%tdplotsetmaincoords80100
begintikzpicture[tdplot_main_coords,scale=1.5]
pgfmathsetmacroa3
pgfmathsetmacrob4
pgfmathsetmacroh5
% definitions
path
coordinate(A) at (0,0,0)
coordinate (B) at (a,0,0)
coordinate (C) at (0,b,0)
coordinate (S) at (0,0,h)
coordinate (E) at (a*h^2/(a*a + h*h),0,(a*a*h)/(a*a + h*h))
coordinate (F) at (0,(b*h*h)/(b*b + h*h),(b*b*h)/(b*b + h*h));
draw[dashed,thick]
(A) -- (B) (A) -- (C) (A) -- (E) (S)--(A) (F)--(A);
draw[thick]
(S) -- (B) -- (C) -- cycle;
draw[thick]
(F) -- (B) (C)--(E) (F)--(E);
tkzMarkRightAngle(S,E,A);
tkzMarkRightAngle(S,F,A);
foreach point/position in A/below,B/left,C/below,S/above,E/left,F/above
fill (point) circle (.8pt);
node[position=3pt] at (point) $point$;
node[circle through 3 points=FEC,draw=blue,dotted];
draw[red,dashed]
let p1=($(B)-(C)$), n1=veclen(x1,y1)/2 in ($(B)!0.5!(C)$) circle (n1);
endtikzpicture
enddocument
It will be possible to construct the sphere as well. However, as mentioned its boundary may not run through any of the points.
ADDENDUM: In your setup, the four points do not determine a unique sphere because they all lie in a plane. Using Mathematica I was able to express F
as a linear combination
F = x B + y C + z E
where
So in this setup it is not possible to draw a unique sphere.
A circle is determined by 3 points. A sphere, of course, needs at least 4 points on its boundary to be determined. However, the projection of the sphere, i.e. the circle, won't necessarily run through the projections of these points. (Actually, if the sphere is uniquely determined by these points, the boundary circle, i.e. the projection of the sphere on the screen coordinates, will never run through all projections of the points because for this to happen, the points need to lie in a plane, but then they no longer uniquely determine the circle.)
This shows two ways to construct circles that run through some of the points:
- The dotted circle runs through
F
,E
andC
. It is fixed by this requirement. As a consequence it missesB
by a small amount. - The red dashed circle runs through the midpoint of
BC
and through these points. It missesF
andE
by small amounts.
documentclass[border=3mm,12pt]standalone
usepackagefouriernc
usepackagetikz,tikz-3dplot
usepackagetkz-euclide
usetkzobjall
usetikzlibrarycalc,through
tikzsetcircle through 3 points/.style n args=3%
insert path=let p1=($(#1)!0.5!(#2)$),
p2=($(#1)!0.5!(#3)$),
p3=($(#1)!0.5!(#2)!1!-90:(#2)$),
p4=($(#1)!0.5!(#3)!1!90:(#3)$),
p5=(intersection of p1--p3 and p2--p4)
in ,
at=(p5),
circle through= (#1)
usetikzlibraryintersections,calc,backgrounds
begindocument
tdplotsetmaincoords70110
%tdplotsetmaincoords80100
begintikzpicture[tdplot_main_coords,scale=1.5]
pgfmathsetmacroa3
pgfmathsetmacrob4
pgfmathsetmacroh5
% definitions
path
coordinate(A) at (0,0,0)
coordinate (B) at (a,0,0)
coordinate (C) at (0,b,0)
coordinate (S) at (0,0,h)
coordinate (E) at (a*h^2/(a*a + h*h),0,(a*a*h)/(a*a + h*h))
coordinate (F) at (0,(b*h*h)/(b*b + h*h),(b*b*h)/(b*b + h*h));
draw[dashed,thick]
(A) -- (B) (A) -- (C) (A) -- (E) (S)--(A) (F)--(A);
draw[thick]
(S) -- (B) -- (C) -- cycle;
draw[thick]
(F) -- (B) (C)--(E) (F)--(E);
tkzMarkRightAngle(S,E,A);
tkzMarkRightAngle(S,F,A);
foreach point/position in A/below,B/left,C/below,S/above,E/left,F/above
fill (point) circle (.8pt);
node[position=3pt] at (point) $point$;
node[circle through 3 points=FEC,draw=blue,dotted];
draw[red,dashed]
let p1=($(B)-(C)$), n1=veclen(x1,y1)/2 in ($(B)!0.5!(C)$) circle (n1);
endtikzpicture
enddocument
It will be possible to construct the sphere as well. However, as mentioned its boundary may not run through any of the points.
ADDENDUM: In your setup, the four points do not determine a unique sphere because they all lie in a plane. Using Mathematica I was able to express F
as a linear combination
F = x B + y C + z E
where
So in this setup it is not possible to draw a unique sphere.
edited Jan 15 at 8:41
JouleV
2,499628
2,499628
answered Jan 15 at 4:47
marmotmarmot
96k4111212
96k4111212
I edited your mathematical equations so that it is easier to read them. If it is wrong or you don't like it, feel free to re-edit it :))
– JouleV
Jan 15 at 8:42
@JouleV Thanks a lot!
– marmot
Jan 15 at 15:04
add a comment |
I edited your mathematical equations so that it is easier to read them. If it is wrong or you don't like it, feel free to re-edit it :))
– JouleV
Jan 15 at 8:42
@JouleV Thanks a lot!
– marmot
Jan 15 at 15:04
I edited your mathematical equations so that it is easier to read them. If it is wrong or you don't like it, feel free to re-edit it :))
– JouleV
Jan 15 at 8:42
I edited your mathematical equations so that it is easier to read them. If it is wrong or you don't like it, feel free to re-edit it :))
– JouleV
Jan 15 at 8:42
@JouleV Thanks a lot!
– marmot
Jan 15 at 15:04
@JouleV Thanks a lot!
– marmot
Jan 15 at 15:04
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%2f470177%2fhow-to-draw-a-circle-sphere-passing-through-four-points%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
A circle is already uniquely fixed by 3 (noncollinear) points. There exist answers that show you how to find such a circle. E.g. tex.stackexchange.com/questions/461161/… (Sorry for advertising;-)
– marmot
Jan 15 at 3:38
@marmot Is it true in 3D?
– minhthien_2016
Jan 15 at 3:52
1
I believe that an orthographic projection of a sphere is a circle. The subtle point is whether the projected circle runs through the points you indicate, something that I cannot decide without more information on how the sphere is determined.
– marmot
Jan 15 at 3:56
The sphere has centre is midpoint of the segment EC.
– minhthien_2016
Jan 15 at 3:59
1
That circle doesn't look very circular.
– RemcoGerlich
Jan 15 at 9:07