1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. moritz1243

Beiträge von moritz1243

  • Strahl Dreieck Kollision

    • moritz1243
    • 21. April 2010 um 20:36

    Ich habe die Schritte jetzt verstanden, jedoch weiß ich nicht wie man die gleichungssysteme löst :S.

  • Strahl Dreieck Kollision

    • moritz1243
    • 21. April 2010 um 15:13

    wäre cool wenn du mir das mal vorrechnen könntest aber benutze dann bitte variabln namen, danke :)

  • Strahl Dreieck Kollision

    • moritz1243
    • 20. April 2010 um 18:52

    Nein auch nicht wirklich, ein funktionierendes bsp würde mir mehr helfen :P

  • Strahl Dreieck Kollision

    • moritz1243
    • 20. April 2010 um 18:45

    Ja, aber hilft mir noch nicht wirklich weiter :(

  • Strahl Dreieck Kollision

    • moritz1243
    • 20. April 2010 um 18:32

    stimmt ich habe mir jetzt diesen artikel zuende durchgelesen, da muss man noch viel umstellen etc. Hier steht was das schein einfacher zu sein:
    http://softsurfer.com/Archive/algori…orithm_0105.htm

    hab was gefunden:

    Spoiler anzeigen
    [autoit]

    bool TrimeshFace::intersectLocal( const ray& r, isect& i ) const
    {

    // retrieve the vertices
    const Vec3d& v0 = parent->vertices[ids[0]];
    const Vec3d& v1 = parent->vertices[ids[1]];
    const Vec3d& v2 = parent->vertices[ids[2]];

    Vec3d e1 = Vec3d(v1[0] - v0[0], v1[1] - v0[1], v1[2] - v0[2]);
    Vec3d e2 = Vec3d(v2[0] - v0[0], v2[1] - v0[1], v2[2] - v0[2]);


    Vec3d h = Vec3d(r.getDirection()[2] * e2[3] - r.getDirection()[3] * e2[2],
    r.getDirection()[3] * e2[1] - r.getDirection()[1] * e2[3],
    r.getDirection()[1] * e2[2] - r.getDirection()[2] * e2[1]);



    double a = (e1[0] * h[0]) + (e1[1] * h[1]) + (e1[2] * h[2]);


    if (a > -0.00001 && a < 0.00001)
    return false;

    double f = 1/a;

    Vec3d s = Vec3d(r.getPosition()[2] * v0[3] - r.getPosition()[3] * v0[2],
    r.getPosition()[3] * v0[1] - r.getPosition()[1] * v0[3],
    r.getPosition()[1] * v0[2] - r.getPosition()[2] * v0[1]);



    double u = f * ((s[0] * h[0]) + (s[1] * h[1]) + (s[2] * h[2]));



    if (u < 0.0 || u > 1.0) {
    return false;
    }

    Vec3d q = Vec3d(s[2] * e1[3] - s[3] * e1[2],
    s[3] * e1[1] - s[1] * e1[3],
    s[1] * e1[2] - s[2]* e1[1]);

    double v = f * ((r.getDirection()[0] * q[0]) +
    (r.getDirection()[1] * q[1]) +
    (r.getDirection()[2] * q[2]));

    if (v < 0.0 || u + v > 1.0)
    return false;

    // at this stage we can compute t to find out where
    // the intersection point is on the line
    double t = f * ((e2[0] * q[0]) + (e2[1] * q[1]) + (e2[2] * q[2]));


    if (t > 0.00001) // ray intersection
    {
    i.obj = this;
    i.t = t;
    i.N = Vec3d(e1[2] * e2[3] - e1[3] * e2[2],
    e1[3] * e2[1] - e1[1] * e2[3],
    e1[1] * e2[2] - e1[2]* e2[1]);;
    return true;
    }

    [/autoit]

    hier noch besser das letzt bei opimasation:
    http://www.devmaster.net/wiki/Ray-triangle_intersection

  • Strahl Dreieck Kollision

    • moritz1243
    • 20. April 2010 um 18:25

    Mmh mit dem gaußschen Eliminationsverfahren könnte man das lösen jedoch versteh ich es noch nicht richtig :S

  • Strahl Dreieck Kollision

    • moritz1243
    • 20. April 2010 um 18:04

    Naja sagen wir mal so, ich kann das was ich kann sehr gut, aber der sprung von 2 zu 3d ist doch enorm. Ich schreibe gerade an einer kleinen biblihothek, vekotren sind schon enthalten, und matrixen und ebenen auch(zwar nur translationen und rotationen aber noch nicht mehr :S ). Deshalb wollte ich jetzt noch die kollisionen berechnen können. Aber das ist schonmal gut.

    Wäre super wenn du restlichen schritte auch noch "verbeispielen" könntest :)

    Mit der Geradengleichung meinst du: Kollisionspunkt(x,y,z) = StartpunktdesStrahl(_, _, _,) + VektordesStrahl(_, _, _)*t?

    Achja nochwas, wie berechen ich den ob die Position in dreieck ist?

  • Strahl Dreieck Kollision

    • moritz1243
    • 20. April 2010 um 17:09

    Ne leider nicht wirklich, ich habe auch schon viel gegooglt, aber irgendwie nichts brauchbares gefunden.

  • Strahl Dreieck Kollision

    • moritz1243
    • 20. April 2010 um 16:30

    Hallo zusammen,

    ist irgendjemand so gut in Mathe das er mir helfen kann, die Kollision von einem Strahl mit einem Dreieck im 3D Raum zu berechnen bzw eine funktion zu schreiben. Die Eingangsparameter sind die 3 Koordinaten Punkte des Dreicks(A,B,C). Sowie ein Strahl bestehend aus einem Startpunkt (P) und einem Vektor(V)?

    Danke :)

  • Physik Engine Version2

    • moritz1243
    • 16. April 2010 um 20:49

    genau, das ist der letzte wert bei jedem objekt ;)

  • Physik Engine Version2

    • moritz1243
    • 16. April 2010 um 16:56

    hi

    Ja das ist die Stoßzahl, sie gibt an ob ob der stoß komplett (Wert = 1) oder nur halb (Wert = 0.5) etc. übertragen wird

  • Stadt, Land, Fluss für PC [BALD AUCH MULTIPLAYER]

    • moritz1243
    • 15. April 2010 um 19:12

    hi,

    du musst noch machen das das spielen die ergebnisse überprüft über internet. Ich weiß das klingt kompliziert würde das spiel aber stark aufwerten^^, sonst schöne idee.

    grüße Moritz

  • Game Launcher

    • moritz1243
    • 13. April 2010 um 16:31

    HI,

    mmh eigentlich schon, jedoch arbeite ich nicht mehr soviel mit autoit sondern fast ausschließlich nurnoch mit c++ vielleicht schriebe ich das script in c++ mal neu oder mal schauen

    grüße Moritz

  • Physik Engine Version2

    • moritz1243
    • 6. April 2010 um 18:34

    @tkaus! hast du den fehler mal in berichtig? - wenn ja kannste mir das script mal schicken, dann muss ich es nicht extra nochmalberichtigen???

  • Physik Engine Version2

    • moritz1243
    • 6. April 2010 um 10:50

    Nee das ist nicht gewollt :S und sollte gefixed werden

  • Physik Engine Version2

    • moritz1243
    • 5. April 2010 um 11:58

    Hi,

    die Funktionen zum erstellen der Körper sind folgende:

    Func Kugel_erstellen($Center_x, $Center_y, $Radius, $Vektor_x, $Vektor_y, $Omega, $Masse, $Flaechentraegheitsmoment, $Stoszzahl, $Farbe, $Texture)
    Func Koerper_erstellen($Punkte, $Center_x, $Center_y, $Vektor_x, $Vektor_y, $Winkel, $Omega, $Masse, $Flaechentraegheitsmoment, $Stoszzahl, $Farbe, $Texture)

    $Punkte: ist ein array mit 8 Elementen die jeweil die Form des Körpers bestimmen $Punkte[8] = [x,y, x,y, x,y, x,y]
    $Center_x/y ist die Koordinate wo der Körper startet
    $Vektor_x/y ist die Geschwindigkeit des Körpers beim start in x/y richtung
    $Winkel ist der start winkel des Körpers
    $Omega ist die Rotationsgeschwindigkeit die der Körper beim start hat
    $Masse = Masse
    $Flachenträgheitsmoment ist wie leicht oder schwer sich der Körper drehen lässt
    $Stoszzahl ist der Anteil der Energie, der bei einem stoß Ubertragen wird bzw erhalten bleibt.
    $Farbe braucht man nicht da die Körper seit Version 0.5 Texturen haben.
    $Texture ist halt der Pointer zur Texture

    Hoffe das hilft dir

    grüße Moritz

  • Physik Engine Version2

    • moritz1243
    • 4. April 2010 um 19:23

    Naja ich arbeite leider nicht mehr so oft mit autoit, ich hab mir mittlerweile c++ angeeignet. Ich habe die Physik-Engine auch mittlerweile in in c++ neu geschrieben und die fehler die bekannt sind bzw andere mit den array behoben(ist in c++ mit klassen eigentlich viel einfach und komfortabeler als mit autoit, wenn man es erstmal verstanden hat);

    grüße Moritz

  • Physik Engine Version2

    • moritz1243
    • 30. März 2010 um 00:02

    Stimmt Flipper ist ne gut idee :)

  • GDI+ Rotating Cubes

    • moritz1243
    • 27. März 2010 um 15:09

    Respekt, sieht richtig gut aus. Das mit dem Fluchtpunkt bekommste auch noch hin ;)

    grüße Moritz

  • Physik Engine Version2

    • moritz1243
    • 21. März 2010 um 13:34

    vielen Dank,

    mich würde mal interessieren ob schon jemand die physik-engine für ein spiel, wie zum beispiel Angry Bird(Ipod) benutzt hat?

    grüße Moritz

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™