Initial commit
This commit is contained in:
3
Java/3DEngine/.idea/.gitignore
generated
vendored
Normal file
3
Java/3DEngine/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
6
Java/3DEngine/.idea/discord.xml
generated
Normal file
6
Java/3DEngine/.idea/discord.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DiscordProjectSettings">
|
||||
<option name="show" value="PROJECT_FILES" />
|
||||
</component>
|
||||
</project>
|
||||
6
Java/3DEngine/.idea/misc.xml
generated
Normal file
6
Java/3DEngine/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
8
Java/3DEngine/.idea/modules.xml
generated
Normal file
8
Java/3DEngine/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/3DEngine.iml" filepath="$PROJECT_DIR$/3DEngine.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
124
Java/3DEngine/.idea/uiDesigner.xml
generated
Normal file
124
Java/3DEngine/.idea/uiDesigner.xml
generated
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
||||
11
Java/3DEngine/3DEngine.iml
Normal file
11
Java/3DEngine/3DEngine.iml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Java/3DEngine/out/production/3DEngine/test/Main.class
Normal file
BIN
Java/3DEngine/out/production/3DEngine/test/Main.class
Normal file
Binary file not shown.
21
Java/3DEngine/src/de/craftix/engine/Calculator.java
Normal file
21
Java/3DEngine/src/de/craftix/engine/Calculator.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package de.craftix.engine;
|
||||
|
||||
public class Calculator {
|
||||
|
||||
static double CalculatePositionX(double[] viewFrom, double[] viewTo, double x, double y, double z) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static double CalculatePositionY(double[] viewFrom, double[] viewTo, double x, double y, double z) {
|
||||
setStuff(viewFrom, viewTo);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void setStuff(double[] viewFrom, double[] viewTo) {
|
||||
Vector viewVector = new Vector(viewTo[0] - viewFrom[0], viewTo[1] - viewFrom[1], viewTo[1] - viewFrom[1]);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
17
Java/3DEngine/src/de/craftix/engine/Engine.java
Normal file
17
Java/3DEngine/src/de/craftix/engine/Engine.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package de.craftix.engine;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class Engine extends JFrame {
|
||||
private Screen screen = new Screen();
|
||||
|
||||
public Engine() {
|
||||
setUndecorated(true);
|
||||
setSize(Toolkit.getDefaultToolkit().getScreenSize());
|
||||
add(screen);
|
||||
setDefaultCloseOperation(EXIT_ON_CLOSE);
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
}
|
||||
27
Java/3DEngine/src/de/craftix/engine/Polygon3D.java
Normal file
27
Java/3DEngine/src/de/craftix/engine/Polygon3D.java
Normal file
@@ -0,0 +1,27 @@
|
||||
package de.craftix.engine;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public class Polygon3D {
|
||||
private Color c;
|
||||
private double[] x, y, z;
|
||||
|
||||
public Polygon3D(double[] x, double[] y, double[] z, Color c) {
|
||||
this.c = c;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
createPolygon();
|
||||
}
|
||||
|
||||
void createPolygon() {
|
||||
double[] newX = new double[x.length];
|
||||
double[] newY = new double[y.length];
|
||||
for (int i = 0; i < x.length; i++) {
|
||||
newX[i] = Calculator.CalculatePositionX(Screen.viewFrom, Screen.viewTo, x[i], y[i], z[i]);
|
||||
newY[i] = Calculator.CalculatePositionY(Screen.viewFrom, Screen.viewTo, x[i], y[i], z[i]);
|
||||
}
|
||||
Screen.polygons[Screen.numberOfPolygons] = new PolygonObject(newX, newY, c);
|
||||
}
|
||||
|
||||
}
|
||||
21
Java/3DEngine/src/de/craftix/engine/PolygonObject.java
Normal file
21
Java/3DEngine/src/de/craftix/engine/PolygonObject.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package de.craftix.engine;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public class PolygonObject {
|
||||
private Polygon p;
|
||||
private Color c;
|
||||
|
||||
public PolygonObject(double[] x, double[] y, Color c) {
|
||||
Screen.numberOfPolygons++;
|
||||
this.c = c;
|
||||
p = new Polygon();
|
||||
for (int i = 0; i < x.length; i++) p.addPoint((int) x[i], (int) y[i]);
|
||||
}
|
||||
|
||||
void drawPolygon(Graphics g) {
|
||||
g.setColor(c);
|
||||
g.drawPolygon(p);
|
||||
}
|
||||
|
||||
}
|
||||
25
Java/3DEngine/src/de/craftix/engine/Screen.java
Normal file
25
Java/3DEngine/src/de/craftix/engine/Screen.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package de.craftix.engine;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class Screen extends JPanel {
|
||||
static double[] viewFrom = new double[]{ 10, 10, 10 };
|
||||
static double[] viewTo = new double[]{ 0, 0, 0 };
|
||||
|
||||
public static int numberOfPolygons = 0;
|
||||
public static PolygonObject[] polygons = new PolygonObject[100];
|
||||
|
||||
Polygon3D poly3D;
|
||||
|
||||
public Screen() {
|
||||
poly3D = new Polygon3D(new double[]{2, 4, 2}, new double[]{2, 4, 6}, new double[]{5, 5, 5}, Color.BLACK);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void paintComponent(Graphics g) {
|
||||
super.paintComponent(g);
|
||||
|
||||
for (int i = 0; i < numberOfPolygons; i++) polygons[i].drawPolygon(g);
|
||||
}
|
||||
}
|
||||
21
Java/3DEngine/src/de/craftix/engine/Vector.java
Normal file
21
Java/3DEngine/src/de/craftix/engine/Vector.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package de.craftix.engine;
|
||||
|
||||
public class Vector {
|
||||
double x, y, z;
|
||||
|
||||
public Vector(double x, double y, double z) {
|
||||
double length = Math.sqrt(x*x + y*y + z*z);
|
||||
this.x = x / length;
|
||||
this.y = y / length;
|
||||
this.z = z / length;
|
||||
}
|
||||
|
||||
Vector crossProduct(Vector v) {
|
||||
return new Vector(
|
||||
y * v.z - z * v.y,
|
||||
z * v.x - x * v.z,
|
||||
x * v.y - y * v.x
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
11
Java/3DEngine/src/test/Main.java
Normal file
11
Java/3DEngine/src/test/Main.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package test;
|
||||
|
||||
import de.craftix.engine.Engine;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
new Engine();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user