31 lines
549 B
Plaintext
31 lines
549 B
Plaintext
|
|
||
|
/* Ellipses are defined by centre and semi-axes */
|
||
|
|
||
|
:- object(ellipse(_Center, _A, _B)).
|
||
|
|
||
|
|
||
|
:- info([
|
||
|
authors is 'Paulo Moura',
|
||
|
version is 1.0,
|
||
|
date is 2000/4/22,
|
||
|
comment is 'Parametric object for representing geometric ellipses.',
|
||
|
parnames is ['Center', 'Rx', 'Ry'],
|
||
|
source is 'Example adopted from the POEM system by Ben Staveley-Taylor.']).
|
||
|
|
||
|
|
||
|
:- public(area/1).
|
||
|
:- mode(area(-number), one).
|
||
|
|
||
|
|
||
|
area(Area) :-
|
||
|
pi(Pi),
|
||
|
parameter(2, A),
|
||
|
parameter(3, B),
|
||
|
Area is Pi*A*B.
|
||
|
|
||
|
|
||
|
pi(3.14196).
|
||
|
|
||
|
|
||
|
:- end_object.
|