forked from rogrosso/lectures
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
82 lines (82 loc) · 4.47 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="description" content="Geometric Modeling" />
<meta name="author" content="Roberto Grosso" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Lectures</title>
<!-- Styles -->
<link rel="stylesheet" href="./css/lectures.css">
</head>
<!-- Axes with d3 -->
<body>
<div class="lectures">
<h1>Lectures</h1>
<h3>Roberto Grosso, Project start: Feb. 2023</h3>
<p>
This repository contains the HTML and Javascript code implementing algorithms discussed in some geometric modeling,
geometry processing, and information visualization lectures. This way, the code and some background information
about the algorithms can be freely accessed also from outside the University. This website presents the implemented
code, which can be cloned from the GitHub site
<a href="https://github.com/rogrosso/lectures">https://github.com/rogrosso/lectures</a>.
</p>
<p>
The web applications are interactive and based on D3 for 2D graphics and three.js for surfaces. It is strongly
recommended to interact with the visualizations by selecting and dragging points, zooming, and rotating the 3D
geometry. Some of the applications also include a simple user interface. The code was not implemented for
industrial usage or optimized for performance, which makes the implementations much easier to read and understand.
</p>
<p>
<strong>Note:</strong> The code was only tested with the Edge and Chrome browsers.
</p>
<hr>
<h3>Example: Catmull-Clark Subdivision Surface</h3>
<div id="threejs_canvas" data-width="450" data-height="320"></div>
<script type="module">
import { drawAll } from "./gm/subdivision-surfaces/catmullClark.js";
const url1 = "./gm/data/quadToroidalTetra.json"
const url2 = "./gm/data/quadCube.json"
const url3 = "./gm/data/quadCube_with_bnd.json"
const url4 = "./gm/data/quadPawn.json"
drawAll(url1, url2, url3, url4)
</script>
<hr>
<h2>Content</h2>
<p>
The website is organized into three folders containing the algorithms implemented for three lectures.
The folders are the following:
</p>
<h3>Folder gm: <a href="./gm/index.html">Geometric Modeling</a></h3>
<p>
This section implements algorithms for polynomial curves, Bézier- and B-Spline curves. There are also
implementations of algorithms for tensor product and subdivision surfaces.
</p>
<h3>Folder gp: <a href="./gp/index.html">Geometry Processing</a></h3>
<p>
This section contains basic algorithms for geometry processing, such as point cloud registration,
surface reconstruction, fairing and remeshing, mesh deformation (ARAP), and parametrization.
</p>
<h3>Folder infovis: <a href="./infovis/index.html">Information Visualization</a></h3>
<p>
This section demonstrates some visualization algorithms for color manipulation, multivariate data,
network analysis, visualization, hierarchies, and text visualization.
</p>
<h2>Disclaimer</h2>
<p>
This project aims to implement all functions and data structures required, up to the libraries
for data visualization and HTML processing, such as formulas and code highlighting. Nevertheless,
there always will be exemplary implementations of fundamental algorithms that one borrows from the
open-source community. Credits will be included in the corresponding file whenever third-party
software is used.
</p>
<footer>
<hr>
<div class="impressum">
<a class="impressum" href="./impressum.html">Impressum</a>
<a class="dateschuntzerklaerung" href="./datenschutzerklaerung.html">Datenschutzerklärung</a>
</div>
</footer>
</div>
</body>
</html>