Exemple #1
0
from __future__ import print_function
import xc_base
import geom
import math
import teoria_bloques

alpha1 = math.radians(20)
beta1 = math.radians(280)
alpha2 = math.radians(60)
beta2 = math.radians(150)

p = geom.Pos3d(0, 0, 0)
R = geom.Vector3d(0, -1, 1)

plBuz1 = teoria_bloques.computeDipPlane(alpha1, beta1, p)
P1 = geom.HalfSpace3d(plBuz1)

plBuz2 = teoria_bloques.computeDipPlane(alpha2, beta2, p)
P2 = geom.HalfSpace3d(plBuz2)

r = P1.getLima(P2)

s = r.getProj(R)
s = s.normalized()
sTeor = geom.Vector3d(-0.7650, -0.5992, -0.2363)
ratio1 = sTeor - s
ratio1 = ratio1.getModulus()

n1 = P1.getNormalExterior()
n2 = P2.getNormalExterior()
Exemple #2
0
#Exemple 1.7 of the thesis «La teoría de bloque aplicada a la dinámica
#de rocas» Juan Carlos Ayes Zamudio
from __future__ import print_function
import xc_base
import geom
import math
import teoria_bloques

alpha1=math.radians(30)
beta1=math.radians(320)
alpha2=math.radians(50)
beta2=math.radians(160)

p=geom.Pos3d(0,0,0)

plBuz1=teoria_bloques.computeDipPlane(alpha1,beta1,p)
P1=geom.HalfSpace3d(plBuz1)

plBuz2=teoria_bloques.computeDipPlane(alpha2,beta2,p)
P2=geom.HalfSpace3d(plBuz2)

delta=P1.getAngleWithHalfSpace3d(P2)
deltaTeor=math.acos(0.1968/0.8907/0.99)

ratio1= math.fabs(deltaTeor-delta)/deltaTeor
import os
fname= os.path.basename(__file__)
if math.fabs(ratio1)<0.021:
  print("test ",fname,": ok.")
else:
  print("test ",fname,": ERROR.")
Exemple #3
0
#Example 1.13 of the thesis «La teoría de bloque aplicada a la dinámica
#de rocas» by Juan Carlos Ayes Zamudio

from __future__ import print_function
import xc_base
import geom
import math
import teoria_bloques

alpha=math.radians(50)
beta=math.radians(290)
p=geom.Pos3d(0,0,0)

r=geom.Vector3d(1,2,1)

plBuz=teoria_bloques.computeDipPlane(alpha,beta,p)
P=geom.HalfSpace3d(plBuz)
plLim=P.getBoundaryPlane()
s=plLim.getVector3dProjection(r)
s=s.normalizado()

sTeor=geom.Vector3d(0.5488,0.7818,0.2959)
ratio1= (sTeor-s)
ratio1=ratio1.getModulo()

import os
fname= os.path.basename(__file__)
if abs(ratio1)<1e-4:
  print("test ",fname,": ok.")
else:
  print("test ",fname,": ERROR.")
Exemple #4
0
#Projection of a vector onto a plane.
#Example 1.13 of the thesis «La teoría de bloque aplicada a la dinámica
#de rocas» by Juan Carlos Ayes Zamudio

import xc_base
import geom
import math
import teoria_bloques

alpha=math.radians(50)
beta=math.radians(290)
p=geom.Pos3d(0,0,0)

r=geom.Vector3d(1,2,1)

plBuz=teoria_bloques.computeDipPlane(alpha,beta,p)
P=geom.HalfSpace3d(plBuz)
plLim=P.getBoundaryPlane()
s=plLim.getVector3dProjection(r)
s=s.normalizado()

sTeor=geom.Vector3d(0.5488,0.7818,0.2959)
ratio1= (sTeor-s)
ratio1=ratio1.getModulo()

import os
fname= os.path.basename(__file__)
if abs(ratio1)<1e-4:
  print "test ",fname,": ok."
else:
  print "test ",fname,": ERROR."
Exemple #5
0
#de rocas» de Juan Carlos Ayes Zamudio

from __future__ import print_function
import xc_base
import geom
import math
import teoria_bloques

alpha1 = math.radians(20)
beta1 = math.radians(280)
alpha2 = math.radians(60)
beta2 = math.radians(150)

O = geom.Pos3d(0, 0, 0)

P1 = teoria_bloques.computeDipPlane(alpha1, beta1, O)
P2 = teoria_bloques.computeDipPlane(alpha2, beta2, O)

n1 = P1.getNormal()
n2 = P2.getNormal()

I12 = n1.cross(n2)

I12Teor = geom.Vector3d(0.7345, 0.5753, 0.2269)

ratio1 = (I12 - I12Teor).getModulus()

import os
fname = os.path.basename(__file__)
if math.fabs(ratio1) < 1e-4:
    print("test ", fname, ": ok.")