| 
| 
 | Вопрос # 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 (статус: Посетитель)Вопрос отправлен: 2 декабря 2011, 13:38
 Состояние вопроса: решён, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 22; последнее сообщение — 9 декабря 2011, 10:01; участников в обсуждении: 3. Страницы: [1] [2] [Следующая »]  
|   | min@y™ (статус: Доктор наук), 2 декабря 2011, 13:56 [#1]:Ну, понятно, d - это расстояние между точками (длина отрезка). А чо такое L, x11, x22, y11, y22? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | senyor (статус: Посетитель), 2 декабря 2011, 14:24 [#2]:Ссори не х11 а х1, не у11 а у1 L - лямбда при помощи которой нахожу длину новой точки
 |  
|   | min@y™ (статус: Доктор наук), 2 декабря 2011, 14:38 [#3]:Нарисуй, что ты хочешь получить в итоге (с обозначением точек и расстояний). А то чой-то не въеду. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | senyor (статус: Посетитель), 2 декабря 2011, 15:16 [#4]:не получается добавить рисунок к этому вопросу создам заново вопрос вместе с прикрепленным файлом |  
|   | min@y™ (статус: Доктор наук), 2 декабря 2011, 15:37 [#5]: Цитата (senyor): не получается добавить рисунок к этому вопросу создам заново вопрос вместе с прикрепленным файлом  Зря. Выложил бы куданить на файлопомойку да и всё.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | senyor (статус: Посетитель), 2 декабря 2011, 15:39 [#6]:как это сделать подскажи пож |  
|   | senyor (статус: Посетитель), 2 декабря 2011, 15:41 [#7]:я нарисовал на бумаге и отсканировал |  
|   | senyor (статус: Посетитель), 2 декабря 2011, 15:49 [#8]:как ты вставил изображение в вопросе 5750 |  
|   | min@y™ (статус: Доктор наук), 2 декабря 2011, 15:54 [#9]: Цитата (senyor): как ты вставил изображение в вопросе 5750  У тебя тут таких прав нету. Просто залей на radikal.ru, а ссылку сюда запость.
 
 З.Ы. У меня через 5 минут рабочий день кончается, домой приду - посмотрю.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | senyor (статус: Посетитель), 2 декабря 2011, 15:57 [#10]:iman_yerlan@mail.ru мой адрес скинь свой я тебе закину |  
|   | min@y™ (статус: Доктор наук), 2 декабря 2011, 19:08 [#11]: Цитата (senyor): iman_yerlan@mail.ru мой адрес скинь свой я тебе закину  Оно мне надо?
 Залей на файлопомойку, не хочу светить свой е-мэйл.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | min@y™ (статус: Доктор наук), 5 декабря 2011, 08:19 [#13]:Расстояние, ты пишешь, должно быть одинаковым. А чему оно должно быть равно? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Drinkenz (статус: 1-ый класс), 5 декабря 2011, 11:52 [#14]:Искомая длина отрезка L у него |  
|   | 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 (статус: Посетитель), 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 (статус: Посетитель), 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 (статус: 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.
 Я не смогу тебе помочь.
   |  
|   | senyor (статус: Посетитель), 6 декабря 2011, 07:14 [#19]:Неважно, если по твоей формуле 1-Вариант 5,15 -5 то длина получается 0,15
 
 2-Вариант
 50,02-50 =0,02  - длина линии
 Нужна формула чтобы в обоих вариантах длина линни была одинакова
 |  
|   | senyor (статус: Посетитель), 6 декабря 2011, 13:32 [#20]:Нашел ура. Всем кто помогал спасибо
 
 min@y™ и Drinkenz огромное спасибо
 
 Кому нужна формула обращайтесь
 |  Страницы: [1] [2] [Следующая »]  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |