Tänane kuupäev 29 Mär 2024 13:05


Kõik kellaajad on UTC + 2 tundi [ DST ]




Tee uus teema Vasta teemale  [ 1 postitus ]    
Autor Sõnum
 Teema pealkiri: Optika klikkide teisendaja
PostitusPostitatud: 18 Apr 2014 20:20 
Entusiast

Liitunud: 27 Sept 2009 09:12
Postitusi: 119
Asukoht: Reval
Tegin järgmise väikese Pythoni skripti, millega Chairgunist saadud suhtelised kliki väärtused teisendada absoluutväärtusteks optika torni peal:

Kood:
def click_converter(from_absolute, from_relative, to_relative, clicks_per_division=8, divisions_per_turn=10):
    turn = int(from_absolute[:-2])
    major = int(from_absolute[-2:-1])
    minor = int(from_absolute[-1:])

    clicks_per_turn = divisions_per_turn * clicks_per_division
    current_value = turn * clicks_per_turn + major * clicks_per_division + minor
    zero = current_value - from_relative
    new_value = zero + to_relative

    return str(new_value / clicks_per_turn) + str((new_value % clicks_per_turn) / clicks_per_division) + str((new_value % clicks_per_turn) % clicks_per_division)


Parameetrite seletus:
  • from_absolute - torni hetke asukohta absoluutväärtus. Esimene number on nähtav tiiru-/kõrgusmarker. Nulltiirust allpool asuvad ringid tuleks tähistada negatiivselt. Teine number näitab tiiru täisjaotist ning viimane number sellele jaotisele järgnevaid klikke. Tuleb sisestada stringi kujul ehk jutumärkide vahel. Torni nullseade korral tuleks sisestada "000" - 0. tiir, 0. jaotis, 0. klikk
  • from_relative - vastava asukohta suhteline väärtus Chairguni klikitabelis
  • to_relative - soovitud asukohta suhteline väärtus Chairguni klikitabelis
  • clicks_per_division - klikke jaotise kohta (vaikimisi 8)
  • divisions_per_turn - jaotisi tiiru kohta (vaikimisi 10 - Sightronil, NS Diamondil peaks olema 8)

Skripti kasutamiseks tuleks kõigepealt Chairgunist saada oma püssi seadistustele vastav klikitabel ning suvalisel kaugusel paika keerata "null" seade nii et tabamispunkt oleks optika risti tsentris. Kui vastav null käes, tuleb optika kõrgustornilt lugeda absoluutne torni seade ja Chairguni klikitabelist leida vastava kauguse suhteline klikkide arv.

Näide Sightroni baasil:
Kaugus on 29m suhteline klikkide arv tabelis näitab -30 ja torni absoluutne asukoht -181. Antud absluutne asukoht näitab, et nähtaval on esimene ring nullist allpool, ja ette on keeratud 8 jaotist pluss 1 klikk. Kaugus torni null jaotisest on sisuliselt 15 klikki.

Ütleme, et tahame lasta 10m peal märki. Klikitabelist loeme 10 meetri jaoks suhteliseks klikiväärtuseks 70.

Anname vastava sisendi funktsioonile:
Kood:
>>> click_converter("-181", -30, 70)
'105'


Kaks viimast parameetrit jätsin ette andmata, sest vaikimisi on need minu Sightronile sobivad.
Saame torni absoluutväärtuseks '105', st et turni tuleb tõsta kuni nähtavale ilmub 1. ring nullringist üleval ning lisaks veel 5 klikki.

Kui viitsida sisse toksida kogu Chairguni klikitabel järgmisel kujul (kaugus: suhteline kliki väärtus)

Minu näitel:
Kood:
>>> click_table = {8: 123, 9: 93, 10: 70, 11: 52, 12: 37, 13: 24, 14: 14, 15: 6, 16: -1, 17: -7, 18: -12, 19: -16, 20: -20, 21: -23, 22: -25, 23: -27, 24: -28, 25: -30, 26: -30, 27: -31, 28: -31, 29: -31, 30: -31, 31: -31, 32: -30, 33: -29, 34: -29, 35: -28, 36: -26, 37: -25, 38: -24, 39: -22, 40: -21, 41: -19, 42: -17, 43: -15, 44: -13, 45: -11, 46: -9, 47: -7, 48: -5, 49: -2, 50: 0}


Siis käivitades järgmised kaks rida koodi:
Kood:
>>> for distance, relative_clicks in sorted(click_table.items()):
   print "{0:>2d}: {1:>4s}".format(distance, sightron_click_translator("-182", -29, relative_clicks))

   
8:  172
9:  134
10:  105
11:  083
12:  064
13:  047
14:  035
15:  025
16:  016
17:  010
18:  003
19: -197
20: -193
21: -190
22: -186
23: -184
24: -183
25: -181
26: -181
27: -180
28: -180
29: -180
30: -180
31: -180
32: -181
33: -182
34: -182
35: -183
36: -185
37: -186
38: -187
39: -191
40: -192
41: -194
42: -196
43:  000
44:  002
45:  004
46:  006
47:  010
48:  012
49:  015
50:  017


Prinditakse välja kõigile kaugustele vastavad torni absoluutväärtused. Juhul kui Chairguni olid sisestatud õiged andmed, siis peaks ka antud tabel olema korrektne.

Skriptist võiks kasu olla siis kui ei kasutata custom torni korke.

_________________
|V|355 \/\/17|-| 7}{3 |3357, ... [you know the rest].
7Ps : Prior Proper Preparation Prevents Piss Poor Performance


Üles
Eemal Profiil  
 
Näita postitusi eelmisest:  Sorteeri  
Tee uus teema Vasta teemale  [ 1 postitus ] 

Kõik kellaajad on UTC + 2 tundi [ DST ]


Kes on foorumil

Kasutajad foorumit lugemas: Registreeritud kasutajaid pole ja 1 külaline


Sa ei saa teha uusi teemasid siin foorumis
Sa ei saa postitustele vastata siin foorumis
Sa ei saa muuta oma postitusi siin foorumis
Sa ei saa kustutada oma postitusi siin foorumis
Sa ei saa postitada siin foorumis manuseid

Otsi...:
Hüppa:  
cron
News News Site map Site map SitemapIndex SitemapIndex RSS Feed RSS Feed Channel list Channel list
Powered by phpBB® Forum Software © phpBB Group
Theme created by StylerBB.net, modified by rmg
phpbb.ee 3.0.9
phpBB SEO