问题在于Polygon::FindAxisLeastPenetration:
double Polygon::FindAxisLeastPenetration(unsigned int *faceIndex, const Polygon &polygonA, const Polygon &polygonB) const {
double bestDistance = -std::numeric_limits<double>::infinity();
unsigned int bestIndex;
for (unsigned int i = 0; i < polygonA.points.size(); i++) {
Vector2D n = polygonA.normals[i];
Vector2D nw = polygonA.rotationMatrix * n; //ROTATION
Matrix22 buT = polygonB.rotationMatrix.Transposed();
n = buT * nw; //ROTATION
Vector2D support = polygonB.points[polygonB.GetSupport(-n)];
Vector2D vertex = polygonA.points[i];
vertex = polygonA.rotationMatrix * vertex; //ROTATION
vertex.Add(polygonA.body->GetPosition());
vertex.Subtract(polygonB.body->GetPosition());
vertex = buT * vertex; // ROTATION
double distance = …Run Code Online (Sandbox Code Playgroud) c++ math rotation rotational-matrices separating-axis-theorem
我使用JSON简单来解析JSON,并NoClassDefFoundError在尝试创建JSONParser对象时得到.
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.JSONParser;
...
JSONParser parser = new JSONParser();
Run Code Online (Sandbox Code Playgroud)
我用命令编译程序:
javac MyProgram.java -cp json-simple-1.1.1.jar
Run Code Online (Sandbox Code Playgroud)
它编译得很好.但是当我用这个命令执行程序时:
java MyProgram
Run Code Online (Sandbox Code Playgroud)
我明白了 NoClassDefFoundError
我究竟做错了什么?
编辑:
完整错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/parser/JSONParser
at getNotesFromNoter.sendPost(getNotesFromNoter.java:53)
at getNotesFromNoter.main(getNotesFromNoter.java:14)
Caused by: java.lang.ClassNotFoundException: org.json.simple.parser.JSONParser
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
Run Code Online (Sandbox Code Playgroud) 我有这个代码:
class Vector2D(object):
def __init__(self, x=0.0, y=0.0):
self.x, self.y = x, y
def rotate(self, angle):
angle = math.radians(angle)
sin = math.sin(angle)
cos = math.cos(angle)
x = self.x
y = self.y
self.x = x * cos - y * sin
self.y = x * sin + y * cos
def __repr__(self):
return '<Vector2D x={0}, y={1}>'.format(self.x, self.y)
class Polygon(object):
def __init__(self, points):
self.points = [Vector2D(*point) for point in points]
def rotate(self, angle):
for point in self.points:
point.rotate(angle)
def center(self):
totalX = totalY …Run Code Online (Sandbox Code Playgroud)