Preparation for joint work, connecting dynamic geometry with proof and construction tools

Descriptive geometry

De Preparation for joint work, connecting dynamic geometry with proof and construction tools
Révision datée du 31 août 2011 à 15:34 par Neuper (discussion | contributions) (→‎Euqivalence of constructions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
Example

This is an example taught in the subject "descriptive geometry" (Darstellende Geometrie) at Austrian high schools and in specific engineering studies.

The problem is: Given a plane <math>\epsilon</math> by the traces <math>s_1, s_2</math> and a point <math>P</math> on <math>\epsilon</math> by projection by <math>P^{\prime\prime}</math>, 
find a point <math>Q</math> with projection <math>Q^\prime</math> in top view and projection <math>Q^{\prime\prime}</math> in front view sucht that <math>Q</math> is on 
the line of steepest descent on <math>\epsilon</math> in a distance of <math>3 {\it units}</math> below <math>P</math>.
Construction

The following construction has <math>A, B, C</math> as free points defining the plain <math>\epsilon</math> by the traces <math>s_1, s_2</math> and <math>P^{\prime\prime}</math> as free point. The other free points <math>E, G, H, I</math> are caused by colouring of the resulting lines <math>d^\prime, d^{\prime\prime}, d^{\prime\prime\prime}</math>.


Prop-descriptive-geo.png

Notation

For a readable description of the construction we propose the following notation

<math>A^\prime, B^{\prime\prime}, P^{\prime\prime},X_1,X_2</math> points in the plane (TODO make consistent using <math\prime</math> in construction)
<math>P</math> point in the 3-dim. space with projections <math>(P^{\prime},P^{\prime\prime})</math>
<math>s_1,s_2,n</math> straight lines
<math>\overline{l\,}</math> length
A^\prime B^\prime|</math> distance between point <math>A^\prime </math> and <math> B^\prime</math> on the plane
<math> A B </math> distance between point <math>A </math> and <math> B</math> in space
<math>\overline{A B}</math> the line through points <math>A, B</math>
<math>P \bot n</math> the line through point <math>P</math> perpendicular to line <math>n</math>
<math>P n</math> the line through point <math>P</math> parallel to line <math>n</math>
<math>n\vdash X^\prime \overline{l\,} +</math> the point on line <math>n</math> with distance <math>\overline{l\,}</math> from point <math>X^\prime</math> in positive <math>+</math>orientation
<math>a \cap b</math> the point intersecting lines <math>a</math> and <math>b</math>
Program

Using these description we give a program below; the program takes the names <math>s_1,s_2, P^{\prime\prime}, \overline{d\,}</math> as arguments together with the respective coordinates and values. The names as arguments are useful for re-using the program as <math>{\it SubProblem}</math>.

The method names the horizontal axis <math>x</math>, the vertical axis <math>y</math> and creates an edge view of plane <math>\epsilon</math> in point <math>P^\prime</math> by <math>{\it SubProblem}({\it Geo},[{\it make},{\it proj}])</math>, which takes trace <math>s_1</math> and <math>P^\prime]</math> as arguments, constructs auxiliary view <math>n</math> and returnes the projection <math>p</math> (in the construction right bottom containing <math>P^{\prime\prime\prime}, Q^{\prime\prime\prime}</math>):

01  Program fallLinie <math>s_1(A(-5,0), B(0,-4))\;\;s_2(A(-5,0), C(0,6))\;\;P^{\prime\prime}(-1,5)</math>
      <math>(\overline{d\,}=3)</math> =
02    let <math>X_1 = {\it Take}\;x \cap \overline{P^{\prime\prime}B};</math>
03        <math>X_2 = {\it Take}\;X_1 || y;</math>
04        <math>P^\prime = {\it Take}\;\overline{X_2 O} \cap (P^{\prime\prime}|| y);</math>
05        <math>p = {\it SubProblem}({\it Geo},[{\it make},{\it proj}],[{\it make},{\it proj}])\;\;[s_1, P^\prime]</math>
06        <math>P^{\prime\prime\prime} = {\it Take}\;(P^\prime \bot n)\cap p ;</math>
07        <math>Q^{\prime\prime\prime} = {\it Take}\;p\vdash P^{\prime\prime\prime}\overline{d\,}- ;</math>
08        <math>Q^\prime = {\it Take}\;(Q^{\prime\prime\prime}\bot n)\cup n ;</math>
09        <math>X_8 = {\it Take}\;(Q^{\prime\prime\prime}\bot n)\cap x ;</math>
10        <math>X_9 = {\it Take}\;s_2\cap (X_8\bot x) ;</math>
11        <math>Q^{\prime\prime} = {\it Take}\;(X_9||x)\cap (Q^\prime\bot x) ;</math>
12    in <math>Q(Q^\prime,Q^{\prime\prime}) </math>


The tactics propagating the construction are Take and Subproblem.

Euqivalence of constructions

The program above shows a nice example for equivalences of constructions probably not yet accompished by ATP:

In lines 02..04 for point <math>P</math> on plane <math>\epsilon</math> the projection <math>P^\prime</math> is constructed from the given projection <math>P^{\prime\prime}</math> by using another point already given on <math>\epsilon</math>, <math>C=O</math>.

In lines 09..11 for point <math>Q</math> on plane <math>\epsilon</math> the projection <math>Q^{\prime\prime}</math> is constructed from the given projection <math>Q^\prime</math> by using the traces of <math>\epsilon</math>.

Another possibility would be to pack the problem for finding the other projection into a <math>{\it SubProblem}</math>, which would have the same postcondition for all methods:

input:         plain <math>\epsilon(s_1,s_2)</math>, point <math>P</math> with projection <math>P^\prime</math>
precondition:  <math>P \in \epsilon(s_1,s_2)</math>, lots of non-degeneracy conditions
output:        point <math>P^{\prime\prime}</math>
postcondition: <math>P(P^\prime,P^{\prime\prime})</math>

The above specification has different formalizations for different ATP-methods (see another example for the Area method). Particularly challenging are the postconditions: The postcondition for the <math>{\it SubProblem}</math> in the above program could be

<math>\forall P.\;P\in\epsilon\Leftrightarrow P^{\prime\prime\prime}\in n</math>