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++; } }