Inductive definitions for discrete plane geometry.
Jean Duprat* Laurent Vuillon**
*Lip, ENS-Lyon **Lama, Université de Savoie.
Inductive definitions for discrete plane geometry. Jean Duprat* - - PowerPoint PPT Presentation
Inductive definitions for discrete plane geometry. Jean Duprat* Laurent Vuillon** *Lip, ENS-Lyon **Lama, Universit de Savoie. The discrete plane like Z 2 . Each pixel is defined by its coordinates (x,y). A line is defined by an
Jean Duprat* Laurent Vuillon**
*Lip, ENS-Lyon **Lama, Université de Savoie.
Each pixel is
A line is defined by
20 ≤ 5y-3x ≤ 24
Intrinsic
Now :
strict first quadrant
only positive slope
Inductive definition :
u> is a DV, if v> is a DV then
if v> is a DV then
Symmetry π :
π(u>)= u>, π(N(v>))=D(π(v>)), π(D(v>))=N(π(v>)).
u> v> Nv> Dv> v>
v> is a DV and α a
Over-notations :
we identify v> and 1.v>, we note π(α.v>) the
vector α.(π(v>)),
we extend the
constructors N and D by :
Nαv>=αNv>, Dαv>=αDv>.
1v> 3v>
The coordinates of the vector v> is the couple of integers computed by :
the coordinates of u> are (1,1),
if the coordinates of v> are (x,y) then
the coordinates of Nv> are
(x+y,y),
the coordinates of Dv> are
(x,x+y),
the coordinates of αv> are
(αx,αy).
(1,1) (5,3) (8,3) (5,8) (15,9)
There is a bijection ε
ε : v> -> A. U=ε(u>).
hα : A -> B.
if A = ε(β.v>) then B = ε((αβ).v>), (we note B=αA)
n : A -> B.
if A = ε(α.v>) then B = ε(α.N(v>)), (we note B=nA)
d : A -> B.
if A = ε(α.v>) then B = ε(α.D(v>)), (we note B=dA)
p : A -> B.
if A=ε(v>) then B = ε(π(v>)), (we note B=pA). A 3A nA dA pA
For each point A, there exist a non null integer α, an integer m and two sequences of integers x0, x1, …, xm and y0, y1, …, ym which are not null when they exist except eventually x0 and ym such that :
Example :
A = dnd2n2U.
A = nx0dy0nx1dy1 KnxmdymU
U nnU ddnnU nddnnU dnddnnU
Given v> a vector,
if v>=αNx0Dy0Nx1Dy
1…NxmDymu>
then B=αnx0dy0nx1dy
1…nxmdymA.
We note B = v>A.
Example :
A = dn2U, v> = dndu>, B = v>A.
U A=dnnU B=dndA
X : P -> nat
X(U)=1,
X(nA)=X(A)+X(pA),
X(dA)=X(A),
X(αA)=αX(A).
Y : P -> nat
Y(U)=1,
Y(nA)=Y(A),
Y(dA)=Y(A)+Y(pA),
Y(αA)=αY(A).
Fast computation :
X(nαA)=X(A)+αX(pA).
Y(dαA)=Y(A)+αY(pA).
Example :
X(dnd2n2U) = X(nd2n2U) = X(d2n2U) + X(n2d2U) = X(n2U) + X(nd2U) + X(dn2U) = X(nU) + X(dU) + X(d2U) + X(n2U) + X(n2U) = X(U) + X(U) + X(U) + X(dU) + X(nU) + X(dU) + X(nU) + X(dU) = 3 + X(U) + X(U) + X(U) + X(U) + X(U) + X(U) + X(U) = 10.
Y(dnd2n2U) = Y(nd2n2U) + Y(dn2d2U) = Y(d2n2U) + Y(n2d2U) + Y(d2n2U) = Y(n2U) + 2Y(d2U) + Y(d2U) + Y(n2U) + 2Y(d2U) = 2Y(U) + 5(Y(U) + 2Y(U)) = 2 + 15 = 17.
We call generators
Gdd = {αU}, Ghα = {A | Y(A) = α}, Gvα = {A | X(A) = α}.
Examples :
Gdd, Gh4, Gv7.
Gdd Gh4 Gv7
A line L is defined by a directing vector v> and a generator G :
if G = Gdd then L = {v>A | A ∈ Gdd} noted <v>,Gdd>,
if G = Ghα then L = {v>dA | A ∈ Ghα} noted <v>,Ghα>,
if G = Gvα then L = {v>nA | A ∈ Gvα} noted <v>,Gvα>.
Example :
L = <DNu>, Gh4>. Gh4 L
A bundle of lines is built with lines having the same directing vector v> and consecutives generators :
{<v>,Ghα}i≤α≤j,
{<v>,Gdd}∪{<v>,Ghα} 0≤α≤j,
{<v>,Gvα} 0≤α≤j ∪{<v>,Gdd}∪ {<v>,Ghβ} 0≤β≤j,
{<v>,Gvα} 0≤α≤j ∪{<v>,Gdd},
{<v>,Gvα} i≤α≤j.
The width of a bundle is the number of generators.
Example :
{<DNu>, Ghα} 2≤α≤4. Gh4 Gh3 Gh2
A bundle of directing vector v> is
connected by vertex if the width is greater or equal to max(x,y) where (x,y) are the coordinates of v>,
connected by edge if the width is greater or equal to x+y where (x,y) are the coordinates of v>.
Example :
{<DNu>,Gdd} ∪
{<DNu>, Ghα}1≤α≤4.
A point A belongs to a line L = <v>,G> if there exists a point B such
if G = Gdd then A = v>B and B = αU,
if G=Ghα then A = v>dB and Y(B) = α,
if G = Gvα then A = v>nB and X(C) = α.
Example :
A = dnd2n2U belongs to L = <DNu>,Gh4> since A = DNu>dB with B = dn2U.
Gh4 L A=dndB B=dnnU
There are a finite
The directing vectors of
A = nx0dy0nx1dy1 KnxmdymU
Example :
A=dnd2n2U belongs to :
L1=<u>, Gh7>, L2=<Du>, Gv3>, L3=<DNu>, Gh4>, L4=<DNDu>, Gh1>, L5=<DND2u>, Gv2>, L6=<DND2Nu>, Gv1>, L7=<DND2N2u>, Gdd>.
Gh7 L A=dB B=nddnnU Gh4 L A=dndB B=dnnU Gh1 L A=dnddB B=nnU L A=dnB B=ddnnU Gv3 L A=dnddnB B=nU Gv2 L A=dnddnnB B=U Gv1 L A=dndB B=U Gdd
How to extend such a study to the whole plane ? How to extend the definition of lines to the negative
Does it exists a better definition of generators ? With such a representation of vectors, does it exist a