X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FTriangle.java;h=df7c463aeed105a22609325fb08e300c20197d95;hp=0ed9d398a71ddfe4ecd3b7a0c94671c8a65e0a0c;hb=0f9ce20a060db6537a47b549cbf24fd268699ac6;hpb=f569231a23ceb2881c9720a8e8711c7aaaed05d4 diff --git a/src/edu/berkeley/qfat/geom/Triangle.java b/src/edu/berkeley/qfat/geom/Triangle.java index 0ed9d39..df7c463 100644 --- a/src/edu/berkeley/qfat/geom/Triangle.java +++ b/src/edu/berkeley/qfat/geom/Triangle.java @@ -1,7 +1,7 @@ package edu.berkeley.qfat.geom; import javax.media.opengl.*; -public abstract class Triangle { +public abstract class Triangle implements HasBoundingBox { public abstract Point p1(); public abstract Point p2(); public abstract Point p3(); @@ -30,4 +30,24 @@ public abstract class Triangle { p2().distance(p3())), p3().distance(p1())) / 2; } + + public float aspect() { + float max = Math.max(Math.max(p1().distance(p2()), + p2().distance(p3())), + p3().distance(p1())) / 2; + return 1/(1+area()/(max*max)); + } + public float aspect0() { + float max = Math.max(Math.max(p1().distance(p2()), + p2().distance(p3())), + p3().distance(p1())) / 2; + return (area()/(max*max)); + } + + public float getMaxX() { return Math.max(p1().x, Math.max(p2().x, p3().x)); } + public float getMinX() { return Math.min(p1().x, Math.min(p2().x, p3().x)); } + public float getMaxY() { return Math.max(p1().y, Math.max(p2().y, p3().y)); } + public float getMinY() { return Math.min(p1().y, Math.min(p2().y, p3().y)); } + public float getMaxZ() { return Math.max(p1().z, Math.max(p2().z, p3().z)); } + public float getMinZ() { return Math.min(p1().z, Math.min(p2().z, p3().z)); } } \ No newline at end of file