Author: Laurence D. Finston
This copyright notice applies to the text and source code of this web site, and the graphics that appear on it. The software described in this text has its own copyright notice and license, which can be found in the distribution itself.
Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 The Free Software Foundation, Inc.
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of this license is included in the file COPYING.TXT
Last updated: April 29, 2006
Top | |
Introduction | |
Related_Cuboids | |
Classifying Points with Respect to an Ellipsoid | |
Intersections | |
Ellipsoid–Linear Path | |
Ellipsoid–Plane | |
Contact |
2005.10.31.
I've now added the data type ellipsoid to the 3DLDF language.
It corresponds to the type class Ellipsoid in the C++ code.
2005.12.07.
I've now added parser rules and functions for finding the
enclosing cuboid of an ellipsoid, i.e., the smallest
cuboid that contains the ellipsoid.
Finding the inscribed cuboid of an ellipsoid, i.e., the
largest cuboid that fits into an ellipsoid, is more
difficult. I don't yet know how to do this.
The 3DLDF code for generating the following four images is in elpsd_02.ldf.
Perspective Projection
Parallel Projection, X-Z Plane
Parallel Projection, X-Y Plane
Parallel Projection, Z-Y Plane
points
can be classified according
to their position with respect to a
ellipsoid
by using the location
operator:
ellipsoid E; set E with_center origin with_axis_x 24 with_axis_y 16 with_axis_z 10 with_divisions_x 8 with_divisions_y 8 with_divisions_z 2 with_point_count 64; point p[]; p0 := (1, 2, 1); %% Inside. p1 := (4, 9, 0); %% Outside. ellipse e; e := get_ellipse 3 E; p2 := get_point 60 e; %% On the surface. message "p0 location E:"; show p0 location E; message "p1 location E:"; show p1 location E; message "p2 location E:"; show p2 location E;
location
returns one of the following numerical values:
0: | The point
lies on the surface of the ellipsoid .
| |
1: | The point
lies within the ellipsoid .
| |
-1: | The point
lies outside the ellipsoid .
| |
INVALID_NUMERIC :
| An error occurred. |
In the following image, p0 lies inside the
ellipsoid
,
p1 outside it, and
p2 on its surface.
The complete 3DLDF code for generating this image can be
found in elpsd_06.ldf.
2005.12.09.
The following four images illustrate the intersections of an
Ellipsoid
and a linear
Path
.
The 3DLDF code for generating these images is in
elpsd_13.ldf.
2005.12.15.
The routine for finding the ellipse that represents the
intersection of an ellipsoid and a plane.
The 3DLDF code for generating the following four images is in elpsd_17.ldf.
Parallel Projection, X-Z Plane
Parallel Projection, X-Y Plane
Parallel Projection, Z-Y Plane