Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Delphi и Lazarus


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Орловский Дмитрий
Статус: Профессор
Рейтинг: 3931
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2651
∙ повысить рейтинг »
Евгений/Genia007/
Статус: Профессионал
Рейтинг: 1212
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Delphi и Lazarus

Номер выпуска:1579
Дата выхода:04.02.2011, 23:00
Администратор рассылки:Калашников О.А. (Руководитель)
Подписчиков / экспертов:265 / 184
Вопросов / ответов:1 / 1

Вопрос № 182051: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: как проверить пересекаются ли вектора в пространстве вот код программы: procedure TForm1.Button1Click(Sender: TObject); var i,j,k:integer; a,b:integer; //центр координат i...



Вопрос № 182051:

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
как проверить пересекаются ли вектора в пространстве вот код программы:

procedure TForm1.Button1Click(Sender: TObject);
var i,j,k:integer;
a,b:integer; //центр координат
ix,iy,jx,jy,kx,ky:integer; {оси}
ax1,ax2,ax3,ax4,by1,by2,by3,by4,cz1,cz2,cz3,cz4:integer;
a_x1,a_x2,a_x3,a_x4,b_y1,b_y2,b_y3,b_y4:integer; //переменные для построения вектора в пространстве
begin
showmessage('введите координаты начала и конца векторов');
a:=203;
b:=203;
ix:=53; iy:=353;
jx:=203; jy:=53;
kx:=353; ky:=203;
Form1.Canvas.Rectangle(3,3,400,400);
form1.Canvas.MoveTo(ix,iy);
form1.Canvas.LineTo(a,b);
form1.Canvas.MoveTo(jx,jy);
form1.Canvas.LineTo(a,b);
form1.Canvas.MoveTo(kx,ky);
form1.Canvas.LineTo(a,b);
{рисуем векторы по оси х берем все в половину меньшее(видимость под углом 45 градусов}
ax1:=strtoint(edit1.Text);
by1:=strtoint(edit2.Text) ;
cz1:=strtoint(edit3.Text);
ax2:=strtoint(edit4.Text);
by2:=strtoint(edit5.Text);
cz2:=strtoint(edit6.Text);
a_x1:=round(a-ax1/2+cz1);
b_y1:=b-by1;
form1.Canvas.MoveTo(a_x1,b_y1);
a_x2:=round(a-ax2/2+cz2);
b_y2:=b-by2;
form1.Canvas.LineTo(a_x2,b_y2);

ax3:=strtoint(edit7.Text);
by3:=strtoint(edit8.Text);
cz3:=strtoint(edit9.Text);
ax4:=strtoint(edit10.Text);
by4:=strtoint(edit11.Text);
cz4:=strtoint(edit12.Text);
a_x3:=round(a-ax3/2+cz3);
b_y3:=b-by3;
form1.Canvas.MoveTo(a_x3,b_y3);
a_x4:=round(a-ax4/2+cz4);
b_y4:=b-by4;
form1.Canvas.LineTo(a_x4,b_y4);

если можно как нибудь усовершенствовать код то напишите как!

Отправлен: 30.01.2011, 22:19
Вопрос задал: Русинов Алексей Игоревич (1-й класс)
Всего ответов: 1
Страница вопроса »


Отвечает Орловский Дмитрий (Профессор) :
Здравствуйте, Русинов Алексей Игоревич!
Посмотрите вариант в прикрепленном файле. Прикрепленный файл: загрузить »

Ответ отправил: Орловский Дмитрий (Профессор)
Ответ отправлен: 31.01.2011, 19:19
Номер ответа: 265669
Россия, Москва
Организация: МИФИ

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 265669 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.



    В избранное