Commit aa157b61 authored by Sergio Emanuel Rodriguez Rivera's avatar Sergio Emanuel Rodriguez Rivera
Browse files

commented out spark implementation

parent 35a4486b
Loading
Loading
Loading
Loading
+27 −1
Original line number Diff line number Diff line
@@ -12,6 +12,8 @@
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <junit.version>5.10.0</junit.version>
        <spark.version>3.5.1</spark.version>
        <scala.version>2.13.13</scala.version>
    </properties>

    <dependencies>
@@ -43,8 +45,32 @@
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-math3</artifactId>
            <version>3.6.1</version>
            <type>pom</type>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.scala-lang/scala-library -->
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala.version}</version>
        </dependency>


        <!-- Spark Core for general Spark functionality -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.13</artifactId>
            <version>${spark.version}</version>
            </dependency>

        <!-- Spark MLLib for machine learning -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_2.13</artifactId>
            <version>${spark.version}</version>
            <scope>provided</scope>
        </dependency>


    </dependencies>

    <build>
+39 −10
Original line number Diff line number Diff line
@@ -9,16 +9,10 @@ import javafx.scene.shape.CullFace;
import javafx.scene.shape.MeshView;
import javafx.scene.shape.TriangleMesh;
import javafx.scene.transform.Translate;
//import org.apache.commons.math3.ml.clustering.KMeansPlusPlusClusterer;
//import org.apache.commons.math3.ml.clustering.DoublePoint;
//import org.apache.commons.math3.ml.clustering.Cluster;

import java.util.ArrayList;
import java.util.List;


import java.io.*;
import java.util.*;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;

/**
 * Represents a moving object in a 3D space with deformable capabilities.
@@ -360,7 +354,42 @@ public class MovingObject {
//            dirtyTranslate = false;
//        }
//    }

//    public void setCentroid() {
//        if (dirtyTranslate) {
//            // Initialize Spark Context
//            SparkConf conf = new SparkConf().setAppName("KMeansCentroidCalculation").setMaster("local[*]");
//            JavaSparkContext sc = new JavaSparkContext(conf);
//
//            // Prepare your data from the readFile object
//            float[] vertices = fileObject.getVertices();
//            List<Vector> points = new ArrayList<>();
//            for (int i = 0; i < vertices.length; i += 3) {
//                double[] point = new double[]{
//                        vertices[i],    // X coordinate
//                        vertices[i+1],  // Y coordinate
//                        vertices[i+2]   // Z coordinate
//                };
//                points.add(Vectors.dense(point));
//            }
//
//            // Parallelize the data
//            JavaRDD<Vector> pointsRDD = sc.parallelize(points);
//
//            // Cluster the data into two classes using KMeans
//            int numClusters = 100;  // for example, 100 clusters
//            int numIterations = 20; // number of iterations
//            KMeansModel model = KMeans.train(pointsRDD.rdd(), numClusters, numIterations);
//
//            // Get the centroid coordinates
//            Vector[] centroids = model.clusterCenters();
//            for (int i = 0; i < centroids.length; i++) {
//                System.out.println("Cluster " + i + " centroid:" + centroids[i].toString());
//            }
//
//            // Stop the Spark context
//            sc.stop();
//        }
//    }

    /**
     * Retrieves the updated centroid of the object considering its translation.
+4 −4
Original line number Diff line number Diff line
@@ -286,10 +286,10 @@ public class GraphicsAndWindowsTest extends Application {
                y = min(y, 50);

                // Calculate new coordinates based on the rotation of the camera
                double cosX = Math.cos(Math.toRadians(groupRotX.getAngle()));
                double sinX = Math.sin(Math.toRadians(groupRotX.getAngle()));
                double cosY = Math.cos(Math.toRadians(groupRotY.getAngle()));
                double sinY = Math.sin(Math.toRadians(groupRotY.getAngle()));
                double cosX = Math.cos(Math.toRadians(abs(groupRotX.getAngle())));
                double sinX = Math.sin(Math.toRadians(abs(groupRotX.getAngle())));
                double cosY = Math.cos(Math.toRadians(abs(groupRotY.getAngle())));
                double sinY = Math.sin(Math.toRadians(abs(groupRotY.getAngle())));

                // Apply transformations
                double newX = x * cosY + z * sinY;
+6 −5
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import javafx.stage.Stage;

import java.io.IOException;

import static java.lang.Math.abs;
import static java.lang.Math.min;


@@ -243,10 +244,10 @@ public class MillionTriangle extends Application {
                y = min(y, 50);

                // Calculate new coordinates based on the rotation of the camera
                double cosX = Math.cos(Math.toRadians(groupRotX.getAngle()));
                double sinX = Math.sin(Math.toRadians(groupRotX.getAngle()));
                double cosY = Math.cos(Math.toRadians(groupRotY.getAngle()));
                double sinY = Math.sin(Math.toRadians(groupRotY.getAngle()));
                double cosX = Math.cos(Math.toRadians(abs(groupRotX.getAngle())));
                double sinX = Math.sin(Math.toRadians(abs(groupRotX.getAngle())));
                double cosY = Math.cos(Math.toRadians(abs(groupRotY.getAngle())));
                double sinY = Math.sin(Math.toRadians(abs(groupRotY.getAngle())));

                // Apply transformations
                double newX = x * cosY + z * sinY;
@@ -392,7 +393,7 @@ public class MillionTriangle extends Application {
                                direction[i][1] += 1;
                            } else {
                                y = direction[i][1] - (meshBounds[i].getMaxY() + direction[i][1] - (winTopYBound + WindowSize));
                                if (Math.abs(direction[i][1]) > 10) {
                                if (abs(direction[i][1]) > 10) {
                                    objects[i].deformShape(1, 1, direction[i][1]);
                                }
                            }
−1.54 KiB

File deleted.

Loading