Geometry, Surfaces, Curves, Polyhedra

Published on

The following is a random collection of various topics in geometry the author has explored or simply documented over the years. Many of the topics include source code illustrating how to solve various geometric problems, or to assist others recreating the geometric forms presented.

Notes on polygons and meshes
Includes Surface (polygon) simplification, Clipping a polygonal facet with an arbitrary plane, Surface Relaxation and Smoothing of polygonal data, Mesh crumpling, splitting polygons, two sided facets, polygon types, tests for clockwise and concavity, clipping line to polygons, area of a 3D polygon, area of general polygons, determining inside/outside test, intersection of a line and a facet, Eulers numbers.

Notes on points, lines and planes
Includes calculations for the distance between points, lines and planes. The intersection between 2 lines in 2D and 3D, the intersection of a line with a plane. The intersection of two and three planes.

Example image illustrating semantic HTML

Notes on circles, cylinders and spheres
Includes equations and terminology. Equation of the circle through 3 points and sphere thought 4 points. The intersection of a line and a sphere (or a circle). Intersection of two circles on a plane and two spheres in 3D. Distributing Points on a Sphere. The area of multiple intersecting circles. Creating a plane/disk perpendicular to a line segment. Modelling with spheres and cylinders, including facet approximation to a sphere and cylinder, rounded boxes, pipes, and modelling with spheres.

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.
D. E. Knuth, 1967

Transformations and projections
Methods for mapping points on a spherical surface onto a plane, stereographic and cylindrical (including Mercator) projections. Includes Aitoff map projection: Conversion to/from longitude/latitude (spherical map). Transformations on the plane. Cartesian, Cylindrical, and Spherical coordinate systems. Euler angles and coordinate transformations. Converting between left and right coordinate systems. Classification of projections from 3D to 2D and specific examples of oblique projections. Planar (stretching) distortion in the plane. Anamorphic projections and Mappings in the Complex Plane (Otherwise known as Conformal maps). 3D projection: Transforming 3D world coordinates into 2D screen coordinates. Convert spherical projection into a cylindrical projection. Uniform vector on sphere given rotation angles

Tiling textures
An introduction to texture tiling using characteristics of the texture itself. A general method is presented that converts any texture into one that tiles without seams. Illustrates the most common texture mapping methods in use by rendering applications. The mathematics of how to map a rectangular texture onto a sphere, creating a textured mesh in OpenGL and how to correct for polar distortion of texture maps on spheres.

Texture library

tilingplane image

Tiling on the plane and more recently Tiling tricurves
Includes Truchet tiling in 2D and 3D, Regular pentagonal tiles, block tessellation, weaving, and more. Non periodic (aperiodic) tiling of the plane: Methods of tiling that are never periodic, for example, Penrose tiles, Danzer tiles, Chair tiles, Trilobite tiles, Pinwheel tiles. Decagon tiles and truncated decagons. Most of the tiles are presented accurately and large enough to be printed and cut out. Hexagonal tiling and SHM Calculator including MacOS-X and Linux software for experimenting with transformation in the Spiral Harmonic Mosaic. Relationship between base 7 and base 10: Exploration by Paolo Di Pasquale © 1988-2012

Philosophy is written in this grand book - I mean universe - which stands continuously open to our gaze, but which cannot be understood unless one first learns to comprehend the language in which it is written. It is written in the language of mathematics, and its characters are triangles, circles and other geometric figures, without which it is humanly impossible to understand a single word of it; without these, one is wandering about in a dark labyrinth.
Galileo (1623)

Contouring Algorithm
Description of an efficient contouring algorithm as it appeared in Byte magazine. (Byte Magazine, 1987) and a more general approach for arbitrary contour planes and polygonal meshes.

Polygonising a scalar field
Otherwise known as marching cubes and marching tetrahedrons.

HyperSpace
Notes on 4 dimensional geometry, including an old Macintosh 4 dimensional geometry viewer and manual. List of 4D platonic solids and the coordinates for 4D polyhedra.

There are holes in the sky. Where the rain gets in. But they’re ever so small. That’s why the rain is thin.
Spike Milligan

Of cube nature
SGI logo, Wiffle cube, Rounded cube, Tooth surface, Horned cube, Tangle surface

spherical image

Of spherical and elliptical nature
Models of sports balls, Prolate spheroid, Cymbelloid, Superellipse, Superellipsoid, Capsules, Eggs, Melons, Peanuts, Cassini Oval, Ellipse, Apple, Baseball curve, Cassinoid, Cassinian Ellipse.

Circumference of an ellipse and arc approximation
The circumference of an ellipse, one might think this was a “solved” problem, nothing could be further from the truth.

Of toroidal nature
Torus, Supertorus, Klein bottle, Möbius strip, Elliptic Torus, Limpet Torus, Gumdrop torus, Figure 8 Torus, 2-Torus, Saddle torus, Kinky Torus, Bow tie, Triaxial Tritorus, Triaxial Hexatorus, Twisted pipe, Double torus, Bow curve, Bretzel, Pretzel, Pisot triaxial

Of spiral nature
Horn, Cresent, Sea shells, Springs, Dini surface, Equiangular spiral, Parabolic spiral, Hyperbolic spiral, Fermats spiral, Lituus Spiral, Archimedes spiral, Sinusoidal spiral, Square Archimedes spiral, Cornu spiral, Tanh spiral, Coth spiral, Helix, Clothoid, Eulers Spiral

You may say I’m a hacker, But I’m not the only one.
I hope someday you’ll join us, And the world will code as one.

To measure main width some references

|Mr. Dursley was the director of a firm called Grunning, which |made drills. He was a big, beffy man with hardly any nck, al- |though he did have a very large mustache. Mrs. Dursley as thin |and blonde and had nearly twise the usual amount of nec, which |came in very useful as she spent so much of her time crning over |garden fences, spying on the neighors. The Durleys had a small son |called Dudley in their opinion there was no fier boy any- |where.

|Maintaining a software system with multiple moving parts requires a prper
|logging system. Rviewing logs is a huge part of investigative development. If
|something fails at production, having relevant and inforative logs results
|in a quick fix. A competent loging system makes this process mor
|expeditious. One way to achive this is, using the ELK stack, but it could
|be cumbersome. What if we had the comort of tail + grep in a more elegant and
|scalable way. That’s exacty what Grafana Loki is. A highly-available log
|aggregation system to make this possible hrough Grafana. In this article, we
|set up a dockerized Django app and then send its ogs to Loki
|for investigation

Introduction

In this post, we explore various semantic elements in HTML5, including emphasized text, underlined segments, and much more. These elements help add meaning and improve accessibility.

Main Content

Semantic HTML isn’t only about structuring content; it’s also about conveying context. For instance, highlighted text draws attention, and definitions such as HTML explain key terms.

Inline elements like code snippets are useful for examples, while elements like deleted text and inserted text indicate changes.

  • Headings: <h1> to <h6>
  • Paragraphs: <p>
  • Lists: <ul>, <ol>, and <li>
  • Quotations: inline quoted text and block quotes below:

    "The beauty of semantic HTML is that it makes the structure of the document clear and accessible."

    — Web Standards Advocate

Mathematical or chemical formulas might use subscript and superscript to provide clarity.

You might also find abbreviations like e.g. and citations using citation tags.

def fibonacci(n):
a, b = 0, 1
result = []
while len(result) < n:
result.append(a)
a, b = b, a + b
return result

# Example usage:
for num in fibonacci(10):
print(num)

Additional Examples

Example image illustrating semantic HTML
Figure: An image example with caption.
More about semantic HTML

Semantic elements not only define the structure but also provide additional context to both browsers and assistive technologies, improving accessibility and SEO.

Conclusion

Using a variety of semantic elements like strong, em, underline, highlight, code, subscript, superscript, and others contributes to a richer, more accessible web experience. Embrace these tags to improve the clarity and meaning of your content.