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
Get step-by-step solutions from verified subject matter experts
