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.
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.
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
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
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.
