Zeichnen des offenen Balls für den metrischen Bereich der Poststelle

  • Für den Post-Office-Metrikraum $ P $ ist die Abstandsfunktion wie folgt definiert:

    $$ d_P (\ mathbf {x }, \ mathbf {y}): = \ begin {cases} 0 & amp; \ mathbf {x} = \ mathbf {y} \\ \ Vert \ mathbf {x} \ Vert_2 + \ Vert \ mathbf {y} \ Vert_2 & amp; \ mathbf {x} \ neq \ mathbf {y} \ end {cases} $$

    wobei $ \ Vert \ mathbf {x} \ Vert_2 = \ sqrt {x_1 ^ 2 + x_2 ^ 2} $ ist der euklidische Abstand von $ \ mathbf {x} = (x1, x2) \ in \ mathbb {R} ^ 2 $ zum Ursprung.

    Ich bin daran interessiert, die Bälle dieser Metrik am Punkt $ \ mathbf zu zeichnen {p} $ mit einem Radius $ r $:

    $$ B_r (\ mathbf {p}) \ triangleq \ {\ mathbf {x} \ in P \ vert \ d (\ mathbf {x}, \ mathbf {p}) & lt; r \} $$

    Hat jemand Tipps, wie das geht?

    24 March 2012
    Jon Galloway
3 answers
  • Ich werde nur posten, da ich nicht glaube, dass Eli Lanseys Antwort die richtige Definition für die Post-Office-Metrik verwendet. Ich mag den anderen Namen der Post-Metrik besser: Britische Eisenbahnmetrik. Es wird davon ausgegangen, dass auf dem Weg von Punkt A nach Punkt B der schnellste Weg über London (dh den Ursprung) zu erreichen ist, es sei denn, Sie sind natürlich bereits am Ziel!

    < Wir betrachten also einen festen Punkt $ \ mathbf {p} $, der Ball $ B_r (\ mathbf {p}) $ ist die Menge von Punkten $ \ mathbf {q} $, die Folgendes erfüllen:

    $$ \ | \ mathbf {p} \ | ^ 2 + \ | \ mathbf {q} \ | ^ 2 & lt; r ^ 2 $$

    Das heißt, wenn wir $ \ mathbf {q} = (x, y) $ haben, ist der Ball $ B_r (\ mathbf {p}) $ ist die Vereinigung von $ \ {\ mathbf {p} \} $ und allen Punkten, die die folgenden Bedingungen erfüllen:

    $$ x ^ 2 + y ^ 2 & lt; r ^ 2 - \ | \ mathbf {p} \ | ^ 2 $$

    Letzteres ist der Ball mit dem Radius $ r '= \ sqrt {r ^ 2 - \ | \ mathbf {p} \ | ^ 2} $ um den Ursprung für die euklidische Entfernung in der Ebene, auf die wir vielleicht $ B_ {r '} ^ {\ text {E}} (\ mathbf {O}) $ hinweisen. Zusammenfassend:

    • wenn $ r & lt; \ | \ mathbf {p} \ | $, $ B_r (\ mathbf {p}) = \ {\ mathbf {p} \} $
    • Andernfalls $ B_r (\ mathbf {p }) = \ {\ mathbf {p} \} \ cup B_ {r '} ^ {\ text {E}} (\ mathbf {O}) $ mit $ r' = \ sqrt {r ^ 2 - \ | \ mathbf {p} \ | ^ 2} $

    Okay, das ist Mathematica.SE, ich stelle fest Ich könnte Code geben, um das obige zu zeichnen, zusätzlich zum Rechnen. Das zeichnet also den Ball (Punkt $ \ mathbf p $, der Teil des Balls ist, wird als kleines gefülltes Quadrat gezeichnet, damit er sichtbar ist):

    ball[p_, r_] := Show[ RegionPlot[ x^2 + y^2 + p[[1]]^2 + p[[2]]^2 < r^2, {x, -5, 5}, {y, -5, 5}, PerformanceGoal -> "Quality"], Graphics[{Blue, Point[p]}] ]

    und dies ist eine Animation einer Kugel mit Radius 3, während sich ihr Zentrum $ \ mathbf p $ von $ (0,0) $ nach $ (0,4) $ bewegt:

    Zeichnen des offenen Balls für den metrischen Bereich der Poststelle

    24 March 2012
    Brian
  • Hier ist mein Versuch, dies mit Manipulate zu visualisieren.

     postOffice[a_, b_] := If[a == b, 0, Norm[a] + Norm[b]]
    
    Manipulate[
       Grid[{{
         ContourPlot[postOffice[{x, y}, p], {x, -5, 5}, {y, -5, 5}, 
            ImageSize -> 360, ColorFunctionScaling -> False, 
            ColorFunction -> (ColorData["Rainbow", Rescale[#, {0, 2 Norm[{5, 5}]}]]&), 
            Epilog -> {ColorData["Rainbow", 0], Point[p]}, PerformanceGoal -> "Quality"], 
         DensityPlot[y, {x, -.5, .5}, {y, 0, 2 Norm[{5, 5}]}, 
            AspectRatio -> Automatic, ColorFunctionScaling -> False,
            ColorFunction -> (ColorData["Rainbow", Rescale[#, {0, 2 Norm[{5, 5}]}]]&), 
            FrameTicks -> {{None, All}, {None, None}}, PlotRangePadding -> None]
         }}], 
       {{p, {0, 0}}, {-5, -5}, {5, 5}, ControlType -> Locator}]
     

    Hinweise: p>

    • Der Abstand zwischen dem Locator und einem anderen Punkt in der Szene wird durch die Farbe der Zeichnung sowie durch die automatischen QuickInfos auf den Konturen dargestellt

    • Die Farbfunktion erfolgt auf einer globalen Skala, wobei die Werte manuell skaliert werden.

    • Unter dem Locator befindet sich ein kleiner violetter Punkt, da der Abstand von einem Punkt zu sich selbst null ist.

    Zeichnen des offenen Balls für den metrischen Bereich der Poststelle Zeichnen des offenen Balls für den metrischen Bereich der Poststelle

    24 March 2012
    Brett Champion
  • Wenn ich die Frage richtig verstanden habe, können Sie Folgendes tun:

     dP[x_, y_] := Piecewise[{{0, x == y}, {Abs[x] + Abs[y], y != x}}]
    ContourPlot[dP[x, y], {x, -10, 10}, {y, -10, 10}]
     

    Zeichnen des offenen Balls für den metrischen Bereich der Poststelle

    21 March 2012
    29 revs, 25 users 37%Shaik Raffi