www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Mathematica" - Point begrenzt durch Polygon
Point begrenzt durch Polygon < Mathematica < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Point begrenzt durch Polygon: PointSize
Status: (Frage) überfällig Status 
Datum: 19:57 So 24.06.2012
Autor: MaxiWenz

Ich habe diese Frage in auch http://forums.wolfram.com/student-support/discussions/4/ gestellt.

Wie kann der Punkt durch die Landesgrenzen beschränkt werden?

Auf einer Karte (von Spanien) soll ein Punkt an der stelle {-3.71, 40.42} erstellt werden.
Jetzt soll der Punkt vergrößert werden. Dazu wird die Funktion Manipulate[]  verwendet, welche die Variable "punktgröße" in PointSize[] steuert. Der Punkt soll jedoch nicht über die Landesgrenzen hinaus vergößert werden.
Trifft also der Punkt an der Westküste auf die Landesgrenze soll er an dieser Stelle nicht weiter laufen, an allen anderen Stellen jedoch schon.
Am Ende soll fast ganz Spanien rot sein.

Hier der Code für die Landdesgrenzen und den Punkt.

Manipulate[ Show[Graphics[{
    (*Farbe des Hintergrundes.*)
    Background -> RGBColor[0.9, 0.9, 0.9],
    (*Farbe des Landes.*)
    RGBColor[0.4, 0.4, 0.4],
    (*Landesgrenzen und zugehöriges Polygon*)
    CountryData["Spain", "Polygon"],
    (*Punkt an den Koordinaten {-3.71',40.42'}.*)
    Red, {PointSize[punktgröße], Point[{-3.71', 40.42'}]}
    }]], {punktgröße, 0, 1}]

Meine Lösungsidee war, statt der Funktion Point[] lieber RecTangle[] zu verwenden und diesen durch ein {xmax, ymax} = CountryData["Spain", "Polygon"] zu beschränken - hat aber nicht geklappt.

        
Bezug
Point begrenzt durch Polygon: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:20 Fr 29.06.2012
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
        
Bezug
Point begrenzt durch Polygon: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 03:59 Mo 07.01.2013
Autor: hieron

statt:  Point[{-3.71', 40.42'}]

so: Point[{-3.71, 40.42}]

Das Hochkomma ist überflüssig

Lg hieron

Bezug
        
Bezug
Point begrenzt durch Polygon: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 04:03 Mo 07.01.2013
Autor: hieron

statt:  Point[{-3.71', 40.42'}]

so: Point[{-3.71, 40.42}]

Das Hochkomma ist überflüssig

Lg hieron

Lösung:

Manipulate[
Show[Graphics[{(*Farbe des Hintergrundes.*)
    Background -> RGBColor[0.9, 0.9, 0.9],(*Farbe des Landes.*)
    RGBColor[0.4, 0.4, 0.4],(*Landesgrenzen und zugehöriges Polygon*)
    CountryData["Spain",
     "Polygon"],(*Punkt an den Koordinaten {-3.71',40.42'}.*)
    Red, {PointSize[punktgröße],
     Point[{-3.71, 40.42}]}}]], {punktgröße, 0, .4}]


Bezug
        
Bezug
Point begrenzt durch Polygon: Antwort (Korrektur)
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:53 Sa 02.02.2013
Autor: hieron

Die Frage ist äusserst missverstaendlich gestellt.

Problem1:
Das "Hochkomma" bei den Punktkoordinaten "{-3.71', 40.42'}" wird nach Vorschau von der ForenSoftware von "accent grave" (welches in Mathematica "Precision" definiert) in  ein Hochkomma umgewandelt. Nach dem zurueck kopieren in Mathematica erhaelt man daher eine Fehlermeldung. Wie gesagt das Hochkomma ist ueberfluessig und irrefuehrend, da in Mathematica das "senkrechte" Hochkomma  []Derivative  (') bedeutet.



Problem2:
(* Zitat: "Trifft also der Punkt an der Westküste auf die Landesgrenze soll er an dieser Stelle nicht weiter laufen, an allen anderen Stellen jedoch schon. Am Ende soll fast ganz Spanien rot sein."
Kann man so verstehen, Antwort 1 *)


Manipulate[
Show[Graphics[{(*Farbe des Hintergrundes.*)
    Background -> RGBColor[0.9, 0.9, 0.9],(*Farbe des Landes.*)
    RGBColor[0.4, 0.4, 0.4],(*Landesgrenzen und zugehöriges Polygon*)
    CountryData["Spain", "Polygon"],(*Punkt an den Koordinaten {-3.71,
    40.42}.*)
    offsetOsten = If[punktgröße > .4, 180 (punktgröße - .4), 0];
    {Red, PointSize[punktgröße],
     Point[Offset[{offsetOsten, 0}, {-3.71, 40.42}]]}}],
  PlotRangeClipping -> True], {punktgröße, 0, 1}]




Tatsächlich wolltest du aber folgende Frage stellen:
"Wie kann ich einen roten Punkt radial vergrössern, sodass er nur die dunkelgraue Landmasse rot einfärbt, ohne das hellgraue Meer zu färben?  Am Ende soll ganz Spanien rot gefärbt sein."


(* Antwort 2 (Student Support)*)
Manipulate[
ImageAdd[ImageMultiply[
   Image@Graphics[{RGBColor[0.4, 0.4, 0.4],
      CountryData["Spain", "Polygon"],
      Red, {PointSize[pointSize], Point[{-3.71, 40.42}]}},
     PlotRangeClipping -> True],
   Image@Graphics[{GrayLevel[1], CountryData["Spain", "Polygon"]},
     Background -> GrayLevel[0]]],
  Image@Graphics[{GrayLevel[0], CountryData["Spain", "Polygon"]},
    Background -> GrayLevel[0.9]]], {pointSize, 0, 1.1}]



Obwohl die Frage bereits abgelaufen ist, ist sie doch aeusserst lehrreich, und daher habe ich eine laengere Antwort gegeben.

lg hieron

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]