Strict Standards: Non-static method phpbb_feed_factory::init() should not be called statically in /data03/virt22775/domeenid/www.airguns.ee/htdocs/feed.php on line 66
[phpBB Debug] PHP Warning: in file /feed.php on line 173: Cannot modify header information - headers already sent by (output started at /feed.php:66)
[phpBB Debug] PHP Warning: in file /feed.php on line 174: Cannot modify header information - headers already sent by (output started at /feed.php:66)
airguns.ee - Eesti ainuke õhupüsside foorum Eesti ainuke õhkrelvade foorum 2014-04-18T20:20:19+03:00 https://www.airguns.ee/feed.php?f=23&t=168&mode 2014-04-18T20:20:19+03:00 2014-04-18T20:20:19+03:00 https://www.airguns.ee/viewtopic.php?t=168&p=507#p507 <![CDATA[Optika klikkide teisendaja]]> Pythoni skripti, millega Chairgunist saadud suhtelised kliki väärtused teisendada absoluutväärtusteks optika torni peal:

Code:
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:
Code:
>>> 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:
Code:
>>> 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:
Code:
>>> 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.

Statistika: Postitatud Postitas rmg — 18 Apr 2014 20:20


]]>