Skip to main content
deleted 21 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Clear["Global`*"];
center = {p1, p2, p3};
axes = {a1, a2, a3};
pole = {o1, o2, o3};
f[x_, y_, 
   z_] := (x - p1)^2/a1^2 + (y - p2)^2/a2^2 + (z - p3)^2/a3^2 - 1;
equation1tangent = 
  1/2 (Grad[f[x, y, z], {x, y, z}] . ({X, Y, Z} - {x, y, z}) /. {X -> 
         o1, Y -> o2, Z -> o3}) == 0 // Simplify;0;
equation2surface = f[x, y, z] == 0;
AddSides[equation1AddSides[tangent, equation2]surface] // Simplify
Clear["Global`*"];
center = {p1, p2, p3};
axes = {a1, a2, a3};
pole = {o1, o2, o3};
f[x_, y_, 
   z_] := (x - p1)^2/a1^2 + (y - p2)^2/a2^2 + (z - p3)^2/a3^2 - 1;
equation1 = 
  1/2 (Grad[f[x, y, z], {x, y, z}] . ({X, Y, Z} - {x, y, z}) /. {X -> 
         o1, Y -> o2, Z -> o3}) == 0 // Simplify;
equation2 = f[x, y, z] == 0;
AddSides[equation1, equation2] // Simplify
Clear["Global`*"];
center = {p1, p2, p3};
axes = {a1, a2, a3};
pole = {o1, o2, o3};
f[x_, y_, 
   z_] := (x - p1)^2/a1^2 + (y - p2)^2/a2^2 + (z - p3)^2/a3^2 - 1;
tangent = 
  1/2 (Grad[f[x, y, z], {x, y, z}] . ({X, Y, Z} - {x, y, z}) /. {X -> 
        o1, Y -> o2, Z -> o3}) == 0;
surface = f[x, y, z] == 0;
AddSides[tangent, surface] // Simplify
added 524 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
  • We can use Mathematica to prove the polar equation.
Clear["Global`*"];
center = {p1, p2, p3};
axes = {a1, a2, a3};
pole = {o1, o2, o3};
f[x_, y_, 
   z_] := (x - p1)^2/a1^2 + (y - p2)^2/a2^2 + (z - p3)^2/a3^2 - 1;
equation1 = 
  1/2 (Grad[f[x, y, z], {x, y, z}] . ({X, Y, Z} - {x, y, z}) /. {X -> 
         o1, Y -> o2, Z -> o3}) == 0 // Simplify;
equation2 = f[x, y, z] == 0;
AddSides[equation1, equation2] // Simplify

enter image description here

  • We can use Mathematica to prove the polar equation.
Clear["Global`*"];
center = {p1, p2, p3};
axes = {a1, a2, a3};
pole = {o1, o2, o3};
f[x_, y_, 
   z_] := (x - p1)^2/a1^2 + (y - p2)^2/a2^2 + (z - p3)^2/a3^2 - 1;
equation1 = 
  1/2 (Grad[f[x, y, z], {x, y, z}] . ({X, Y, Z} - {x, y, z}) /. {X -> 
         o1, Y -> o2, Z -> o3}) == 0 // Simplify;
equation2 = f[x, y, z] == 0;
AddSides[equation1, equation2] // Simplify

enter image description here

added 41 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Clear["Global`*"];
center = {p1, p2} = {0.2, .4};
axes = {a1, a2} = {.8, .4};
pole = {o1, o2} = {-1, -.5};
f[x_, y_] := (x - p1)^2/a1^2 + (y - p2)^2/a2^2 - 1;
line[x_polar[x_, 
   y_] := ((x - p1)   (o1 - p1))/a1^2 + ((y - p2)   (o2 - p2))/a2^2 - 
   1;
ellipsoid = 
  ContourPlot[
   f[x, y] == 0 // Evaluate, {x, p1 - a1, p1 + a1}, {y, p2 - a2, 
    p2 + a2}, MeshFunctions -> Function[{x, y}, line[xpolar[x, y]], 
   Mesh -> {{0}}, AspectRatio -> Automatic, Axes -> False];
polarline = 
  ContourPlot[
   line[xpolar[x, y] == 0 // Evaluate, {x, p1 - a1, p1 + a1}, {y, p2 - a2, 
    p2 + a2}, Mesh -> None];
pts = {x, y} /. NSolve[{f[x, y] == 0, line[xpolar[x, y] == 0}, {x, y}];
g = Graphics[{Red, AbsolutePointSize[5], Point@{o1, o2}, 
    HalfLine[{{o1, o2}, pts[[1]]}], HalfLine[{{o1, o2}, pts[[2]]}]}];
Show[ellipsoid, polarline, g, PlotRange -> All]
length1 = 
  ImplicitRegion[{f[x, y] == 0, line[xpolar[x, y] >= 0}, {x, y}] // 
   ArcLength;
length2 = 
  ImplicitRegion[{f[x, y] == 0, line[xpolar[x, y] <= 0}, {x, y}] // 
   ArcLength;
{length1, length2}
Clear["Global`*"];
{p1, p2} = {0.2, .4};
{a1, a2} = {.8, .4};
{o1, o2} = {-1, -.5};
f[x_, y_] := (x - p1)^2/a1^2 + (y - p2)^2/a2^2 - 1;
line[x_, 
   y_] := ((x - p1)  (o1 - p1))/a1^2 + ((y - p2)  (o2 - p2))/a2^2 - 
   1;
ellipsoid = 
  ContourPlot[
   f[x, y] == 0 // Evaluate, {x, p1 - a1, p1 + a1}, {y, p2 - a2, 
    p2 + a2}, MeshFunctions -> Function[{x, y}, line[x, y]], 
   Mesh -> {{0}}, AspectRatio -> Automatic, Axes -> False];
polarline = 
  ContourPlot[
   line[x, y] == 0 // Evaluate, {x, p1 - a1, p1 + a1}, {y, p2 - a2, 
    p2 + a2}, Mesh -> None];
pts = {x, y} /. NSolve[{f[x, y] == 0, line[x, y] == 0}, {x, y}];
g = Graphics[{Red, AbsolutePointSize[5], Point@{o1, o2}, 
    HalfLine[{{o1, o2}, pts[[1]]}], HalfLine[{{o1, o2}, pts[[2]]}]}];
Show[ellipsoid, polarline, g, PlotRange -> All]
length1 = 
  ImplicitRegion[{f[x, y] == 0, line[x, y] >= 0}, {x, y}] // ArcLength;
length2 = 
  ImplicitRegion[{f[x, y] == 0, line[x, y] <= 0}, {x, y}] // ArcLength;
{length1, length2}
Clear["Global`*"];
center = {p1, p2} = {0.2, .4};
axes = {a1, a2} = {.8, .4};
pole = {o1, o2} = {-1, -.5};
f[x_, y_] := (x - p1)^2/a1^2 + (y - p2)^2/a2^2 - 1;
polar[x_, 
   y_] := ((x - p1)   (o1 - p1))/a1^2 + ((y - p2)   (o2 - p2))/a2^2 - 
   1;
ellipsoid = 
  ContourPlot[
   f[x, y] == 0 // Evaluate, {x, p1 - a1, p1 + a1}, {y, p2 - a2, 
    p2 + a2}, MeshFunctions -> Function[{x, y}, polar[x, y]], 
   Mesh -> {{0}}, AspectRatio -> Automatic, Axes -> False];
polarline = 
  ContourPlot[
   polar[x, y] == 0 // Evaluate, {x, p1 - a1, p1 + a1}, {y, p2 - a2, 
    p2 + a2}, Mesh -> None];
pts = {x, y} /. NSolve[{f[x, y] == 0, polar[x, y] == 0}, {x, y}];
g = Graphics[{Red, AbsolutePointSize[5], Point@{o1, o2}, 
    HalfLine[{{o1, o2}, pts[[1]]}], HalfLine[{{o1, o2}, pts[[2]]}]}];
Show[ellipsoid, polarline, g, PlotRange -> All]
length1 = 
  ImplicitRegion[{f[x, y] == 0, polar[x, y] >= 0}, {x, y}] // 
   ArcLength;
length2 = 
  ImplicitRegion[{f[x, y] == 0, polar[x, y] <= 0}, {x, y}] // 
   ArcLength;
{length1, length2}
deleted 29 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 357 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 7 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 1133 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 101 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
edited body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 321 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
added 321 characters in body
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading
Source Link
cvgmt
  • 84.1k
  • 6
  • 97
  • 179
Loading