import java.awt.Color;
import java.awt.Graphics2D;
import myMath.MyPoint3D;
import myMath.Tpl10;
public class TestMySpace04_1 extends Tpl10 {
int t = 0;
MyPoint3D p = new MyPoint3D();
public void init() {
tr.move(getWidth() / 2, getHeight() / 2);
tr.set(1, 0, 0, -1);
tr.scale(50);
setTimer(200);
p.set(2, 1, 0);
}
public void draw(Graphics2D g2) {
p.rotate(t, 0, 0);
// 軸
g2.setColor(Color.red);
g2.draw(tr.LineX3D());
g2.setColor(Color.green);
g2.draw(tr.LineY3D());
g2.setColor(Color.blue);
g2.draw(tr.LineZ3D());
g2.draw(tr.Line(0, 0, 0, p.x, p.y, p.z));
g2.draw(tr.Line(2, 0, 0, p.x, p.y, p.z));
t++;
}
}
x軸の周りに回転します。
import java.awt.Color;
import java.awt.Graphics2D;
import myMath.MyPoint3D;
import myMath.Tpl10;
public class TestMySpace04_2 extends Tpl10 {
int t = 0;
public void init() {
tr.move(getWidth() / 2, getHeight() / 2);
tr.set(1, 0, 0, -1);
tr.scale(50);
setTimer(100);
}
public void draw(Graphics2D g2) {
MyPoint3D p1 = new MyPoint3D();
MyPoint3D p2 = new MyPoint3D();
// 軸
g2.setColor(Color.red);
g2.draw(tr.LineX3D());
g2.setColor(Color.green);
g2.draw(tr.LineY3D());
g2.setColor(Color.blue);
g2.draw(tr.LineZ3D());
double x = 0;
while (x < 3) {
g2.setColor(Color.black);
p1.set(x, Math.sqrt(x), 0);
p1.rotate(t, 0, 0);
x += 0.1;
p2.set(x, Math.sqrt(x), 0);
p2.rotate(t, 0, 0);
g2.draw(tr.Line(p1.x, p1.y, p1.z, p2.x, p2.y, p2.z));
g2.setColor(Color.orange);
g2.draw(tr.Line(x, 0, 0, p2.x, p2.y, p2.z));
}
t++;
}
}
import java.awt.Color;
import java.awt.Graphics2D;
import myMath.MyPoint3D;
import myMath.Tpl10;
public class TestMySpace04_3 extends Tpl10 {
int t = 0;
public void init() {
tr.move(getWidth() / 2, getHeight() / 2);
tr.set(1, 0, 0, -1);
tr.scale(50);
setTimer(100);
}
public void draw(Graphics2D g2) {
MyPoint3D p1 = new MyPoint3D();
MyPoint3D p2 = new MyPoint3D();
// 軸
g2.setColor(Color.red);
g2.draw(tr.LineX3D());
g2.setColor(Color.green);
g2.draw(tr.LineY3D());
g2.setColor(Color.blue);
g2.draw(tr.LineZ3D());
double x = 0;
while (x < 3.1) {
g2.setColor(Color.black);
p1.set(x, Math.sin(x), 0);
p1.rotate(t, 0, 0);
x += 0.1;
p2.set(x, Math.sin(x), 0);
p2.rotate(t, 0, 0);
g2.draw(tr.Line(p1.x, p1.y, p1.z, p2.x, p2.y, p2.z));
g2.setColor(Color.orange);
g2.draw(tr.Line(x, 0, 0, p2.x, p2.y, p2.z));
}
t++;
}
}