Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[Gelöst] Schnittpunkt (PolygonFill)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 31.12.2009, 10:05    Titel: [Gelöst] Schnittpunkt (PolygonFill) Antworten mit Zitat

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, 17:15, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 31.12.2009, 10:52    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 31.12.2009, 11:09    Titel: Antworten mit Zitat

Scheint zu funzen! Vielen Dank!


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 31.12.2009, 20:31    Titel: Antworten mit Zitat

Sonst von meinem MiniCAD-Projekt von ganz früher hätte ich noch tonnenweise solches "Material" (SUB-Routinen für geometrische Berechnungen aller Art), siehe

http://beilagen.dreael.ch/QB/MINICAD.ZIP

falls Du noch mehr davon benötigst.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 31.12.2009, 22:28    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
SpionAtom



Anmeldungsdatum: 10.01.2005
Beiträge: 338

BeitragVerfasst am: 05.01.2010, 14:47    Titel: gerade im Blitzforum gehabt Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 05.01.2010, 17:15    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz