Объекты

Тема в разделе "Pascal and Delphi", создана пользователем -, 26 мар 2011.

  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;

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

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    записать уравнения прямой, проходящей через 2 точки, для координат исходного и 2го отрезка и проверить их параллельность, соотв. формулы можно найти в инете)
     
  3. BashOrgRu

    BashOrgRu Well-Known Member

    Регистрация:
    15 мар 2009
    Сообщения:
    78
    Симпатии:
    0
    Пусть (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
     
Загрузка...

Поделиться этой страницей