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 "Lineare Algebra / Vektorrechnung" - Punkt in Fläche?
Punkt in Fläche? < Lin. Algebra/Vektor < Oberstufe < Schule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra / Vektorrechnung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Punkt in Fläche?: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:56 Sa 03.12.2005
Autor: unique24

Hallo

Ich habe folgendes Problem:

Ich habe eine x und y Koordinate (sowol ins + als auch ins -)

Ich möchte eine Fläche bestimmen darin mit, sagen wir mal 3 Punkten:
P1 = x:-45,y:2
P2 = x:5,y:57
P3 = x:59,y:2

Nun möchte ich herausfinden, ob der Punkt (a = x:30,y:-13) sich innerhalb dieser oben genannten Fläche (Dreieck) befindet.

Wie ist sowas zu lösen? Es wäre schön, wenn ich jegliche Fläche bestimmen kann, in der dann a sein kann oder nicht.

Vielen Dank

Hannes

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Punkt in Fläche?: Antwort
Status: (Antwort) fertig Status 
Datum: 19:49 Sa 03.12.2005
Autor: Jennifer

Du kannst als erstes mit Hilfe der gegebenen drei Punkte die Ebenengleichung aufstellen und dann prüfen, ob der Punkt in dieser Ebene liegt. Dazu schaust du, ob die Paramter jeweils identisch sind.

Jennifer

Bezug
        
Bezug
Punkt in Fläche?: Antwort
Status: (Antwort) fertig Status 
Datum: 20:59 Sa 03.12.2005
Autor: Fugre


> Hallo
>  
> Ich habe folgendes Problem:
>  
> Ich habe eine x und y Koordinate (sowol ins + als auch ins
> -)
>  
> Ich möchte eine Fläche bestimmen darin mit, sagen wir mal 3
> Punkten:
>  P1 = x:-45,y:2
>  P2 = x:5,y:57
>  P3 = x:59,y:2
>  
> Nun möchte ich herausfinden, ob der Punkt (a = x:30,y:-13)
> sich innerhalb dieser oben genannten Fläche (Dreieck)
> befindet.
>  
> Wie ist sowas zu lösen? Es wäre schön, wenn ich jegliche
> Fläche bestimmen kann, in der dann a sein kann oder nicht.
>  
> Vielen Dank
>  
> Hannes
>  
> Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.

Hallo Unique,

wenn ich dich richtig verstehe, hast du ein Dreieck, welches gegeben
ist durch die Punkte [mm] $P_1,P_2, P_3$ [/mm] und willst nun wissen, ob ein
bestimmter Punkt, in diesem Fall $A$, in ihm liegt. Um das zu überprüfen,
solltest du erst einmal die "beschränkte" Ebene des Dreiecks errechnen.
Das gleicht dem Aufstellen einer Ebene durch 3 Punkte.
Hier:
[mm] $E:\vec x=\vec p_1 [/mm] + [mm] \lambda (\vec p_2 [/mm] - [mm] \vec p_1) [/mm] + [mm] \mu (\vec p_3 [/mm] - [mm] \vec p_1)$ [/mm]
Jetzt musst du nur eine Besonderheit der Ebene beachten, knobel bitte erst mal
selbst.

Wenn du nicht mit Vektoren arbeiten willst oder sollst, kannst du die Aufgabe
natürlich auch lösen, indem du die Geraden bildest, die durch die Punkte verlaufen,
und dann die Lage des Punktes $A$ relativ zu diesen Geraden bestimmst.

Liebe Grüße
Nicolas

Bezug
                
Bezug
Punkt in Fläche?: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 08:59 So 04.12.2005
Autor: unique24

Hallo

Danke für die Antworten. Ich möchte diese Berechnungen in ein Visual Basic Programm einbauen.

Was wäre aber wenn man eine Fläche mit 5-6 Punkten hat (P1,P2,P3;P4,P5)?
Gibts da eine Standart Formel zur Berechnung, ob ein Punkt innerhalb der Fläche ist?

Ich muss auch sagen, das ich zwar im Rechnerischen Abbung (Zimmerei) recht gut klar kam, aber diese Formeln übersteigen etwas mein Verständnis für Mathematik ;-)

Könnt ihr mir das so schreiben (mit Zwischenschritten?), das ich das auch Verstehe? :-(


Wäre echt nett von Euch.

Danke

Hannes

Bezug
                        
Bezug
Punkt in Fläche?: Punkt in einer Flächer/Ebene
Status: (Antwort) fertig Status 
Datum: 09:11 Mo 05.12.2005
Autor: Denny22

Hallo,

am besten Löst du dein Problem, indem du den Abstand zwischen Punkt und Ebene via Hessesche Normalform bestimmst. D.h. du musst deine Ebene in die Form

[mm] a_1x_1 [/mm] + [mm] a_2x_2 [/mm] + [mm] a_3x_3 [/mm] = b

umformen.

Hast du dies getan, so berechnest du den Abstand zwischen dem Punkt u= [mm] \vektor{u_1 \\ u_2 \\ u_3} [/mm] und der Ebene mit folgender Formel:

[mm] \frac{1}{\wurzel{a_1^2 + a_2^2 + a_3^2}} [/mm] * [mm] (a_1u_1 [/mm] + [mm] a_2u_2 [/mm] + [mm] a_3u_3 [/mm] - b)

und das ganze in Betrag. Ist das Ergebnis gleich 0, so ist der Punkt in deiner Fläche bzw. Ebene. Ist das Ergebnis ungleich null, so ist der Punkt nicht in der Fläche bzw. Ebene.

In Visual C++ gehst du folgende Schritte durch:
1. du legst die Vektoren bzw. Arrays an für a und u sowie eine Variable b und eine Variable abstand:

double a[3],u[3],b,abstand;

2. Berechnest du nun den Abstand:

double a_sum=0;
for (i=1;i<3;i++)
{
a_sum=a[i]*a[i]+a_sum;
}

double au=0;
for (i=1;i<3;i++=
{
au=a[i]*u[i]+au;
}

abstand = (au-b)/sqrt(a_sum);

3. Ausgabe, ob Punkt in ebene oder nicht

if(abstand==0)
cout << "Punkt in Ebene";
else
cout << "Punkt nicht in Ebene";

Ich hoffe, dass ich dir weiterhelfen konnte.

Bezug
                                
Bezug
Punkt in Fläche?: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 08:11 Di 06.12.2005
Autor: unique24

Hallo Denny

Vielen dank. Leider programmiere ich in vb.net. Aber ich werde versuchen jemand zu finden, der den Code transformiert.

Wie würde es denn bei mehreren Ecken aussehen? Wenn ich zum Beispiel ein Polygon mit x Ecken habe?

Kann man deine Formel da einfach erweitern, oder ist dies nur für Dreiecke?

Vielen Dank

Hannes

Bezug
                                        
Bezug
Punkt in Fläche?: Antwort
Status: (Antwort) fertig Status 
Datum: 09:01 Mi 07.12.2005
Autor: Denny22

Hallo,

vertu Dich nicht. Was ich Dir geschickt habe ist der Quelltext um den Abstand einer Ebene (d.h. ohne Eckpunkte) zu einem Punkt zu bestimmen und somit abzulesen, ob der Punkt in der Ebene liegt (ohne Eckpunkte !!!)

Wenn Du ein Polygon hast, dann kannst Du selbstverständlich auch eine Ebene konstruieren, so dass das gesamte Polygon darin liegt.
Das was ich Dir zuvor geschrieben habe, gibt den Abstand von einem Punkt zu einer Ebene im  [mm] \IR^3 [/mm] an. Wie gesagt: Diese Ebene besitze jedoch keine Eckpunkte.
Der Quelltext vom letzten Mal lässt sich jedoch schnell umformen. Wichtig ist das Du dir darüber bewusst wirst, das sich die Veränderlichen nicht beliebig aus  [mm] \IR [/mm] wählen lassen, d.h. diese [mm] x_1, x_2 [/mm] (bzw. [mm] \lambda [/mm] , [mm] \mu [/mm] ) dürfen nur aus einem vordefinierten Bereich kommen. Viele Worte wenig Sinn:
Machs am besten so:
Du berechnest zuvor wieder den Abstand von dem Punkt und der Ebene.
Falls der Abstand ungleich 0, so bist Du fertig und der Punkt kann nicht darin liegen.
Falls der Abstand gleich 0, so musst du eine weitere Bedingung überprüfen. Denn Du weißt jetzt, dass der Punkt in der Ebene liegt, aber noch nicht, ob er sich z.B.: in Deinem Polygonmit bestimmten Eckpunkten befindet. Dazu kannst Du z.B.: deine Eckpunktkoordinaten betrachten z.B.:

[mm] \vektor{1 \\ 0 \\ 0} [/mm] ,  [mm] \vektor{0 \\ 1 \\ 0} [/mm] und  [mm] \vektor{0 \\ 0 \\ 1} [/mm]

(das wäre jetzt ein Dreieck)

Die Ebene dazu wäre:

[mm] \vektor{x \\ y \\ z} [/mm] =  [mm] \vektor{1 \\ 0 \\ 0} [/mm] +  [mm] \mu [/mm] *( [mm] \vektor{0 \\ 1 \\ 0}-\vektor{1 \\ 0 \\ 0}) [/mm] +  [mm] \lambda [/mm] * [mm] (\vektor{0 \\ 0 \\ 1}-\vektor{1 \\ 0 \\ 0}) [/mm]

Den Punkt [mm] \vektor{1 \\ 0 \\ 0} [/mm] erhälst Du, wenn [mm] \mu [/mm] =0 und [mm] \lambda [/mm] = 0
Den Punkt [mm] \vektor{0 \\ 1 \\ 0} [/mm] erhälst Du, wenn [mm] \mu [/mm] =1 und [mm] \lambda [/mm] = 0
Den Punkt [mm] \vektor{0 \\ 0 \\ 1} [/mm] erhälst Du, wenn [mm] \mu [/mm] =0 und [mm] \lambda [/mm] = 1

D.h. [mm] \mu [/mm] und [mm] \lambda [/mm] müssen zwischen 0 und 1 sein. Gilt das für deinen vorgegebenen Punkt so liegt er in der Ebene in deinem definierten Dreieck.

Habe ich nun einen weiteren Punkt z.B.:
[mm] \vektor{0 \\ -1 \\ 2} [/mm] (den erhält man für  [mm] \mu [/mm]  =-1 und [mm] \lambda [/mm] =2)
Dann erweiterst Du Deine Bereiche, so dass:
[mm] \lambda [/mm] zwischen 0 und 2 sein darf
und
[mm] \mu [/mm] zwischen -1 und 1 sein darf.

Der Quelltext war überings für C++. Wenn Du Microsoft Visual [mm] C\C++ [/mm] hast geht es. Mit Visual Basic habe ich nichts gemacht.

Ciao

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra / Vektorrechnung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


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