|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectbakutan.common.math.BMath
public class BMath
コンストラクタの概要 | |
---|---|
BMath()
|
メソッドの概要 | |
---|---|
static boolean |
calcNormal(BVector2f dest1,
BVector2f dest2,
BVector2f p1,
BShape shape1,
BVector2f p2,
BShape shape2)
2つの物体が接触しているときの法線を得る。 |
static boolean |
calcNormalCirclexCircle(BVector2f dest1,
BVector2f dest2,
BVector2f p1,
BVector2f p2)
|
static boolean |
calcNormalCirclexLine(BVector2f dest1,
BVector2f dest2,
BVector2f p1,
float radius1,
BVector2f p2,
BVector2f p21,
BVector2f p22)
|
static boolean |
calcNormalCirclexRectangle(BVector2f dest1,
BVector2f dest2,
BVector2f p1,
float radius1,
BVector2f p2,
BVector4f sq2)
|
static float |
getClosestIntersection(BVector2f start,
BVector2f end,
BVector2f pos,
BShape circle)
線分start-end(両端含む)と位置posの半径円の最近の交点を得る。 |
static float |
getClosestIntersection(BVector2f start,
BVector2f end,
BVector2f pos,
float radius)
線分start-end(両端含む)と位置posの半径円の最近の交点を得る。 |
static void |
getClosestPoint(BVector2f dest,
BVector2f p1,
BVector2f v,
BVector2f p2)
点p1から方向vに伸びる線上の点p2にもっとも近い点を得る。 |
static boolean |
getIntersection(BVector2f dest,
BVector2f p11,
BVector2f p12,
BVector2f p21,
BVector2f p22)
線分p11-p12と線分p21-p22(両端を含む)の共有点を求める。 |
static void |
getLineFunction(BVector3f dest,
BVector2f pos1,
BVector2f pos2)
pos1とpos2を通る一次関数を得る。 |
static boolean |
isIntersect(BVector2f p1,
BShape shape1,
BVector2f p2,
BShape shape2)
2つの物体が交差しているか判定する。 |
static boolean |
isIntersect(BVector2f dest,
BVector2f p11,
BVector2f p12,
BVector2f p21,
BVector2f p22)
線分p11-p12と線分p21-p22(両端を含む)の共有点を求める。 |
static boolean |
isIntersectCirclexCirle(BVector2f p1,
float radius1,
BVector2f p2,
float radius2)
位置p1、半径radius1の円と位置p2、半径radius2の円が共有部分を持つか調べる。 |
static boolean |
isIntersectCirclexLine(BVector2f p1,
float radius1,
BVector2f p2,
BVector2f p21,
BVector2f p22)
位置p1、半径radius1の円1と位置pos、線p21-p22の線が交差するか調べる。 |
static boolean |
isIntersectCirclexRectangle(BVector2f p1,
float radius1,
BVector2f p2,
BVector4f sq2)
|
static boolean |
isIntersectInner(BVector2f dest,
BVector2f p11,
BVector2f p12,
BVector2f p21,
BVector2f p22)
線分p11-p12の内部と線分p21-p22の内部(両端を含まない)の共有点を求める。 |
static boolean |
isIntersectPointxCirle(BVector2f p1,
BVector2f p2,
float radius2)
位置p1の円と位置p2、半径radius2の円が共有部分を持つか調べる。 |
static boolean |
isIntersectPointxRectangle(BVector2f p1,
BVector2f p2,
BVector4f sq2)
|
static boolean |
isIntersectRectanglexRectangle(BVector2f p1,
BVector4f sq1,
BVector2f p2,
BVector4f sq2)
|
static boolean |
isOff(BVector2f p1,
BVector2f v1,
BVector2f p2,
BVector2f v2)
点p1から速度v1で動く点と点p2から速度v2で動く点が遠ざかっているか調べる。 |
static boolean |
isOnLine(BVector2f a1,
BVector2f a2,
BVector2f b)
a1とa2の線分上にbが存在するか調べる。 |
static boolean |
isOnLine(BVector3f a1,
BVector3f a2,
BVector3f b)
a1とa2の線分上にbが存在するか調べる。 |
static boolean |
isOnLineInner(BVector2f a1,
BVector2f a2,
BVector2f b)
a1とa2の線分の内部にbが存在するか調べる。 |
static boolean |
isOnLineInner(BVector3f a1,
BVector3f a2,
BVector3f b)
a1とa2の線分の内部にbが存在するか調べる。 |
static void |
main(java.lang.String[] args)
|
static float |
nextCollid(BVector2f p1,
BShape shape1,
BVector2f v1,
BVector2f p2,
BShape shape2,
BVector2f v2)
物体1と物体2の衝突するまでの時間を得る。 |
static float |
nextCollidCirclexCircle(BVector2f p1,
float radius1,
BVector2f v1,
BVector2f p2,
float radius2,
BVector2f v2)
円1と円2の衝突するまでの時間を得る。 |
static float |
nextCollidCirclexLine(BVector2f p1,
float radius1,
BVector2f v1,
BVector2f p2,
BVector2f p21,
BVector2f p22,
BVector2f v2)
円と位置pos、線の衝突するまでの時間とその法線を得る。 |
static float |
nextCollidCirclexRectangle(BVector2f p1,
float radius1,
BVector2f v1,
BVector2f p2,
BVector4f sq2,
BVector2f v2)
円と長方形の衝突するまでの時間を得る。 |
static float |
nextCollidPointxCircle(BVector2f p1,
BVector2f v1,
BVector2f p2,
float radius2,
BVector2f v2)
円1と円2の衝突するまでの時間とその法線を得る。 |
static float |
nextCollidPointxLine(BVector2f p1,
BVector2f v1,
BVector2f p2,
BVector2f p21,
BVector2f p22,
BVector2f v2)
点と線の衝突するまでの時間とその法線を得る。 |
static float |
nextCollidPointxRectangle(BVector2f p1,
BVector2f v1,
BVector2f p2,
BVector4f sq2,
BVector2f v2)
点と長方形の衝突するまでの時間を得る。 |
static float |
nextCollidRectanglexRectangle(BVector2f p1,
BVector2f v1,
BVector2f p2,
BVector4f sq1,
BVector2f v2)
未実装。 |
static boolean |
solveQuadEquation(float[] ans,
BVector3f args)
0 = args.x * x^2 + args.y * y + args.zの二次関数の解2つを引数ansに出力する。 |
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public BMath()
メソッドの詳細 |
---|
public static boolean isOnLineInner(BVector2f a1, BVector2f a2, BVector2f b)
public static boolean isOnLine(BVector2f a1, BVector2f a2, BVector2f b)
public static boolean isOnLineInner(BVector3f a1, BVector3f a2, BVector3f b)
public static boolean isOnLine(BVector3f a1, BVector3f a2, BVector3f b)
public static boolean isIntersectInner(BVector2f dest, BVector2f p11, BVector2f p12, BVector2f p21, BVector2f p22)
dest
- 交点の出力先p11
- p12
- p21
- p22
-
public static boolean isIntersect(BVector2f dest, BVector2f p11, BVector2f p12, BVector2f p21, BVector2f p22)
dest
- 交点の出力先p11
- p12
- p21
- p22
-
public static boolean solveQuadEquation(float[] ans, BVector3f args)
ans
- 長さ2の配列で解の出力先args
- 二次関数を表すベクトル
public static boolean getIntersection(BVector2f dest, BVector2f p11, BVector2f p12, BVector2f p21, BVector2f p22)
dest
- 交点の出力先p11
- p12
- p21
- p22
-
public static void getLineFunction(BVector3f dest, BVector2f pos1, BVector2f pos2)
dest
- 一次関数の出力先pos1
- pos2
- public static float nextCollid(BVector2f p1, BShape shape1, BVector2f v1, BVector2f p2, BShape shape2, BVector2f v2)
p1
- 物体1の位置shape1
- 物体1の形状v1
- 物体1の速度p2
- 物体2の位置shape2
- 物体2の形状v2
- 物体2の速度
public static float nextCollidPointxCircle(BVector2f p1, BVector2f v1, BVector2f p2, float radius2, BVector2f v2)
p1
- 点1の位置v1
- 点1の速度p2
- 円2の位置radius2
- 円2の半径v2
- 円2の速度
public static float nextCollidCirclexCircle(BVector2f p1, float radius1, BVector2f v1, BVector2f p2, float radius2, BVector2f v2)
p1
- 円1の位置radius1
- 円1の半径v1
- 円1の速度p2
- 円2の位置radius2
- 円2の半径v2
- 円2の速度
public static float nextCollidPointxLine(BVector2f p1, BVector2f v1, BVector2f p2, BVector2f p21, BVector2f p22, BVector2f v2)
p1
- 点の位置v1
- 点の速度p2
- 線のオフセットp21
- 線の視点p22
- 線の位置v2
- 線の速度
public static float nextCollidCirclexLine(BVector2f p1, float radius1, BVector2f v1, BVector2f p2, BVector2f p21, BVector2f p22, BVector2f v2)
p1
- 円の位置radius1
- 円の半径v1
- 円の速度p2
- 線のオフセットp21
- 線の視点p22
- 線の位置v2
- 線の速度
public static float nextCollidPointxRectangle(BVector2f p1, BVector2f v1, BVector2f p2, BVector4f sq2, BVector2f v2)
p1
- 点の位置v1
- 点の速度p2
- 長方形の位置sq2
- 長方形の形状v2
- 長方形の速度
public static float nextCollidCirclexRectangle(BVector2f p1, float radius1, BVector2f v1, BVector2f p2, BVector4f sq2, BVector2f v2)
p1
- 円の位置radius1
- 円の半径v1
- 円の速度p2
- 長方形の位置sq2
- 長方形の大きさv2
- 長方形の速度
public static float nextCollidRectanglexRectangle(BVector2f p1, BVector2f v1, BVector2f p2, BVector4f sq1, BVector2f v2)
p1
- v1
- p2
- sq1
- v2
-
public static boolean isOff(BVector2f p1, BVector2f v1, BVector2f p2, BVector2f v2)
p1
- v1
- p2
- v2
-
public static boolean isIntersect(BVector2f p1, BShape shape1, BVector2f p2, BShape shape2)
p1
- 物体1の位置shape1
- 物体1の形状p2
- 物体2の位置shape2
- 物体2の形状
public static boolean isIntersectCirclexLine(BVector2f p1, float radius1, BVector2f p2, BVector2f p21, BVector2f p22)
p1
- 円の位置radius1
- 円の半径p2
- 線のオフセットp21
- 線の視点p22
- 線の位置
public static boolean isIntersectPointxCirle(BVector2f p1, BVector2f p2, float radius2)
p1
- p2
- radius2
-
public static boolean isIntersectCirclexCirle(BVector2f p1, float radius1, BVector2f p2, float radius2)
p1
- radius1
- p2
- radius2
-
public static boolean isIntersectPointxRectangle(BVector2f p1, BVector2f p2, BVector4f sq2)
public static boolean isIntersectCirclexRectangle(BVector2f p1, float radius1, BVector2f p2, BVector4f sq2)
public static boolean isIntersectRectanglexRectangle(BVector2f p1, BVector4f sq1, BVector2f p2, BVector4f sq2)
public static float getClosestIntersection(BVector2f start, BVector2f end, BVector2f pos, float radius)
start
- 線分の始点end
- 線分の終点pos
- 円の位置radius
- 円の半径
public static float getClosestIntersection(BVector2f start, BVector2f end, BVector2f pos, BShape circle)
start
- 線分の始点end
- 線分の終点pos
- 円の位置circle
- 円の半径
public static void getClosestPoint(BVector2f dest, BVector2f p1, BVector2f v, BVector2f p2)
dest
- 出力先p1
- v
- p2
- public static boolean calcNormal(BVector2f dest1, BVector2f dest2, BVector2f p1, BShape shape1, BVector2f p2, BShape shape2)
dest1
- 物体1の法線dest2
- 物体2の法線p1
- 物体1の位置shape1
- 物体1の形状p2
- 物体2の位置shape2
- 物体2の形状
public static boolean calcNormalCirclexCircle(BVector2f dest1, BVector2f dest2, BVector2f p1, BVector2f p2)
public static boolean calcNormalCirclexLine(BVector2f dest1, BVector2f dest2, BVector2f p1, float radius1, BVector2f p2, BVector2f p21, BVector2f p22)
public static boolean calcNormalCirclexRectangle(BVector2f dest1, BVector2f dest2, BVector2f p1, float radius1, BVector2f p2, BVector4f sq2)
public static void main(java.lang.String[] args)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |