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
Segement, can be represented with two 2D points or one 2D point, a slope, and a length
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 perpendicular?

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

Is this point on the figure?

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

Is this point in the figure?

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

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!