Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2014, 22:33   #21
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Это не мое дело, мое дело предупредить потенциальную жертву обмана
Arigato вне форума Ответить с цитированием
Старый 25.10.2014, 22:34   #22
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 328
По умолчанию

Оригато опередил
— Двери есть везде. Просто нужно знать, как в них войти.
Foreseen вне форума Ответить с цитированием
Старый 25.10.2014, 22:40   #23
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Arigato Не твоё дело использовать мозг? Да ради бога. Переведённая формула подсчёта площади для затравки
Код:
  for i := 0 to Length(PArray) - 1 do
    begin
      if i = 0 then
       s := s + s + PArray[i].X * (PArray[Length(PArray) - 1].y - PArray[i+1].Y) // PArray: Array of TPoint
      else
       if i = Length(PArray) - 1 then
	     s := s + PArray[i].X*(PArray[i-1].y - PArray[0].y)
      else
       s := s + PArray[i].X*(PArray[i-1].Y - PArray[i+1].Y);
     end;
     s := abs(s/2);

Последний раз редактировалось indexx; 25.10.2014 в 22:42.
indexx вне форума Ответить с цитированием
Старый 25.10.2014, 22:44   #24
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Arigato Указание на использование мозга есть оскорбление? Эвоно как модов плющит.
indexx вне форума Ответить с цитированием
Старый 25.10.2014, 23:14   #25
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Если размерность массива увеличить на 1 и в последнем элементе продублировать координаты первой вершины, то все значительно упростится:
Код:
  s:=0;
  for i := 0 to Length(PArray) - 2 do s:=s+(PArray[i].X+PArray[i+1].X)*(PArray[i].Y-PArray[i+1].Y);
  s := abs(s/2);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.10.2014, 23:18   #26
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Согласен. Причина неоптимизированности, перевод кода из указанного источника "как есть".
Чисто теоретически для саморазвития вопрос на логику. Как перевестись из квадратных пикселей (фу фу фу как не красиво) в более адекватные единицы?

Последний раз редактировалось indexx; 25.10.2014 в 23:21.
indexx вне форума Ответить с цитированием
Старый 25.10.2014, 23:22   #27
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Цитата:
Сообщение от indexx Посмотреть сообщение
Эвоно как модов плющит.
Обсуждение действий модераторов, кроме как в личке и в специализированном разделе форума, запрещено. Лучше расскажите, как вы докатились до роли мошенника и обманщика? Или так туго с программированием, что простые задачки не можете сделать, проще кинуть, да?
Arigato вне форума Ответить с цитированием
Старый 25.10.2014, 23:37   #28
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Как перевестись из квадратных пикселей (фу фу фу как не красиво) в более адекватные единицы
Если 1 пиксель равен k метров то либо сразу пиксели в метры переводить, либо полученную площадь в пикселях умножить на k^2
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.10.2014, 23:47   #29
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Если 1 пиксель равен k метров
Юзать линейку?
indexx вне форума Ответить с цитированием
Старый 25.10.2014, 23:51   #30
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Хотя нафига стремиться к точным размерам? Можно же условно принять 30 пикселей за сантиметр, и на канву кинуть линейку...
indexx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа на паскале, в которой можно нарисовать несколько окружностей произвольного радиуса мышкой в графическом режиме А1иночка Помощь студентам 9 11.04.2012 00:19
Работа с Канвой, Шейпы Arkuz Общие вопросы Delphi 0 17.12.2010 01:58
Работа с канвой Delphi (Математический расчёт) Dancewithevil Помощь студентам 1 20.05.2010 10:13
нарисовать стрелку на делфи studentOne Помощь студентам 7 17.11.2009 07:36
Работа с мышкой Klio Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 03.05.2008 22:37