Symulator EU07 (i nie tylko) > Pomoc w tworzeniu
Sygnał odjazdu błędnie wyzwalany semaforem wjazdowym
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
[#] Następna strona
Idź do wersji pełnej