Symulator EU07 (i nie tylko) > Pomoc w tworzeniu

 Sygnał odjazdu błędnie wyzwalany semaforem wjazdowym

<< < (8/9) > >>

firleju:

--- Cytat: Stele w 06 Czerwca 2015, 00:20:57 ---Komórka jest rzutowana na trajektorię[...]

--- Koniec cytatu ---
Nie jest to prawdą do końca. Dzisiaj rano zrobiłem mały eksperyment i przypisałem najpierw semafor a na następnym torze w4, które stoi przed nim i wg tabelki semafor stał przed w4.
Nie wiem czemu on nieprawidłowo zczytuje tory po stanięciu. Jak usunąłem blokadę czytania następnych torów po vel=0 to ładnie semafor odczytuje. Więc ten problem jest już rozwiązany.
Teraz muszę jeszcze dojść do tego jak zrobić, aby jeśli widzi dwa semafory to uwzględniał ten bardziej znaczący.
  Dodano: 06 Czerwca 2015, 10:48:46
--- Cytat: Stele w 06 Czerwca 2015, 00:56:14 ---Tabelka blokuje się na pierwszym ograniczeniu. Po odhaczeniu Chomikowo#01_stopinfo powinien wskoczyć chomikowo_d ze swoim sygnałem (o ile jest różny od vel=-1).

--- Koniec cytatu ---
Do tabelki wrzuca także semafory z v=-1.
  Dodano: 06 Czerwca 2015, 10:53:10
--- Cytat: Stele w 06 Czerwca 2015, 00:20:57 ---Semafor należy przypisać tylko do jednego toru w obrębie scenerii i powinien być to odcinek koło semafora.

--- Koniec cytatu ---
Nie ma znaczenia do ilu torów jest przypisany dany semafor. Może byc nawet przypisany do iluś tam. Liczy się pierwsze zczytanie. Potem jest sprawdzane czy event jest już w tabelce i jeśli jest to odczyt jest ignorowany.

HTD:
Zebrałem wystarczające dane, żeby zrobić automatyczne przypisywanie semaforów.

Algorytm jest prosty: weź listę semaforów, dla każdego semafora sprawdzaj czy w odległości x metrów po lewej stronie semafora znajduje się tor. Jeśli tak, przypisz "nazwa_semafora" + "_sem_info" jako event1 lub event2 w zależności od zwrotu toru względem zwrotu semafora.
Te właściwości są statyczne, niezależne od stanu symulacji i innych elementów. Wszystkie semafory da się tak przypisać. Sama operacja jest trywialna obliczeniowo. Założę się, że to już nawet jest zrobione w testowym Rainsted, ja teraz będę to dokładał do swojego edytora. Wcześniej muszę tylko rozwiązać problem konwersji zmian mapy w pamięci do mapy w plikach.

Mariusz1970:
Tylko uwazaj, aby nie przypisywac, gdy semafor jest tylem do kieruku jazdy. BTW, takie przypisywanie juz dawno zrobilem w swoim edytorze. Troche inaczej dziala, niz twoja propozycja. Dodalem, takze S1 (wygaszanie), SHp i inne takie tam. Dla wygaszania, nalezy znalezc tor za semaforem uwzgledniajac kierunek jazdy (za torem, do ktorego przypisany zostal sem-info). Sprawa sie komplikuje, jesli dany event jest juz w torze zajety. Ja zrobilem automatyczne dodawanie multiple, ale to jest passe. W takich przypadkach nalezy dzielic tor na dwa wg obecnych wytycznych.
  Dodano: 06 Czerwca 2015, 14:01:25 No i jeszcze, jesli twoje x bedzie odpowiednio duze, to moze pojawic sie wiecej niz jeden tor.

HTD:
Jeśli złapię więcej niż 1 tor, mogę wybrać tor, który jest bliżej lewej strony semafora. 2 tory nie mogą znajdować się w równej odległości od lewej strony semafora, bo musiały się przecinać dokładnie w miejscu ustawienia semafora, a takich semaforów nie stosuje się na kolei.

Co do kierunku jazdy - sprawę załatwia LEWA strona semafora (patrząc na jego przód). To określa jednoznacznie kwestię kierunku jazdy, gdyż tylko jeden tor będzie pasował do 1 semafora (jeśli ze względu na zakres odległości wpadną 2, zostanie wybrany bliższy).

Co do odległości - tu są 2 sposoby - interpolacja odległości od łuku (wolne) lub obliczenie odległości punktu od odcinka (interpolacja 1 odcinkiem - szybkie). Biorąc pod uwagę dość spore promienie łuków i długość odcinków na łukach - sposób szybszy będzie zapewne zupełnie wystarczający.

Aha, tak przy okazji: czy można ufać wartościom promienia w definicjach torów? Bo jeśli można, to liczenie odległości od łuku może być prawie równie szybkie jak liczenie odległości od odcinka. Jeśli nie, to trzeba by najpierw te promienie przeliczyć z Bezierów, pytanie czy jest sens się w takie cuda bawić.

Stele:
Pamiętaj, że niekiedy semafor stoi po lewej, a sblka zawsze, więc nie może to być pełen automat.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks Likes Pro Mod