|
VeaR/JEllipse | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectpl.krakow.cmuj.bioinformatics.jellipse.mathtoolkit.Math3d
public class Math3d
calcTorsionalAngle(pl.krakow.cmuj.bioinformatics.jellipse.mathtoolkit.Vector3, pl.krakow.cmuj.bioinformatics.jellipse.mathtoolkit.Vector3, pl.krakow.cmuj.bioinformatics.jellipse.mathtoolkit.Vector3, pl.krakow.cmuj.bioinformatics.jellipse.mathtoolkit.Vector3),
Peptide.estimateCurvatures()| Constructor Summary | |
|---|---|
Math3d()
Creates a new instance of Math3d and warns that object of this class itself has no use |
|
| Method Summary | |
|---|---|
static float |
calcTorsionalAngle(Vector3 vatom1,
Vector3 vatom2,
Vector3 vatom3,
Vector3 vatom4)
Calculates torsional angle set up by four atoms |
static Vector3 |
centerOfThreePointCircle(Vector3 v1,
Vector3 v2,
Vector3 v3)
calculates the location of a circle that intersects three points (in 3d) and is (of course) co-planar with them ============= Here comes Maple code, that produced solutions ============== restart: with(linalg): 2 equations on radii equivalence, the 3rd on coplanar location eqns :={ (r0-a0)^2 + (r1-a1)^2 + (r2-a2)^2 = (r0-b0)^2 + (r1-b1)^2 + (r2-b2)^2, (r0-a0)^2 + (r1-a1)^2 + (r2-a2)^2 = (r0-c0)^2 + (r1-c1)^2 + (r2-c2)^2, det(matrix( [ [r0-a0, r1-a1, r2-a2], [b0-a0, b1-a1, b2-a2], [c0-a0, c1-a1, c2-a2] ] ))=0 }: rcoords := solve( eqns, {r0,r1,r2} ): x := simplify(subs(rcoords,r0)); y := simplify(subs(rcoords,r1)); z := simplify(subs(rcoords,r2)); distance test randomize(123): los := rand(-100..100): a0 := los(): a1 := los(): a2 := los(): b0 := los(): b1 := los(): b2 := los(): c0 := los(): c1 := los(): c2 := los(): dista:=evalf(sqrt((a0-x)^2 + (a1-y)^2 + (a2-z)^2)); distb:=evalf(sqrt((b0-x)^2 + (b1-y)^2 + (b2-z)^2)); distc:=evalf(sqrt((c0-x)^2 + (c1-y)^2 + (c2-z)^2)); visual test PLOT3D(POINTS( [a0,a1,a2], [b0,b1,b2], [c0,c1,c2], [x, y, z], SYMBOL(DIAMOND) ) ); --------------------------------------------------------------------------- |
static float |
distance(Vector3 v1,
Vector3 v2)
calculates the distance between two points (vectors, dim = 3) |
static Vector3 |
mapToSphere(float[] NewPt,
float AdjustWidth,
float AdjustHeight)
|
static void |
Matrix4fMulRotationScale(float[] NewObj,
float scale)
|
static float[] |
Matrix4fSetRotationFromMatrix3f(float[] m1)
|
static float[] |
Matrix4fSetRotationScaleFromMatrix3f(float[] m1)
|
static float[] |
multiplyMatrix9(float[] m,
float[] m1)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Math3d()
| Method Detail |
|---|
public static float distance(Vector3 v1,
Vector3 v2)
v1 - one point as Vector3v2 - another point Vector3
public static Vector3 centerOfThreePointCircle(Vector3 v1,
Vector3 v2,
Vector3 v3)
============= Here comes Maple code, that produced solutions ==============
restart:
with(linalg):
2 equations on radii equivalence, the 3rd on coplanar location
eqns :={ (r0-a0)^2 + (r1-a1)^2 + (r2-a2)^2 = (r0-b0)^2 + (r1-b1)^2 + (r2-b2)^2,
(r0-a0)^2 + (r1-a1)^2 + (r2-a2)^2 = (r0-c0)^2 + (r1-c1)^2 + (r2-c2)^2,
det(matrix( [ [r0-a0, r1-a1, r2-a2],
[b0-a0, b1-a1, b2-a2],
[c0-a0, c1-a1, c2-a2] ] ))=0
}:
rcoords := solve( eqns, {r0,r1,r2} ):
x := simplify(subs(rcoords,r0));
y := simplify(subs(rcoords,r1));
z := simplify(subs(rcoords,r2));
distance test
randomize(123): los := rand(-100..100):
a0 := los(): a1 := los(): a2 := los():
b0 := los(): b1 := los(): b2 := los():
c0 := los(): c1 := los(): c2 := los():
dista:=evalf(sqrt((a0-x)^2 + (a1-y)^2 + (a2-z)^2));
distb:=evalf(sqrt((b0-x)^2 + (b1-y)^2 + (b2-z)^2));
distc:=evalf(sqrt((c0-x)^2 + (c1-y)^2 + (c2-z)^2));
visual test
PLOT3D(POINTS( [a0,a1,a2],
[b0,b1,b2],
[c0,c1,c2],
[x, y, z], SYMBOL(DIAMOND)
)
);
---------------------------------------------------------------------------
v1 - one point (vector) as float[3]v2 - another point (vector) as float[3]v3 - yet another point (vector) as float[3]
public static float calcTorsionalAngle(Vector3 vatom1,
Vector3 vatom2,
Vector3 vatom3,
Vector3 vatom4)
vatom1 - coords of the atom in the bond belonging to the first planevatom2 - coords of another atom in the bond belonging to the first planevatom3 - coords of the atom in the bond belonging to the second planevatom4 - coords of another atom in the bond belonging to the second plane
public static Vector3 mapToSphere(float[] NewPt,
float AdjustWidth,
float AdjustHeight)
public static float[] multiplyMatrix9(float[] m,
float[] m1)
public static float[] Matrix4fSetRotationFromMatrix3f(float[] m1)
public static float[] Matrix4fSetRotationScaleFromMatrix3f(float[] m1)
public static void Matrix4fMulRotationScale(float[] NewObj,
float scale)
|
VeaR/JEllipse | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||