Форум программистов, компьютерный форум, киберфорум
Hrethgir
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Код системы условий (логической системы), FPC.

Запись от Hrethgir размещена 18.08.2015 в 16:30
Показов 4997 Комментарии 6

Процедура проверяюща направление размещения вершин треугольника (по часовой, или против, стрелки), начало координат - вершина номер один.
[PASCAL] procedure Ordering;
//type TValueSign = -1..1;
var
procinstruction: integer;
rezultat,rezultat1:extended;
arrproccond: arr;
napravleniesumm,napravlen:boolean;
// function Sign(
// const AValue: Extended
// ):TValueSign; overload;
// begin
//end;
procedure turn;//поворот
var
x2,x3,y2,y3:extended;
begin
SurfaceList := ASurfaceList[copyTimeBoxMaxY.IDsurface];
x3:=SurfaceList.x[2];
y3:=SurfaceList.y[2];
x2:=SurfaceList.x[3];
y2:=SurfaceList.y[3];
SurfaceList.x[2]:=x2;
SurfaceList.y[2]:=y2;
SurfaceList.x[3]:=x3;
SurfaceList.y[3]:=y3;
ASurfaceList[copyTimeBoxMaxY.IDsurface]:=SurfaceList;
end;
procedure smenanapravlenia;/////////////////////////////////////////////процедура с параметром, надо сделать так
begin
napravleniesumm:=not(napravleniesumm);
end;
procedure napravlenie;/////////////////////////////////////////////////////////////////////////////////////////////////////////
begin
napravlen:=true;
napravlen:=napravlen=napravleniesumm;
raise Exception.Create('napravlenie');
end;

procedure line;
begin
raise Exception.Create('line');
end;
procedure condition;//сравнение
begin
if rezultat=0 then ///////////////
begin
arrproccond[procinstruction];
procinstruction:=procinstruction+1;
end;
end;
procedure sistemscondition;
begin
try
napravleniesumm:=true;
procinstruction:=0;
rezultat1:=SurfaceList.x[3]/SurfaceList.y[3]-SurfaceList.x[2]/SurfaceList.y[2];
rezultat:=rezultat1;
condition;
rezultat:=SurfaceList.y[3] - abs(SurfaceList.y[3]);
condition;
procinstruction:=procinstruction-1;
rezultat:=SurfaceList.y[2] - abs(SurfaceList.y[2]);
condition;
rezultat:=rezultat1-abs(rezultat1);
condition;
arrproccond[3];
except
end;
end;

begin
arrproccond[0]:=@line;
arrproccond[1]:=@smenanapravlenia;
arrproccond[2]:=@napravlenie;
arrproccond[3]:=@turn;
sistemscondition;
end; [/PASCAL]



этот расчёт нужен только при неочевидном направлении последовательности вершин - когда треугольник лежит в одной области или в областях противоположных через начало отсчёта сетки.
если разбить сетку координат на четыре области, то эта формула работает только когда области противоположны от начала координат или треугольник лежит в одной области, если они противоположны через ось - очевидное направление вершин треугольника.

А так да - изначально формула одним своим видом мозг выносит:D [CODE]rezultat1:=SurfaceList.x[3]/SurfaceList.y[3]-SurfaceList.x[2]/SurfaceList.y[2];[/CODE]


Впереди, это непростое написание простой программы "генератора карты высот и G-кода, ещё одна интересная процедура с тем-же стилем программирования, но другой логикой.
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 6
Комментарии
  1. Старый комментарий
    Исправил ошибки.
    Запись от Hrethgir размещена 21.08.2015 в 15:43 Hrethgir вне форума
  2. Старый комментарий
    Код с перспективой на молекулярные компьютеры.
    Запись от Hrethgir размещена 18.09.2016 в 10:04 Hrethgir вне форума
  3. Старый комментарий
    Аватар для Nikto
    Цитата Сообщение от Hretgir
    Код с перспективой на молекулярные компьютеры.
    А в чём перспектива?
    Запись от Nikto размещена 18.09.2016 в 10:15 Nikto вне форума
  4. Старый комментарий
    [QUOTE=Nikto;bt15439]А в чём перспектива?[/QUOTE]
    перспектива в том, что никто не станет делать молекулярные компьютеры под толмуты "если"-программистов :), программа - механизм. перспектива в том, что вот такой стиль программирования реализуем на молекулярных компьютерах, и под всякое бла-бла не сделают молекулярных компьютеров, если ты хочешь писать код актуальность которого "день", никто конечно не против :). но вообще замут зашёл с небольшого спора с студентами и одним экспертом, они что-то говорили о том, что это не реализуемо (допускаю что эксперт просто не понял того, о чём я говорю).
    Запись от Hrethgir размещена 28.10.2016 в 19:01 Hrethgir вне форума
  5. Старый комментарий
    Начал читать литературу по программированию шейдеров, и тут полез в фракталы, и вот с мнимым мне как-то сомнительна рациональность. Читаю свой метод, который придумал не взяв в внимание сложные рекомендуемые, и вот вспоминаю - как это я вывернул так себе извилины, что делил [B]X[/B] на [B]Y[/B] :D, но способ-то реальный, сетую что комменты не оставил, читаю код и вспоминаю. Нужно восстановить цепочку ту рассуждений... что-то мне в фракталах не понравилось...

    Пять лет назад... много советчиков было, но такой бутер академический - не для меня, я люблю последовательность рассуждений, а не процесс диктовки.
    Запись от Hrethgir размещена 30.08.2020 в 21:14 Hrethgir вне форума
  6. Старый комментарий
    этот расчёт нужен только при неочевидном направлении последовательности вершин - когда треугольник лежит в одной области или в областях противоположных через начало отсчёта сетки.
    если разбить сетку координат на четыре области, то эта формула работает только когда области противоположны от начала координат или треугольник лежит в одной области, если они противоположны через ось - очевидное направление вершин треугольника.
    Сорь что только через пять лет я дал пояснение, и то убогое. Но я вспомнил...теперь про фракталы читать надо, чего-то там замудрёно как-то.
    А так да - изначально формула одним своим видом мозг выносит:D [CODE]rezultat1:=SurfaceList.x[3]/SurfaceList.y[3]-SurfaceList.x[2]/SurfaceList.y[2];[/CODE]
    икс разделить на игрик у одной вершины, а потом ещё из этого вычесть такое-же другой вершины, чекануться можно :D, кажется что вообще никакой логики нету и быть не может в принципе :D...но сцуко она есть, просто не все так могут мозг вывернуть :D
    блин всё, почему мне такой код достается что к каждой строке надо комментарии писать сцуко, и ведь это реально рационально - без косинусов и синусов, мне предлагали с ними формулы, а зачем они в такой простой задаче...они хавают быстродействие машины. ясен красен что быстродействием из-за одного треугольника не задастся, а когда их мла миллионы...
    Запись от Hrethgir размещена 30.08.2020 в 22:41 Hrethgir вне форума
 
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru