Advertisement
Guest User

Cross-sections

a guest
Sep 28th, 2012
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. ptsph[\[Theta]_, \[Phi]_] := {Sin[\[Theta]] Sin[\[Phi]],
  2. Cos[\[Theta]] Sin[\[Phi]], Cos[\[Phi]]}
  3. points = {ptsph[-0.2, \[Pi]/2 + 0.01], ptsph[0.2, \[Pi]/2 - 0.01],
  4. ptsph[\[Pi] - 0.2, \[Pi]/2 + 0.01],
  5. ptsph[\[Pi] + 0.2, \[Pi]/2 - 0.01]};
  6. slice[z_, {pt1_, pt2_}] :=
  7. If[# == {}, Null, \[Lambda] pt1 + (1 - \[Lambda]) pt2 /. #[[1]]] &[
  8. Quiet[Solve[\[Lambda] pt1[[3]] + (1 - \[Lambda]) pt2[[3]] == z &&
  9. 0 <= \[Lambda] <= 1, \[Lambda]]]]
  10. slice[z_] :=
  11. Polygon[DeleteCases[slice[z, #] & /@ Subsets[points, {2}],
  12. Null][[{1, 2, 4, 3}]]]
  13. Manipulate[
  14. Graphics3D[{{Red, slice[z]}, {Opacity[0.5], Sphere[],
  15. tetrahedron}}], {z, Cos[\[Pi]/2 + 0.01], Cos[\[Pi]/2 - 0.01]}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement