Question: Write a Prolog program that stores information about geometric objects. You must construct the geometric objects basing on simpler forms. The objects to construct are:

Write a Prolog program that stores information about geometric objects. You must construct the geometric objects basing on simpler forms. The objects to construct are:

- 2D Point - Segment, can be represented by two 2D Points - Square - Rectangle - Circle

The program must be able to answer the following questions:

English

Prolog

Is this segment parallel to this other line?

parallel(

segment(point2d(x,y), point2d(x,y)),

segment (point2d(x,y), point2d(x,y)))

Is this segment perpendicular to this other line?

perpendicular(

segment (point2d(x,y), point2d(x,y)),

segment (point2d(x,y), point2d(x,y)))

Is this segment contained in this polygon?

contained(

segment(point2d(x,y), point2d(x,y)), circle(point2d(x,y),r))

Is this polygon contained in this other polygon?

contained(

square(point2d(x,y), length), circle(point2d(x,y),r))

Does this polygon intersects this other polygon?

intersects(

square(point2d(x,y), length), circle(point2d(x,y),r))

Is this segment vertical?

vertical(segment (point2d(x,y), point2d(x,y)))

Is this segment horizontal?

horizontal(segment(point2d(x,y), point2d(x,y)))

Is this point on the figure?

on(point2d(x,y), rectangle(point2d(x,y), point2d(x,y)))

Is this point in the figure?

in(point2d(x,y), circle(point2d(x,y),r))

Create at lease these objects:

segment(point2d(5, 4), point2d(5, 5)) segment(point2d(4, 12), point2d(6, 10)) rectangle(point2d(9, 16), point2d(16, 14)) %Upper Left and Lower Right corners rectangle(point2d(3, 6), point2d(10, 3)) %Upper Left and Lower Right corners square(point2d(3, 13), 4) %Upper Left corner and length of side square(point2d(11, 6), 2) %Upper Left corner and length of side circle(point2d(12, 4), 3) %Center, radius point2d(12,2) point2d(4, 13) point2d(20 ,1)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!