Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 791

/ вопрос решён /

Здравствуйте! Уважаемые эксперты!
Есть формула
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
L:= k/d;
x0 := (x11+L*x22)/(1+L);
y0 := (y11+L*y22)/(1+L);
где х1 и у1 - начальная координата линии
х2 и у2 - конечная координата линии
k - const
эта формула дает мне координаты третей точки на этой линии и у меня новая линия с координатами х1,у1 и х0,у0. Вопрос в том что линий много чем болше линия тем больше получается моя новая линия, а они должны быть все одинаковой длины от координаты х1,у1 до х0,у0.
Помогите кто знает переделать формулу.
С большим уважением!

senyor Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: senyor (статус: Посетитель)
Вопрос отправлен: 2 декабря 2011, 13:38
Состояние вопроса: решён, ответов: 0.


Мини-форум вопроса

Всего сообщений: 22; последнее сообщение — 9 декабря 2011, 10:01; участников в обсуждении: 3.

Страницы: [1] [2] [Следующая »]

min@y™

min@y™ (статус: Доктор наук), 2 декабря 2011, 13:56 [#1]:

Ну, понятно, d - это расстояние между точками (длина отрезка). А чо такое L, x11, x22, y11, y22?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
senyor

senyor (статус: Посетитель), 2 декабря 2011, 14:24 [#2]:

Ссори не х11 а х1, не у11 а у1
L - лямбда при помощи которой нахожу длину новой точки
min@y™

min@y™ (статус: Доктор наук), 2 декабря 2011, 14:38 [#3]:

Нарисуй, что ты хочешь получить в итоге (с обозначением точек и расстояний). А то чой-то не въеду.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
senyor

senyor (статус: Посетитель), 2 декабря 2011, 15:16 [#4]:

не получается добавить рисунок к этому вопросу создам заново вопрос вместе с прикрепленным файлом
min@y™

min@y™ (статус: Доктор наук), 2 декабря 2011, 15:37 [#5]:

Цитата (senyor):

не получается добавить рисунок к этому вопросу создам заново вопрос вместе с прикрепленным файлом

Зря. Выложил бы куданить на файлопомойку да и всё.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
senyor

senyor (статус: Посетитель), 2 декабря 2011, 15:39 [#6]:

как это сделать подскажи пож
senyor

senyor (статус: Посетитель), 2 декабря 2011, 15:41 [#7]:

я нарисовал на бумаге и отсканировал
senyor

senyor (статус: Посетитель), 2 декабря 2011, 15:49 [#8]:

как ты вставил изображение в вопросе 5750
min@y™

min@y™ (статус: Доктор наук), 2 декабря 2011, 15:54 [#9]:

Цитата (senyor):

как ты вставил изображение в вопросе 5750

У тебя тут таких прав нету. Просто залей на radikal.ru, а ссылку сюда запость.

З.Ы. У меня через 5 минут рабочий день кончается, домой приду - посмотрю.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
senyor

senyor (статус: Посетитель), 2 декабря 2011, 15:57 [#10]:

iman_yerlan@mail.ru мой адрес скинь свой я тебе закину
min@y™

min@y™ (статус: Доктор наук), 2 декабря 2011, 19:08 [#11]:

Цитата (senyor):

iman_yerlan@mail.ru мой адрес скинь свой я тебе закину

Оно мне надо?
Залей на файлопомойку, не хочу светить свой е-мэйл.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
senyor

senyor (статус: Посетитель), 3 декабря 2011, 09:03 [#12]:

Закинул вот ссылка
http://s03.radikal.ru/i176/1112/ac/22ae97d5ff53.jpg
min@y™

min@y™ (статус: Доктор наук), 5 декабря 2011, 08:19 [#13]:

Расстояние, ты пишешь, должно быть одинаковым. А чему оно должно быть равно?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Drinkenz

Drinkenz (статус: 1-ый класс), 5 декабря 2011, 11:52 [#14]:

Искомая длина отрезка L у него
Drinkenz

Drinkenz (статус: 1-ый класс), 5 декабря 2011, 12:12 [#15]:

Можно попробовать так например:
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
L:=d/0.6;
if d=0 then begin
  cx:=0;
end
else
begin
  cx:=(x2-x1)/d;
end;
if d=0 then begin
  cy:=0;
end
else 
begin
  cy:=(y2-y1)/d
end;
 
x0:=x1+L*cx;
y0:=y1+L*cy;
senyor

senyor (статус: Посетитель), 5 декабря 2011, 16:05 [#16]:

Учитывая мою формулу, где k - const = 0.6
Если х1=5 у1=5 х2=7 у2=7 то получиться результат приблизительно х0 = 5,22; у0 = 5,22

Если х1=50 у1=50 х2=70 у2=70 то получиться результат приблизительно х0 = 5,24; у0 = 5,24

А нужно чтобы при любых х1,у1; х2,у2; результат получался бы одинаковым. Надо сделать такую формулу т.е во вторм варианте х0 = 5,22 и у0 = 5,22
т.к. координаты х1 = 13275451.93 у1 = 5304308.518
х2 = 13275466.01 у2 = 5304287.43, то сами понимаете разница поолучается большая
как сделать формулу, чтобы при изменении координат длину давала одинаковую
senyor

senyor (статус: Посетитель), 5 декабря 2011, 16:50 [#17]:

Возьми любые х1 у1 х2 у2 посчитав получиться какой-нибудь результат потом возьми теже (х1 у1 х2 у2) * 10 результат получиться отличающийся от первых х1 у1 х2 у2
Нужно чтобы при подстановки любых цифр результат был один и тот же
К примеру
1-Вариант
х1=5 у1=5 х2=7 у2=7 то получиться результат приблизительно х0 = 5,22; у0 = 5,22

2-Вариант
Если х1=50 у1=50 х2=70 у2=70 то получиться результат приблизительно х0 = 5,24; у0 = 5,24 (а нужна формула чтобы и во втором варианте давала бы результат не 5,24 а 5,22)
Drinkenz

Drinkenz (статус: 1-ый класс), 6 декабря 2011, 02:01 [#18]:

1-Вариант 
х1=5 у1=5 х2=7 у2=7 то получиться результат приблизительно х0 = 5,22; у0 = 5,22
по твоей формуле у меня получается 5,35
по моей формуле у меня получается 5,15
2-Вариант
Если х1=50 у1=50 х2=70 у2=70 то получиться результат приблизительно х0 = 5,24; у0 = 5,24
по твоей формуле у меня получается 50,41
по моей формуле у меня получается 50,02.
Я не смогу тебе помочь. :-D
senyor

senyor (статус: Посетитель), 6 декабря 2011, 07:14 [#19]:

Неважно, если по твоей формуле 1-Вариант
5,15 -5 то длина получается 0,15

2-Вариант
50,02-50 =0,02 - длина линии
Нужна формула чтобы в обоих вариантах длина линни была одинакова
senyor

senyor (статус: Посетитель), 6 декабря 2011, 13:32 [#20]:

Нашел ура.
Всем кто помогал спасибо

min@y™ и Drinkenz огромное спасибо

Кому нужна формула обращайтесь

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:35
Выполнено за 0.03 сек.