Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 31.12.2009, 11:05 Titel: [Gelöst] Schnittpunkt (PolygonFill) |
|
|
Hi .. ich habe folgendes Problem:
Mir sind die Koordinaten der Grünen Linie bekannt, sowie die Koordinaten (höhe) der roten.
Ich möchte nun herausfinden, an welcher X koordinate die grüne linie die rote schneidet (single).
Hat da jemand einen effektiven und schnellen Algo für mich, der dieses Problem lösen kann?
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Zuletzt bearbeitet von ThePuppetMaster am 05.01.2010, 18:15, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4688 Wohnort: ~/
|
Verfasst am: 31.12.2009, 11:52 Titel: |
|
|
Sagen wir mal, dein Schnittpunkt hat die Koordinaten (xs | ys) (also T = ys).
(x2 - x1) / (y2 - y1) = (x2 - xs) / (y2 - ys)
aufgelöst nach xs:
(x2 - x1) * (y2 - ys) / (y2 - y1) = x2 - xs
xs = x2 - (x2 - x1) * (y2 - ys) / (y2 - y1)
Bitte nachprüfen, habe ich gerade auf die Schnelle im Antwortfeld hergeleitet. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 31.12.2009, 12:09 Titel: |
|
|
Scheint zu funzen! Vielen Dank!
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 31.12.2009, 23:28 Titel: |
|
|
Danke.
Ich versuche eigentlich nur eine PolygonFill funktion zu basteln. Leider scheint das aber nicht ganz so einfach zu sein, wie es auf vielen seiten beschrieben wird. Auch code von z.B. ReactOS aus der GDI dll scheint leicht fehlerhaft zu sein. mitlerweile bin ich dabei ne eigene variation zu schreiben, aber so wirklich funzt das auch nicht richtig.
vieleicht hat ja eine von euch schonma sowas gemacht.
das sind meine ergebnisse bisher:
und der code dazu: http://ops.ath.cx:3001/code?id=35
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
SpionAtom
Anmeldungsdatum: 10.01.2005 Beiträge: 394
|
Verfasst am: 05.01.2010, 15:47 Titel: gerade im Blitzforum gehabt |
|
|
Ich erlaube mir mal wieder einen Blitzforum-Link zu posten, denn genau das gleiche Problem (glaube ich), wurde da auch vor kurzem behandelt.
http://www.blitzforum.de/forum/viewtopic.php?p=355651#355651
Und bis auf die Types (Listenstruktur), ist der Code ziemlich QB-like.
Vielleicht liest du dir auch den ganzen ganzen Thread durch, da leiten sie sich das Scanline Problem auch her... _________________ Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht. |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 05.01.2010, 18:15 Titel: |
|
|
Unglaublich ... ich habe den trick mit dem - 0.1 (ich machs mit 0.5) angewant .. und... es funzt! .. unglaublich!
Vielen Dank für den Link @SpionAtom! Das war genau das, was ich gesucht habe.
Für jeden, der ne PolygonFill Funktion braucht: http://ops.ath.cx:3001/code?id=36
[EDIT] Hab den Code nochmal kurz überarbeitet udn ein paar kleine schönheitsfehler beseitigt. Link: Siehe oben:
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
|