You are on page 1of 27

USING TABLET/SMART-PHONE

SPREADSHEETS FOR SOLVING COMMON


STRUCTURAL GEOLOGY LAB/FIELD
PROBLEMS BY CROSS-PRODUCT OF 3D
VECTORS

David T. Allison
Department of Earth Sciences
University of South Alabama
dallison@southalabama.edu

http://www.usouthal.edu/geography/allison/research/VectorMethods.pptx
Presentation Outline

Mathematical and Geometrical


Basis of 3D Vector Manipulation

Implementation of Spreadsheets
with Examples

Special Considerations for


Spreadsheets Running on Tablet
and/or Smart Phones
3D Coordinate system for orientation data
-Z

+Y (North) Orthogonal coordinate system


using directional angles alpha,
beta, and gamma.
+X (East)


Directional components of the
-X (West) (x, y, z) axes are equal to cos(),
cos(), and cos() respectively

Data Vector= -Y (South)


unit length

+Z

Projection of data vector Projection of data vector


upon 3D axes = directional upon Z axis (cos )
componets (x,y,z)
Key mathematical concepts for
manipulating 3D vectors
Data Conversion: standard azimuth and plunge of a
linear orientation can be converted to directional
components (x,y,z) or directional angles (,,)
Dot Product: calculates the angle between two non-
parallel vectors
3D Vector addition: operates in the same fashion as 2D
head-to-tail method but with the additional z
component
Cross Product: calculates the vector that is
perpendicular to the plane containing 2 non-parallel
vectors
Rotation: the rotation of a 3D vector about a 3D rotation
axis uses a combination of the above calculations
Converting Orientation Data to
3D Vectors
Planar orientations must be converted to
poles
Azimuth and plunge of a linear orientation
can be converted to directional components
with below equations:
x = sin (azimuth) * sin (90-plunge)
y = cos (azimuth) * sin (90-plunge)
z = cos (90-plunge)
Note that the directional angles , , and
are related to the directional components
by:
= cos-1 (x)
= cos-1 (y)
= cos-1 (z)
Dot Product of 2 Non-Parallel Vectors
For 2 non-parallel data vectors with directional angles
(1,1,1) and (2,2,2) respectively:
c o s ( ) c o s ( 1 ) c o s ( 2 ) c o s ( 1 ) c o s ( 2 ) c o s ( 1 ) c o s ( 2 )
+Y (North)

+X (East)

Data vector 1

Plane
containing Data vector 2
data vectors 1
&2

+Z
Cross
Product
Cross Product Method: given two non-parallel vectors
calculates the orientation of the pole (perpendicular) to the
plane that contains the two given vectors.
Orientation data must be converted to directional
components.
The dot-product is used to calculate the angle between the
given non-parallel vectors.
The answer is calculated by 3 separate equations: one for
each axis component.
The magnitude of the cross-product vector is not important for
orientation calculations, but is = (vector 1)(vector 2)(sin )
[c o s ( 1 ) c o s( 2 ) c o s( 1 ) c o s( 2 )]
c o s( )
s in ( )
[c o s( 1 ) c o s( 2 ) c o s( 1 ) c o s( 2 )]
co s( )
s in ( )

[c o s( 1 ) c o s( 2 ) c o s( 1 ) c o s( 2 )]
co s( )
s in ( )
Geometry of the Cross Product
Vector Plane defined by data vectors 1 and 2

Data vector 1

Data vector 2

Perpendicular vector from


cross product with
magnitude =
(vector 1)(vector)(sin )
Rotational path generated by a horizontal
rotation axis
Equal-Area Lower Hemisphere
R

-180 start
Rotation of a
-135 -45
vector (030, -90

0=start) about
an axis (000,
0=R) through
360 degrees
clockwise as
viewed from the
center of the net
toward the trend
of the rotation
axis (R)
Note: rotation
angles are -270
-225
-315
mathematical
-360 -180
therefore
clockwise angles
are negative
Horizontal versus non-horizontal rotational
axesArea Projection
Equal
Rotation about a
horizontal 350
NR1 10
340 20
(plunge=0) axis 330 30
generates a 320 40
stereonet small 310 50
circle path
300 60
Rotation about a
plunging axis 290 70
generally creates
280 80
an elliptical path
that does not W
R2
E
match either a
small circle or 260 100

great circle on 250 110


the stereonet
240 120

230 130

220 140
210 150
200 160
190 170
S
Geometry of the Rotational 3D
Vector Method
Lower Circle of
hemisphere rotation +S= original data attitude
surface +S (x,y,z)

V= rotated data
Data X attitude
vector

Rotational P
O A(a,b,c) +Q -Q
axis P
r Y

Circle of
rotation
plane

-S -S
Method of 3D Vector Addition Utilized to
Process Rotations

OP is the rotational axis multiplied by the dot product
OP OA OA OS of the rotation axis and data vector. This yields the
vector with head at the center of the circle of rotation
(OP).
PQ is the vector perpendicular to the cross product of
PQ OA OS OA and OS. The magnitude of the cross product is
equal to
(OA)(OS)(sin ) where is the angle between OA and
PS PQ OA OS. Since OA and OS are unity, PQ is exactly the
magnitude to "touch" the circle of rotation. PS is then
calculated by taking the cross product of PQ and OA.
PX cos( r ) PS PX is the projection of the rotated data vector (PV)
upon the PS vector. The rotation amount is r

PY sin( r ) PQ PY is the projection of the rotated data vector (PV)
upon the PQ vector.

By adding OP, PX, and PY "head-to-tail", the rotated


OV OP PX PY data vector is calculated in terms of the orthogonal
coordinate
MathCAD Worksheet link:system defined above.
http://www.usouthal.edu/geography/allison/GY403/RotationByComponents.mcd
http://www.usouthal.edu/geography/allison/GY403/RotationByComponents.pdf
Programming example of
rotational calculations
Given a data vector (x1,y1,z1) and a rotation axis vector
(x2,y2,z2) and a rotation angle r, the following equations
calculate the new rotated orientation:

tp = (x1*x2+y1*y2+z1*z2) * (1-cos(r))

rot_x = cos(r)*x1+tp*x2+[sin(r)*(y2*z1-z2*y1)]

rot_y = cos(r)*y1+tp*y2-[sin(r)*(x2*z1-z2*x1)]

rot_z = cos(r)*z1+tp*z2+[sin(r)*(x2*y1-y2*x1)]

Note that the rotated position may result in a negative z


component that would plot in the upper hemisphere of a
stereonet (i.e. a negative plunge). In that case the (x, y, z)
components should be multiplied by -1 to reflect it back to
the lower hemisphere projection.
Implementation of 3D Vector
Analysis as Excel 2010 Spreadsheets

Quickoffice spreadsheets are simplified


versions of Excel 2010

Quickoffice runs on Android, iPad, iPhone


OS

Formatting:
Blue cells: data entered
Magenta cells: labels or formulae
Green cells: calculation results
Spreadsheet Implementation:
Intersecting Planes
(IntersectingPlanes.xlsm)- 2 Fold Limbs
NETPROG
diagram

Fold Hinge
N
Limb 2
Limb 1 040, 20E
310, 70E

W E
In this case the intersecting planes were
2 planar fold limbs, therefore, the Hinge 122.5, 19.8

intersection is the hinge orientation


(122.5, 19.8)

S
Application of Cross-Product and Dot-Product
Example: yields attitude of fold hinge given the
two limb attitudes
Data vector 1=
Pole to limb 1 Plane containing
pole 1 & 2 Data vector 2=
Pole to limb 2

angle between
poles 1 & 2

Fold limb 2
Fold limb 1

Chevron
Fold hinge
Intersecting Planes: Apparent Dip
Example

Apparent Dip Example


N

Plane
1 050, 40E
Plane
2 90
290,

W E
110, 36
Given strike & dip of 050, 40E (Plane 1), App. Dip

calculate apparent dip along vertical Intersectio


plane trending 110 n
Apparent dip plane is equivalent to 290,
90 (Plane 2) strike & dip
S
Spreadsheet Implementation: Common
Plane (CommonPlane.xlsm) to 2 Non-
parallel Linear Data- Find Strike & Dip
from 2 Apparent Dips
Strike & Dip Example
N

App. Dip 1

Pole to Plane

W E
Strike & Dip: 329.5,38.8W

Note that Cross-Product calculates


App. Dip 2
pole to plane that contains the 2
apparent dip linear vectors
The true dip trend is always 180
degrees from the pole trend, and the S
dip angle is always = 90 pole plunge
Application of Common Plane
Spreadsheet to Strike & Dip
Calculation from 2 Apparent Dips
Lineation
vector 1 Plane containing
lineations 1 & 2
Lineation
vector 2

angle
Cross-product vector of between poles
lineations 1 & 2 = 1&2
perpendicular (pole) to
plane containing
lineations 1 & 2
Rotational Problem
Scenarios
Rotational fault
Retro-deforming a fold limb
Rotating cross-bedding to original
attitude
Spreadsheet Implementation:
Rotation of a line about a rotational
axis (Rotation.xlsm) - Rotational
Fault Rotational Fault Example
350 N 10
340 20
330 30
320 Rotation Path 40
120
310 50

300 P 60
48.6
R L
290 70

280 80

Fault Plane
W E
260 100
Rotated Bedding L'
250 N 39.5 E 72.3 W 110
P'
240 120

230 130

220 140
Given a rotational fault axis (300,30) and that 210 150
200 160
bedding (090,40S) was rotated 120 degrees 190
S
170

calculate the new bedding attitude = 39.5, 72.3W


Special Considerations for
Tablet/Smart Phone Spreadsheets
Spreadsheet layout should be compact for
limited screen area
Currently named cells are not supported
Graphics are generally not practical or are not
supported
VB macros are not supported
Downloadable spreadsheets have been tested
with Quickoffice on the Android OS
Compact Layout of
CommonPlane.xlsx in Quickoffice
Excel Named Cell Constraints
Named cells uses symbolic names to
represent cell addresses to clarify formulae

Named cells cannot be used with current


Tablet/Smart Phone Excel compatible
spreadsheets (example from
CommonPlane.xlsx

=SIN(RADIANS(Az_1))*SIN(RADIANS(90-
Pl_1))

=SIN(RADIANS(B4))*SIN(RADIANS(90-C4))
Excel Graphics and VB Macros
VB macros are not supported in current Tablet/Smart Phone
applications
Graphics are not practical with smart phones but may be possible
on tablets
Web Site Resources
Excel 2010 Spreadsheets with graphics and dynamic VB macros:
http://
www.usouthal.edu/geography/allison/GY403/CommonPlane.x
lsm
http://
www.usouthal.edu/geography/allison/GY403/IntersectingPlan
es.xlsm
http://
www.usouthal.edu/geography/allison/GY403/Rotation.xlsm
Smart Phone/ Tablet compatible spreadsheet versions:
http://
www.usouthal.edu/geography/allison/GY403/CommonPlane.xl
sx
http://
www.usouthal.edu/geography/allison/GY403/IntersectingPlane
s.xlsx
http://
www.usouthal.edu/geography/allison/GY403/Rotation.xlsx
NETPROG stereonet application:
http://www.usouthal.edu/geography/allison/w-netprg.htm
QuickOffice web site:
http://www.quickoffice.com/
Concluding Scenario

You might also like