這真的不那麼難。首先,我們定義一個3D圓形,由它的中心的位置給定的,並且其跨越它是在平面上的兩個向量:
Circle3D[{x_, y_, z_}, {v1 : {_, _, _}, v2 : {_, _, _}}, r_] :=
Line[Table[{x, y, z} + {r Cos[2 Pi t], r Sin[2 Pi t]}.{v1, v2}, {t,
0, 1, 1/120}]]
然後,在{0,0,h}
切線給定的點{x,y,z}
與尖端的錐形是{x,y,z-h}
和{-y,x,0}
。剩下的只是圖紙:
ConeQuestion[h_, theta_, pt : {x_, y_, z_},
d_] /; (x^2 + y^2) Cos[theta]^2 == Sin[theta]^2 (z - h)^2 :=
Module[{tangents},
tangents = {Normalize[{0, 0, h} - pt], Normalize[{-y, x, 0}]};
{{Opacity[0.8, Yellow], Cone[{{0, 0, 0}, {0, 0, h}}, h*Tan[theta]]},
{Thick, Dashed, Circle3D[pt, tangents, d]},
{Red, Sphere[pt, 1/10]},
{Orange,
Line[{pt - d Normalize[{-y, x, 0}],
pt + d Normalize[{-y, x, 0}]}]}}
]
第1項是正確的:數學有一個3D定位器不支持。操縱處理三維圖很好(以繪圖的速度等),所以我不知道你可能會在第2項中聲稱。 – 2011-03-15 22:19:36
只是一個問題,你會如何想要一個3d定位器在2d上工作屏幕?您可以使用其他控件以3D形式移動某些內容,但不能使用定位器。我建議你瀏覽演示項目(例如[this one](http://demonstrations.wolfram.com/PlaneSectionsOfSurfaces/)和[this one](http://demonstrations.wolfram.com/DandelinSpheresForAnEllipse/)),看看是什麼在那裏。 – Simon 2011-03-15 22:54:48
Ohhh Loooord /你不會買我/一個3D屏幕.... – 2011-03-15 23:35:18