Projects for the Computational Geometry and Machine Learning course developed in Python.
The class Fisher offers methods to train and classify data using the Fisher's Linear Discriminant. Based on Chapter 4.1 from C.M. Bishop, Pattern Recognition and Machine Learning, Springer, 2007.
This module implements two mecanisms for dimensionality reduction. The first one is LDA, which performs the Linear Discrimant Analysis (based on Section 4.1.6 from C.M. Bishop, Pattern Recognition and Machine Learning, Springer, 2007), and the second is PCA, which implements the Principal Component Analysis (based on Section 12.1 from the same book).
This module implements several algorithms to evaluate Bezier curves. For further references, please see Chapters 2 and 3 from Bézier and B-Spline Techniques by Prautzsch, H., Boehm, W., Paluszny, M.
This notebook makes it possible to play with two Bézier curves. You can add or move control points of one curve using left click, and right click for the second curve. It also computes their intersections.
This notebook renders a Bézier surface given its control points. As an example, we render the typical Utah teapot.
This notebook implements the Graham's algorithm to compute the convex hull of a set of points in the plane.
Convex Hull 3D.ipynb
This notebook implements a beneath-beyond algorithm to compute the convex hull of a set of points in the space. It can also compute Delaunay triangulations in 2D using a trick.
This project is being developed by Ana María Martínez Gómez and Víctor Adolfo Gallego Alcalá.
Code published under MIT License (see LICENSE).