Aktuelle Zeit: 25.09.2017 04:28:57

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: dll für Isloatoreneinbau
BeitragVerfasst: 01.09.2017 21:34:56 
Offline

Registriert: 04.11.2001
Beiträge: 4980
Aktuelle Projekte: Zusi3 Objektbau
So, ich habe jetzt ein paar Stunden gehackt, und das erste Erfolgserlebnis ist da:
Bild

Der Isolator und der Fahrdraht kommen aus meiner eigenen Fahrleitungs-DLL. So Gott will werde ich dem Ding jetzt noch beibringen, die drei anderen Isolatoren auf die Drähte zu fädeln, und dann hätte die DLL schon einen Nutzwert.

_________________
Wie baut man Zusi3-Addons? - Mein Youtube-Kanal: youtube.com/echoray1


Nach oben
 Profil Website besuchen  
 
 Betreff des Beitrags: Re: Weiterentwicklung des deutschen Fahrleitungsbaukastens
BeitragVerfasst: 04.09.2017 13:17:55 
Offline

Registriert: 04.11.2001
Beiträge: 4980
Aktuelle Projekte: Zusi3 Objektbau
Erste Version einer Fahrleitungs-DLL, mit der sich Abspannungen mit zusätzlichen Isolatoren für Streckentrennungen bauen lassen: https://github.com/ameschede/ZusiFahrle ... g/v1.0.0.2

Für einen Einsatz im scharfen Schuss taugt die DLL aus meiner Sicht noch nicht (dafür bin ich nicht tief genug ins Thema eingestiegen), aber sie zeigt zumindest dass es geht. Meinen Anteil am Quellcode habe ich in ein Github-Repository geladen, so dass im Prinzip eine kollaborative Weiterentwicklung (auch in Richtung weiterer Sonderfahrdrähte) möglich wäre. Wenn jemand coden möchte, muss er sich nur noch die DirectX- und Zusi-Header aus dem Verzeichnis _Docu\demos\catenary\source dazuholen, die ich aus urheberrechtlichen Gründen mal lieber nicht nach Github hochladen wollte.

Carsten Hölscher hat geschrieben:
Der Quellcode ist ja extra dabei, um Leute zu inspirieren, dort tätig zu werden.


Ich könnte noch Inspiration gebrauchen, wie man einen Isolator so auf ein Tragseil mit Durchhang auffädelt, dass er richtig sitzt ;) Im Moment rechnet meine DLL noch auf einem straff gespannten Tragseil, weil ich diese Problemstellung erstmal nicht gelöst bekam.

_________________
Wie baut man Zusi3-Addons? - Mein Youtube-Kanal: youtube.com/echoray1


Nach oben
 Profil Website besuchen  
 
 Betreff des Beitrags: Re: Weiterentwicklung des deutschen Fahrleitungsbaukastens
BeitragVerfasst: 04.09.2017 14:29:28 
Offline
Administrator
Benutzeravatar

Registriert: 04.07.2002
Beiträge: 26916
Wohnort: Braunschweig
Die Position kann nur die dll kennen, die auch den Draht verlegt. Das Thema dll-Programmierung sollte vielleicht aus diesem Thread ausgelagert werden?

Carsten


Nach oben
 Profil Website besuchen  
 
 Betreff des Beitrags: Weiterentwicklung des deutschen Fahrleitungsbaukastens
BeitragVerfasst: 04.09.2017 17:22:10 
Offline

Registriert: 04.11.2001
Beiträge: 4980
Aktuelle Projekte: Zusi3 Objektbau
Carsten Hölscher hat geschrieben:
Das Thema dll-Programmierung sollte vielleicht aus diesem Thread ausgelagert werden?


Ja, wäre wohl günstig.

Carsten Hölscher hat geschrieben:
Die Position kann nur die dll kennen, die auch den Draht verlegt.


Das weiß ich. Da Du ja in deinen DLLs eine offenbar funktionierende Lösung hast, würde mich interessieren wie die aussieht. Ich nehme mal an, Du merkst Dir beim ersten und letzten Hänger im Kettenwerk die Position des oberen Punktes, um dann mit einem Vektor drauf zielen zu können, aus dem sich dann der Tragseil-Isolator-Winkel ergibt?

Für die Ausrichtung der am Fahrdraht sitzenden Isolatoren ist bei mir derzeit auch nur ein recht stupider Ansatz implementiert, bei dem ich einfach den Mittelwert der Winkel aus den beiden beteiligten Fahrleitungs-Ankerpunkten nehme. Das funktioniert recht gut, solange die beiden Ankerpunkte nicht 180 ° verdreht zueinander stehen. Dann kommt aus der Mittelwertbetrachtung nämlich ein um 90 ° verdrehter Isolator heraus. Es muss also offenbar einen intelligenteren Ansatz geben.

_________________
Wie baut man Zusi3-Addons? - Mein Youtube-Kanal: youtube.com/echoray1


Nach oben
 Profil Website besuchen  
 
 Betreff des Beitrags: Re: dll für Isloatoreneinbau
BeitragVerfasst: 05.09.2017 21:29:18 
Offline
Administrator
Benutzeravatar

Registriert: 04.07.2002
Beiträge: 26916
Wohnort: Braunschweig
Ohne Vektorrechnung kommt man nicht zum Ziel, DirectX bietet dabei eine Bibliothek mit nützlichen Grundfunktionen.

Diese kleine procedure hilft ggf.:

Code:
  procedure Lage(Pkt1, Pkt2:TD3DVector; l:single; var xyz, xyzphi:TD3DVector);
  // berechnt die Position eines Isolators auf dem Draht
  var v, vNorm, h:TD3DVector;
      Winkelz, Winkelx:single;
  begin
    D3DXVec3Subtract(v, Pkt2, Pkt1);
    D3DXVec3Normalize(vNorm, v);
    D3DXVec3Scale(h, vNorm, l);
    D3DXVec3Add(xyz, h, Pkt1);

    Winkelz:=ArcTan2(Pkt2.y-Pkt1.y, Pkt2.x-Pkt1.x);                             
    Winkelx:=arctan2(Pkt2.z-Pkt1.z, sqrt(sqr(Pkt2.x-Pkt1.x)+sqr(Pkt2.y-Pkt1.y)));
    xyzphi.x:=-Winkelx;
    xyzphi.y:=0;
    xyzphi.z:=Winkelz+Pi/2;
  end;


Carsten


Nach oben
 Profil Website besuchen  
 
 Betreff des Beitrags: Re: dll für Isloatoreneinbau
BeitragVerfasst: 11.09.2017 13:36:35 
Offline

Registriert: 04.11.2001
Beiträge: 4980
Aktuelle Projekte: Zusi3 Objektbau
Version 1.0.0.5 meiner Fahrleitungs-DLL: https://github.com/ameschede/ZusiFahrle ... g/v1.0.0.5

  • Die Baurichtung (von A nach B oder von B nach A) ist jetzt egal
  • Tragseile werden mit Durchhang berechnet
  • Die Isolatoren sollten jetzt immer korrekt sitzen
  • Experimentell: Drahtstärke konfigurierbar, Bau von Fahrdrähten ohne Y-Beiseil

Für Streckentrennungen mit Isolatoren taugt die DLL aus meiner Sicht jetzt für den Echt-Einsatz.
Die beiden Experimental-Features sind hingegen wirklich als Experiment zu betrachten. Meine DLL kann zwar jetzt auch Normalfahrdrähte ohne Y-Seile erstellen, bietet dabei aber keinen Vorteil gegenüber der bei Zusi mitgelieferten Re160-DLL. Es ging mir hauptsächlich darum, erstmal die notwendigen Strukturen zu schaffen um mehr als eine Sorte Fahrdrähte zu unterstützen.

_________________
Wie baut man Zusi3-Addons? - Mein Youtube-Kanal: youtube.com/echoray1


Nach oben
 Profil Website besuchen  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.011s | 18 Queries | GZIP : Off ]