Объекты

  • Автор темы Guest
  • Дата начала
G

Guest

#1
Добрый вечер. Помогите пожалуйста, чето я жеско туплю.

Написать модуль, содержащий описание следующего класса (использовать private и public):
Объект - отрезок на плоскости.
Свойства - (Rw) координаты отрезка;
- (Rw) длина отрезка;
- (Ro) пересечение с одной из осей координат (boolean).

ла ла ла, описала:

type
TMyEvent=procedure(Sender:TObject;OldP,OldQ:longint) of Object;
TVector=class
private
fx1, fx2, fy1, fy2: real;
fOnChange:TNotifyEvent;
fOnZero: TMyEvent;
function GetLen: real;
procedure SetLen(const Value: real);
procedure SetVector(ax1,ax2,ay1,ay2: real);
procedure Perenos;
function Parallel(b : TVector): boolean;
function GetKoor: boolean;
published
constructor Create (aName:string);
property x1: real read fx1 write Setx1;
property x2: real read fx2 write Setx2;
property y1: real read fy1 write Sety1;
property y2: real read fy2 write Sety2;
property Len: real read GetLen write SetLen;
property Peresech: boolean read GetKoor;

- проверить на параллельность с другим отрезком - как это реализовать? =(
 

hosm

* so what *
18.05.2009
2 442
6
#2
- проверить на параллельность с другим отрезком - как это реализовать? =(
записать уравнения прямой, проходящей через 2 точки, для координат исходного и 2го отрезка и проверить их параллельность, соотв. формулы можно найти в инете)
 

BashOrgRu

Well-known member
15.03.2009
77
0
#3
Пусть (x1,y1) и (x2,y2) точки прямой, тогда общее уравнение записывается в виде (y1-y2)x+(x2-x1)y+(x1*y2-x2*y1)=0 и две прямые вида( A(1,2)x+B(1,2)y+C(1,2)=0) параллельны, если A1*B2-A2*B1=0
|=> Пусть для прямой 1 две точки: (x1,y1);(x2,y2), для прямой 2: (x3,y3);(x4,y4). Параллельны, если (y1-y2)*(x4-x3)-(y3-y4)*(x2-x1)=0