小编Art*_*tes的帖子

锥形图像细化

试图制作一个漂亮的三维锥形图形与一个平面相交我选择Mathematica中现有方法的轻微重新排列(即S.Mangano和S.Wagon的书籍).假设下面的代码显示所谓的Dandelin结构:内部和外部球体在锥体内部切线,也与锥体相交的平面切线.同时球体与平面的相切点是椭圆的焦点.

 Block[{r1, r2, m, h1, h2, C1, C2, M, MC1, MC2, T1, T2, cone, slope, plane},
   {r1, r2} = {1.4, 3.4};
    m = Tan[70.*Degree];
    h1 := r1*Sqrt[1 + m^2];
    h2 := r2*Sqrt[1 + m^2];
    C1 := {0, 0, h1};
    C2 := {0, 0, h2};
    M = {0, MC1 + h1};
    MC2 = MC1*(r2/r1);
    MC1 = (r1*(h2 - h1))/(r1 + r2);
    T1 = C1 + r1*{-Sqrt[1 - r1^2/MC1^2], 0, r1/MC1};
    T2 = C2 + r2*{Sqrt[1 - r2^2/MC2^2], 0, -(r2/MC2)};

    cone[m_, h_] …
Run Code Online (Sandbox Code Playgroud)

math geometry wolfram-mathematica image

12
推荐指数
3
解决办法
618
查看次数

使用Manipulate控制测量零组解.案例研究

为了解决这个问题,我们从以下玩具模型问题开始,这里只是一个案例研究:

给定平面上的两个圆(其中心(c1和c2)和半径(r1和r2))以及正数r3,找到半径= r3的所有圆(即所有点c3是圆的中心,半径= r3 )切线(外部和内部)给定两个圆圈.

一般来说,取决于Circle[c1,r1], Circle[c2,r2] and r3有0,1,2,... 8种可能的解决方案.8种解决方案的典型案例: 在此输入图像描述

我稍微修改了Jaime Rangel-Mondragon对Wolfram演示项目的整洁Mathematica实现,但它的核心是类似的:

Manipulate[{c1, a, c2, b} = pts;
           {r1, r2} = Map[Norm, {a - c1, b - c2}];

            w = Table[
                       Solve[{radius[{x, y} - c1]^2 == (r + k r1)^2, 
                              radius[{x, y} - c2]^2 == (r + l r2)^2}
                            ] // Quiet, 
                       {k, -1, 1, 2}, {l, -1, 1, 2}
                    ];
            w = Select[
                       Cases[Flatten[{{x, y}, r} /. w, 2],
                             {{_Real, _Real}, _Real}
                            ], 
                       Last[#] > …
Run Code Online (Sandbox Code Playgroud)

math geometry visualization wolfram-mathematica

5
推荐指数
1
解决办法
411
查看次数

启动张量指数为0

前段时间我在广义相对论中写了一个张量微积分包.为了使其他人可以轻松访问,应稍加修改.

有一些函数,如Christoffel用于计算Christoffel符号:

Christoffel[g_, xx_] := 
    Block[{ig, res, n}, 
           n = 4;
           ig = Simplify[Inverse[g]]; 
           res = Table[(1/2)*Sum[ig[[i,s]]*(-D[g[[j,k]], xx[[s]]] + D[g[[j,s]], xx[[k]]] 
                             + D[g[[s,k]], xx[[j]]]), {s, 1, n}], {i, 1, n}, {j, 1, n}, {k, 1, n}];
       res
     ] 
Run Code Online (Sandbox Code Playgroud)

其中g和xx是度量张量和分别坐标,这是我定义一个Mathematica会话以简单的方式将例如一个Ansatz方法的静态球对称时空载所述包后: 公 这种方式涉及缺点,因为指数范围是{1, 2, 3, 4} 相对论物理学中的常见做法,{0, 1, 2, 3}其中0代表时间坐标,{1, 2, 3}代表空间类型.
为了说明问题,让我们定义一个索引从0开始的表,即

V = Table[i - j, {i, 0, 3}, {j, 0, 3}] 
{{0, -1, -2, -3}, {1, 0, -1, -2}, {2, 1, 0, -1}, {3, 2, …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

4
推荐指数
2
解决办法
2363
查看次数