<< | #416 ; Espereble estos bona 3-dimensia Julo |
>> |
Jam pasis la plej mallongaj tagoj de jaro, la tempo de vintra solstico. Julo alproksimiĝas rapide kiam mi komencis por skribi la tekston kaj baldaŭ estos nova jaro 2023. Poste estos nova printempo kaj nova somero. La vivo venkos.
Mi aĉetis novan finnan tradician almanakon por la venonta jaro 2023, sed ĉifoje estas la apude fotita finna almanako en la sveda lingvo. Mi ja tute ne kontraŭstaras nek la svedan lingvon nek la finnajn svedlingvanojn. Mi nur opinias ke la lingvo de malgranda malplimulto, la sveda lingvo, ne estu oficiala lingvo en Finnlando. Tute aliaj aferoj.
Por mi la loka almanako egale bone plaĉas kaj finne kaj svede. Miaopinie la almanako estas grava fonto de informo, sendepende de lingvo, tute ne eksmoda. La Interreto ne estas mia tuta vivo. Ekzistas bona kaj utila vivo ekster la Interreto!
Almanako fakte estas utila por ordinara hobiisto de aferoj astronomiaj. El almanako oni ja povas taksi la lokajn tempojn de sunleviĝo kaj sunsubiro. Ankaŭ eblas proksimume taksi kiam leviĝas la Luno kaj kiam ĝi subiras en ideala horizonto. Ekzistas eĉ informo pri la leviĝo kaj subiro de brilaj planedoj.
La amanto de sunhorloĝoj povas uzante almanakon kalkuli kiam la Suno estas rekte en sudo, en direkto de (supra) meridiano. Je tio tempo oni povas direktigi la sunhorloĝon korekte, se la Suno brilas. Loka suna tempo estas 12 horoj kiam la Suno je vera tagmezo estas en sudo.
En almanako oni vidas la fazojn de Luno. Oni vidas kiam kaj proksimume en kio direkto estas plej bone videblaj la brilaj per nura okulo observeblaj planedoj. Oni ankaŭ vidas kiam komencas kaj finas la malbenita tiel nomita "somera tempo" (UTC+3h).
Kiam oni scias la brilajn stelojn de ĉielo, oni povas ricevi iom da bona aldona informo el la aktuala almanako. Eblas pli facile identigi la plej brilajn planedojn sur sennuba ĉielo.
Nu, certe la almanako enhavas ankaŭ iom da alia aktuala informo, ekzemple pli klimato. Kaj jes, certe iom pri la tagoj de jaro.
Mi esperas ke la venonta printempo estos por mi forta sezono por lerni pli da praktika rusa lingvo. Rusa lingvo kredeble estas por ni multe pli grava ol la sveda. Mi volas klare demonstri ke nia civito "Mueleja Insulo" tute ne estas parto de malbenita NATO kaj la angla lingvo ne estas nia selektita lingvo.
En la apuda foto estas videbla iom da enhavo de nova printempa kursa programo de loka popolaltlernejo. Kaj nature mi volas partopreni en la rusaj kursoj de popolaltlernejo. Mi jam posedas la novan lernolibron por partopreni al la kurso 3 de rusa lingvo. Pli malnovaj lernolibroj apenaŭ plu estus haveblaj.
Sed la vivo ja ne povas esti nuraj lingvoj. Nature nia vivo meritas utilan teorian kaj matematikan enhavon kaj mi kredas ke la libera komputila programo "GNU Octave" estas bona laborilo por eksperimenti ekzemple kun sferaj speguloj. Dum la Jula tempo mia intenco estas por komenci por prilabori la 3D-geometrion de "malrapida" sfera spegulo kun al la optika akso oblikva lumo. Eble mi poste konstruos eĉ propran programon por testi 3-dimensie la speguloj en oblikva lumo?
Se la origina ideo de diametre 100mm f/10 sfera spegulo ŝajnas ne tre bona ideo por HQ-fotilo, mi povus provi iom pli malgrandan spegulon. La eraroj estos pli malgrandaj se la sensilo estas pli proksima al la optika akso kaj la lumo tial iom malpli oblikva. Nu, certe ekzemple spegulo D = 50 mm estus iom malgranda objektivo por hobia astronomia teleskopo. D = 50 mm objektivo kolektas nur kvaronon de tio lumo kion la D = 100 mm spegulo ricevas. Areo de cirklo ja kreskas laŭ la kvadrato de diametro.
Plej grave tamen nun estas por produkti multege da bonegaj "spot" diagramoj por malgrandaj sferaj speguloj per 3D -geometrio kaj programo "GNU Octave".
La HQ-fotilo ja estas tre centra parto de malgranda hobia astronomia teleskopo de miaj iluzioj. Ni pensu pri la (mekanikaj) mezuroj de HQ-fotilo. Apuda desegnaĵo nin helpos.
La ideo ja estas ke la fotilo ne bloku la lumon kio alvenas al la spegulo. Tial la fotilo devas situi iom flanken el la optika akso. Sed kiom?
El la apude desegnitaj mezuroj de HQ-fotilo mi konkludas ke la centro de tuta fotilo devas situi almenaŭ 22 milimetroj sub la suba rando de envenanta lumo, por ne bloku la lumon. La mezuroj de sensilo estas 6,287 mm x 4,712 mm
(diagonale 7,9 mm), do relative malgrandaj. Tamen ni devas pensi pri la tuta fotilo, ne nur pri la sensilo.
La "truo" de lumo por la sensilo ja estas iom pli granda ( kvadrato 8,5 mm x 8,5 mm
) ol la sensilo mem. La strukturoj de fotilo tamen estas eĉ pli grandaj kaj tial la sensilo estos iom distanca el la optika akso.
Mi supozas ke la pli longa flanko de sensilo estas horizontala. Tial interesaj por fotilo estas distancoj proksimume 20 mm ... 25 mm sub la plej suba parto de envenanta lumo kaj proksimume ±3 mm en la alia direkto, se la fotilo estas kiel eble plej proksima al la optika akso, sed sen bloki la lumon.
Sed kie situas la plej suba rando de envenanta lumo? Kiom oblikve la fotilo minimume devas foti por ne bloki la lumon? Tio dependas pri la grando de spegulo.
En la distanco f
el spegulo devas duono de spegula diametro kaj la plej fora punkto de fotila sensilo trovi lokon tiel ke ili situas proksime al la optika akso kaj la lumo reflektas al la sensilo kaj tiel ke oni ne blokas la envenantan lumon. Pli facile estas por pensi pri la centro de sensilo.
Se la diametro de spegulo estas ekzemple D = 100 mm, estas D/2 = 50 mm. La suba rando de envenanta lumo estas D/2 sub la luma radio kio trafas la centron de spegulo. Se centro de lumo estas en distanco f
el spegulo 40 mm super la optika akso, reflektas la lumo al sensilo kies centro estu 40 mm sub la optika akso. La suba rando de envenanta lumo estas 10 mm sub la optika akso kaj la plej supra parto de fotilo estas proksimume 40 - 22 = 18 mm sub la optika akso. Do restas 8 milimetroj da spaco inter la fotilo kaj la envenanta lumo.
Pli realisma diametro por spegulo estus ekzemple D = 60 mm kaj D/2 = 30 mm. Se la centro de envenanta lumo en distanco f
el spegulo estas 30 mm super la optika akso, estu la centro de sensilo 30 mm sub la optika akso por kapti la reflektitan lumon. La supra parto de fotilo estas tiam proksimume 8 mm sub la optika akso kaj tiam oni ne blokas lumon.
Ni lasu kelkaj milimetroj da mezuro inter la supra parto de fotilo kaj la lumo al centro de spegulo ĉar ni pensu pri la mezuroj de sensilo.
La ideo nun estas por (teorie) sondi la sferan spegulon en 3 dimensioj. Tial ni uzas nun tri koordinatoj, XYZ. Mi volas uzi koordinatojn de dekstra mano.
Mi selektis ke la Z-koordinato estu distanco el la centro de spegulo. Tial la XY -koordinatoj estas nun aliaj kompare al la 2D-teorio de antaŭa artikolo. En 2-dimensioj estis ja la X-koordinato la distanco el spegulo. La spegulo estas tamen nun en XY -ebeno. Vidu la suban desegnaĵon por bone kompreni la novan principon.
Mi volas testi multaj punktoj de spegulo per iom oblikva lumo. Unu ebla plano pri la gravaj 17 testaj punktoj aperas sube. Punkto numero 1 estas en la centro de spegulo. Mi selektis la punktojn tiel ke ili relative bone reprezentas la tutan areon de spegulo kaj la koordinatoj de surfaco estas facilaj por kalkuli.
Ekzemple por la punkto 14 de spegulo estas la X- kaj Y-koordinatoj same grandaj sin(45°) * D/2 = 0,707107 * D/2
Ekzemple por punkto 6 de spegulo estas la distanco el centro de spegulo d = ( (D/4)^2 + (D/4)^2 )1/2
kaj sekve la X- kaj Y-koordinatoj de punkto estas ambaŭ sin(45°) * d = 0,707107 * d
( ... kio fakte egalas al D/4 )
Unue mi skribis du apartaj funkcioj por uzi ilin poste en programo:
% por datumo normigu.m % function rezulto = normigu (vektoro) longo = sqrt ( vektoro(1)^2 + vektoro(2)^2 + vektoro(3)^2 ); rezulto = vektoro / longo; endfunction % por datumo sagitta.m % function z = sagitta (r, h) % La valuo r nepre estu pozitiva ( r > 0 ) z = r - sqrt(r^2 - h^2); endfunction
Kaj jam ni povas komenci por skribi la programon:
clc clear all format short % Sfera spegulo en oblikva lumo f = 600; Dnum = 10; D = f / Dnum; R = 2*f; R0 = [ 0, 0, R ]; % Centro de kurbeco p0 = [ 0, 0, 0 ]; % Centro de spegula surfaco loko = D/2; % Lumo kiom super la optika akso en distanco f L = p0 - [ 0, loko, f ]; % Direkto de envenanta lumo zD4 = sagitta ( R, D/4 ); distanco = sqrt(2 * (D/4)^2); zDd = sagitta ( R, distanco); zD2 = sagitta ( R, D/2 ); krd2 = 0.707107 * D/2;
Ni kalkulu en la programo la XYZ-koordinatojn de 17 testaj punktoj de spegula surfaco
p = cell (17, 1); % x y z p(1,1) = [ 0 0 0 ]; % ( Estis unue erare ) % p(2,1) = [ D/2 0 zD4 ]; % p(3,1) = [ 0 D/2 zD4 ]; % p(4,1) = [ -D/2 0 zD4 ]; % p(5,1) = [ 0 -D/2 zD4 ]; % Korektigitaj: p(2,1) = [ D/4 0 zD4 ]; p(3,1) = [ 0 D/4 zD4 ]; p(4,1) = [ -D/4 0 zD4 ]; p(5,1) = [ 0 -D/4 zD4 ]; p(6,1) = [ D/4 D/4 zDd ]; p(7,1) = [ -D/4 D/4 zDd ]; p(8,1) = [ -D/4 -D/4 zDd ]; p(9,1) = [ D/4 -D/4 zDd ]; p(10,1) = [ D/2 0 zD2 ]; p(11,1) = [ 0 D/2 zD2 ]; p(12,1) = [ -D/2 0 zD2 ]; p(13,1) = [ 0 -D/2 zD2 ]; p(14,1) = [ krd2 krd2 zD2 ]; p(15,1) = [ -krd2 krd2 zD2 ]; p(16,1) = [ -krd2 -krd2 zD2 ]; p(17,1) = [ krd2 -krd2 zD2 ];
Kaj ili estas jen kiel nombroj:
p = { [1,1] = 0 0 0 [2,1] = 15.00000 0.00000 0.09375 [3,1] = 0.00000 15.00000 0.09375 [4,1] = -15.00000 0.00000 0.09375 [5,1] = 0.00000 -15.00000 0.09375 [6,1] = 15.00000 15.00000 0.18751 [7,1] = -15.00000 15.00000 0.18751 [8,1] = -15.00000 -15.00000 0.18751 [9,1] = 15.00000 -15.00000 0.18751 [10,1] = 30.00000 0.00000 0.37506 [11,1] = 0.00000 30.00000 0.37506 [12,1] = -30.00000 0.00000 0.37506 [13,1] = 0.00000 -30.00000 0.37506 [14,1] = 21.21321 21.21321 0.37506 [15,1] = -21.21321 21.21321 0.37506 [16,1] = -21.21321 -21.21321 0.37506 [17,1] = 21.21321 -21.21321 0.37506 }
Sekve ni kalkulu la al surfaco ortajn vektorojn en tiuj punktoj. Ili ja estas simple en direkto de centro de kurbeco de spegula surfaco.
n = cell (17, 1); for i = [1:17] n(i, 1) = normigu( R0 - p{i} ); endfor
Kaj nun ni jam povas kalkuli la vektorojn de luma reflekto el spegulo al la direkto de fotilo.
rflt = cell (17, 1); for i = [1:17] rflt(i, 1) = L - 2* dot(L, n{i}) * n{i}; endfor
Sed al kioj punktoj veturas la lumo?
punkto = cell (17, 1); for i = [1:17] punkto(i, 1) = p{i} + rflt{i} endfor
Ni ricevas iom da rezultoj sed ci tio ja ne estas la komuna kruca punkto de linioj.
punkto = { [1,1] = 0 -30 600 [2,1] = 0.0011719 -30.0000000 599.9062537 [3,1] = 0.00000 -29.98945 599.15631 [4,1] = -0.0011719 -30.0000000 599.9062537 [5,1] = 0.00000 -29.99180 600.65620 [6,1] = 0.011719 -29.988281 599.062632 [7,1] = -0.011719 -29.988281 599.062632 [8,1] = 0.0070311 -29.9929689 600.5623975 [9,1] = -0.0070311 -29.9929689 600.5623975 [10,1] = 0.0093765 -30.0000000 599.6250586 [11,1] = 0.00000 -29.95312 598.12553 [12,1] = -0.0093765 -30.0000000 599.6250586 [13,1] = 0.00000 -29.97188 601.12459 [14,1] = 0.025380 -29.974620 598.564729 [15,1] = -0.025380 -29.974620 598.564729 [16,1] = 0.012120 -29.987880 600.685387 [17,1] = -0.012120 -29.987880 600.685387 }
Por estimi la plej bonan fokusan distancon ni pli bone desegnu grafikon kaj en ZX- kaj en ZY-ebeno. En la Z-direkto oni povas diri ke validas por selektita distanco f la formulo fz = pz + t * rfltz
kaj sekve ...
fz - pz t = --------- rfltz
... kaj oni trovas la korelativajn XY-koordinatojn je koordinato fz uzante la valuon t
kiel multiplikanto de vektoro.
fx = px + t * rfltx fy = py + t * rflty
La distanco el spegulo ja estas nun la Z-koordinato, kvankam la programo volus uzi X-koordinaton por la horizontala valuo. La liniojn en la ZY-ebeno mi desegnas tiel ke mi simple ignoras la X-koordinatojn kaj la liniojn por la ZX-ebeno mi ignoras la Y-koordinatojn kaj uzas X-koordinatojn kiel ili estus Y-koordinatoj.
Nu, klare la plej bonaj fokusaj distancoj estas iom aliaj por ZX- kaj ZY-ebenoj.
funua = 597; fdua = 601; f1 = cell (17, 1); for i = [1:17] t = ( funua - p{i}(3) ) / (rflt{i}(3)); x = p{i}(1) + t * rflt{i}(1); y = p{i}(2) + t * rflt{i}(2); f1(i, 1) = [ x, y ]; endfor f2 = cell (17, 1); for i = [1:17] t = ( fdua - p{i}(3) ) / (rflt{i}(3)); x = p{i}(1) + t * rflt{i}(1); y = p{i}(2) + t * rflt{i}(2); f2(i, 1) = [ x, y ]; endfor figure() subplot (2, 1, 1) axis( [funua - 0.1, fdua + 0.1, -30.05, -29.8] ); hold on for i = [1:17] x = [ funua fdua ]; y = [ f1{i}(2) f2{i}(2) ]; line ("xdata", x, "ydata", y) endfor hold off xlabel ("Z (mm)"); ylabel ("Y (mm)"); title ("ZY -ebeno"); subplot (2, 1, 2) axis( [funua - 0.1, fdua + 0.1, -0.2, 0.2] ); hold on for i = [1:17] x = [ funua fdua ]; y = [ f1{i}(1) f2{i}(1) ]; line ("xdata", x, "ydata", y) endfor hold off xlabel ("Z (mm)"); ylabel ("X (mm)"); title ("ZX -ebeno");
Kion Z-valuon do selekti por la fotilo? Ekzemple 598,7 milimetroj.
fselektita = 598.7; f0 = cell (17, 1); for i = [1:17] t = ( fselektita - p{i}(3) ) / (rflt{i}(3)); x = p{i}(1) + t * rflt{i}(1); y = p{i}(2) + t * rflt{i}(2); f0(i, 1) = [ x, y ]; endfor figure() axis( [ -0.2, 0.2, -30.1, -29.9] ); hold on for i = [1:17] plot ( f0{i}(1), f0{i}(2), "*", "markersize", 10) endfor hold off xlabel ("X (mm)"); ylabel ("Y (mm)"); title (["f = ", num2str(f), " mm, D = f/", num2str(Dnum), ", Z = ", num2str(fselektita), " mm"]);
Tamen la eraro estos iom granda sur la fotila sensilo, eĉ se la optika kvalito de sfera spegulo estus tute perfekte neriproĉebla.
Hmmmm, jam eraro proksimume 0,1 mm estas iom granda por la HQ-fotilo ... sed tamen certe estis grave por esplori la aferon. Konvena "Schiefspiegler" -sistemo de 2 aŭ 3 speguloj kredeble povus korektigi la problemon, sed estus iom kompleksa por konstrui. Kaj certe jam f/10 estas iom malrapida por foti stelojn.
La situacio tamen ne estas tute senespera. Mi nome provis spegulon D = 50 mm kun relative pli malgrandaj aperturoj f/20 ... f/35 kaj ricevis pli bonaj rezultoj. Notu ke la skalo de sekvantaj diagramoj estas tute alia ol antaŭe:
Klare la aperturo multe efikas kaj eraroj de nur kelkaj centonoj da milimetro estas eblaj. La teleskopoj tamen estas relative longaj kaj malrapidaj por foti.
Kaj certe fine ..........
NI VENKOS!
La Ambasadoro en Finnlando de sendependa nacio Mueleja Insulo |