TU ANUNCIO / YOUR PUBLICITY

AQUÍ PODRÍA ESTAR TU ANUNCIO: / HERE COULD BE YOUR AD E-mail

domingo, 26 de octubre de 2014

Dip, direction, and the Schmidt's Stereographic projection / Buzamiento, rumbo y el diagrama de Schmidt

There are many good websites that tell us what it is. For example:
Hay muy buenas páginas de internet que nos dicen en qué consiste. Por ejemplo:

http://en.wikipedia.org/wiki/Lambert_azimuthal_equal-area_projection

http://en.wikipedia.org/wiki/Stereographic_projection

http://en.wikipedia.org/wiki/Schmidt_net#Construction

But ... seriously. How is it done? / Pero... en serio. ¿Cómo se hace?

Here I put a piece of software we use (en VisualBasic):
http://roads-laser-scanner.blogspot.com.es/
Aquí pongo un extracto del programa que utilizamos (in VB):
http://carreteras-laser-escaner.blogspot.com.es/

Picture1.Cls
Picture1.ScaleHeight = 12:Picture1.ScaleWidth = 12:Picture1.DrawWidth = 2
rr = 5: rr2 = 6
po = 2
For j = 0 To 350 Step 10: i = j * 0.017453278: i2 = i + 0.17453278:a2 = rr * Cos(i) + rr2: b2 = rr * Sin(i) + rr2: c2 = rr * Cos(i2) + rr2: d2 = rr * Sin(i2) + rr2:a1 = (rr + 0.2) * Cos(i) + rr2: b1 = (rr + 0.2) * Sin(i) + rr2:Picture1.Line (a2, b2)-(c2, d2): Picture1.Line (a2, b2)-(a1, b1)
b2 = -(rr + 0.5) * Cos(i) + rr2: a2 = (rr + 0.5) * Sin(i) + rr2:Picture1.CurrentX = a2 - 0.3: Picture1.CurrentY = b2 - 0.1: Picture1.Print j: Next j
For h = 2 To 178 Step 2: colore = RGB(160, 160, 160): If h Mod 10 = 0 Then colore = RGB(90, 90, 90) Else colore = RGB(190, 190, 190) :an = h * 0.017453278: cosa = Cos(an): sena = Sin(an): buz = 0: cosb = Cos(buz): sinb = Sin(buz):
For j = 0 To 170 Step 10: i = j * 0.017453278: i2 = j + 0.17453278: cosii = Cos(i): cosi2 = Cos(i2): sinii = Sin(i): sini2 = Sin(i2): x2 = rr * sinii * cosa: Z2 = -rr * sinii * sena: y2 = rr * cosii: xx = Z2 * x2 / (rr * po - Z2) + x2: yy = Z2 * y2 / (rr * po - Z2) + y2: x2 = xx::y2 = yy: x1 = rr * sini2 * cosa: Z1 = -rr * sini2 * sena: y1 = rr * cosi2
xx = Z1 * x1 / (rr * po - Z1) + x1: yy = Z1 * y1 / (rr * po - Z1) + y1
x1 = xx::y1 = yy: a1 = x2 * cosb + y2 * sinb: b1 = x2 * sinb - y2 * cosb: c1 = x1 * cosb + y1 * sinb: d1 = x1 * sinb - y1 * cosb: Picture1.Line (a1 + 6, b1 + 6)-(c1 + 6, d1 + 6), colore: Next j: Picture1.DrawWidth = 1
For j = -10 To -180 Step -10: i = j * 0.017453278: i2 = j + 0.17453278: y2 = rr * cosa:x2 = rr * sena * Cos(i):Z2 = rr * sena * Sin(i): xx = Z2 * x2 / (rr * po - Z2) + x2: yy = Z2 * y2 / (rr * po - Z2) + y2: x2 = xx + rr2: y2 = yy + rr2: y1 = rr * cosa:x1 = rr * sena * Cos(i2):Z1 = rr * sena * Sin(i2): xx = Z1 * x1 / (rr * po - Z1) + x1: yy = Z1 * y1 / (rr * po - Z1) + y1: x1 = xx + rr2: y1 = yy + rr2: Picture1.Line (x1, y1)-(x2, y2), colore

This makes the next image in Picture1:
Esto produce la siguiente imagen en Picture1:

po=1 (view height: 1 radious / altura del punto de vista :1 radio)

po=2 (view height: 2 radious / altura del punto de vista:2 radios)

po=3 (view height: 3 radious / altura del punto de vista: 3 radios)

po=4 (view height: 4 radious / altura del punto de vista: 4 radios)

po=10 (view height: 10 radious / altura del punto de vista:10 radios)


No hay comentarios:

Publicar un comentario