Berechnen, ob ein Punkt in einem Dreieck liegt??
Übersicht BlitzBasic Allgemein
BasicTobiBetreff: Berechnen, ob ein Punkt in einem Dreieck liegt?? |
Fr, Apr 07, 2006 18:09 Antworten mit Zitat |
|
---|---|---|
Hallo, wie der Titel schon sagt, suche ich nach einer Möglichkeit zu bestimmen, ob ein Punkt in einem Dreieck liegt. Der Punkt und das Dreieck liegen in einem 2D Raum. Ich hab jetzt schon paar Versuche gestartet, aber mir steht komplett jemand aufm Schlauch.... Hab auch schon heir gescuht aber nix gefunden. Das Problem ist außerdem, dass die Routine möglichst schnell sein sollte, da ich dadurch eine einfache Kollisionserkennung realisieren will.
Also, wenn jemand ne Idee hat, einfach posten Danke schonmal im Voraus! MfG Tobi |
||
Gruß Tobi |
Geeecko |
Fr, Apr 07, 2006 18:37 Antworten mit Zitat |
|
---|---|---|
vllt. eine for schleife von x zu y' und von x zu y'' und dann if punkx = x
und punkty=y print der punkt liegt im dreieck... mit einer seite^^ |
||
BasicTobi |
Fr, Apr 07, 2006 18:40 Antworten mit Zitat |
|
---|---|---|
Wäre eine Möglichkeit, doch leider kann ich die nicht anwenden, da ich mit Floats arbeite.
Danke trotzdem! Gruß Tobi |
||
Gruß Tobi |
Firstdeathmaker |
Fr, Apr 07, 2006 18:51 Antworten mit Zitat |
|
---|---|---|
Kurze Frage, willst du damit die Imagecollide Funktion umgehen? Wenn ja: Mach´s dir nicht zu kompliziert.
Edit: Habs hinbekommen (Bin ein klein wenig stolz auf mich ) BlitzBasic: [AUSKLAPPEN] Graphics 400,300,32,2 |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
ChaosCoder |
Fr, Apr 07, 2006 23:49 Antworten mit Zitat |
|
---|---|---|
warte mal, das kenn ich doch, das problem hatte ich auch mal^^
Hab mir dann einfach mal folgenden codeschnipsel angeguckt (is glaub ich hier ausm archiv ) Code: [AUSKLAPPEN] Graphics 800,600,0,2 SetBuffer BackBuffer() SeedRnd MilliSecs() Const Points = 6 Dim Point#(Points,2) RandomizeFigure() While Not KeyDown(1) Cls If KeyHit(57) Then RandomizeFigure() ShowFigure() Text 1,1,"MOUSEOVER: " + MouseOver(MouseX(),MouseY()) Flip Wend End Function RandomizeFigure() For i = 0 To Points-1 Point(i,1) = Rand(GraphicsWidth()) Point(i,2) = Rand(GraphicsHeight()) Next End Function Function ShowFigure() Color 255,255,255 For i = 0 To Points-1 Line Point(i,1), Point(i,2), Point((i+1) Mod Points,1), Point((i+1) Mod Points,2) Next End Function Function MouseOver(x#,y#) Color 100,100,100 Line x,0,x,600 For i = 0 To Points-1 x1# = Point(i,1) x2# = Point((i+1) Mod Points, 1) y1# = Point(i,2) y2# = Point((i+1) Mod Points, 2) If x2 < x1 Then x3 = x2 x2 = x1 x1 = x3 y3 = y2 y2 = y1 y1 = y3 If (x >= x1) And (x <= x2) Then yp# = y1 + (x - x1) * (y2 - y1) / (x2 - x1) If yp => y Then s = s + 1 Color 255,0,0 Oval x-3,yp-3,6,6,1 EndIf Next Color 255,255,255 Return s Mod 2 End Function |
||
Projekte: Geolaria | aNemy
Webseite: chaosspace.de |
Mr.Keks |
Sa, Apr 08, 2006 1:19 Antworten mit Zitat |
|
---|---|---|
http://www.blitzbasic.com/code...p?code=483
immer guter tipp: im englischen codearchiv ist jeeeede menge nützliches zeugs. man findet da eigentlich die meisten algos, die man fürs tägliche coden braucht. |
||
MrKeks.net |
Firstdeathmaker |
Sa, Apr 08, 2006 14:44 Antworten mit Zitat |
|
---|---|---|
Aua, die sind ja viel kürzer als meiner. Wie kommt man nur darauf? | ||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
CodeMaster |
Sa, Apr 08, 2006 15:11 Antworten mit Zitat |
|
---|---|---|
https://www.blitzforum.de/view...highlight= | ||
Dies ist ein Text, der an jeden Beitrag von dir angehängt werden kann. Es besteht eine Limit von 500 Buchstaben.
Zuletzt bearbeitet von CodeMaster am Mo Apr 01, Parse error: syntax error, unexpected ';' in htdocs\viewtopic.php on line 102 |
Übersicht BlitzBasic Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group