Автор Тема: Точечная модель газов и жидкостей  (Прочитано 1030 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BJIaquMup

  • Местный мудрец
  • *****
  • Сообщений: 48729
  • Страна: ru
  • Рейтинг: +658/-1746
  • Пол: Мужской
  • Oшызденeвший НумерОЛУX
Re: Точечная модель газов и жидкостей
« Ответ #20 : 10 Декабрь 2022, 18:10:52 »
Солнце состоит в основном из водорода, точнее плазмы, гда на один протон приходится один электрон. Это не свинцовая толща. Конечно у образовавшегося в ядре фотона мало шансов вылететь из звезды без существенных изменений. Происходит какое-то многократное переизлучение. Но в любом случае на фотоны и нейтрино приходится существенная часть массы-энергии. То есть, в модели будет как минимум четыре разных типа объектов (ещё ядра и электроны). Тогда как в классическом газе один тип (различия только по массе молекул), в полярной жидкости или ионном кристалле два типа ионов. Очень разные скорости и типы взаимодействий. Может кто-то умеет создавать такие модели, поделился бы опытом. Мне это не под силу.
Чего запутываете?
Происхождение энергии в Солнце = протон протонная реакция. Это "за кадром". Потому что речь идёт просто о распределении газа.
Нейтрино тоже за кадром. Грубо, можно считать. что оно НЕ взаимодействует ни с чем.
Остался фотон.
И чо?
Излучил - поглотился. Это как-то влияет на механичесскую модель? Влияет. Только на поверхности Солнца. Когда он в очередной раз переизлучается и уходит в Коцмас.
Весь этот трёп == запутывание модели.
"Собрание звероящеров постановило не признавать эволюцию".

В.А.Шендерович

Большой Форум

Re: Точечная модель газов и жидкостей
« Ответ #20 : 10 Декабрь 2022, 18:10:52 »
Загрузка...

Оффлайн BJIaquMup

  • Местный мудрец
  • *****
  • Сообщений: 48729
  • Страна: ru
  • Рейтинг: +658/-1746
  • Пол: Мужской
  • Oшызденeвший НумерОЛУX
Re: Точечная модель газов и жидкостей
« Ответ #21 : 10 Декабрь 2022, 18:19:09 »
Наверное у внутренностей звезды мало общего с нейтральным газом. Для смеси азота с кислородом и я написал программку, и скорее всего студенты действительно пишут. Только это совсем не Солнце. Разобраться бы сначала с простыми моделями, вряд ли получится сразу составлять самые сложные.
Слушайте, какая смесь азота с кислородом? При чём здесь это?
Плазма внутри Солнца и есть нейтральный газ. Зачем запутывать программу? К чему это?
Вот и надо разбираться с простой моделью, не запутывая её.

Цитировать
Только это совсем не Солнце.
Козе понятно, что это не Сонцо, а всего лишь программа.
Но если так рассуждать, то надо выкинуть в канализацию ВСЕ модели до одной. Включая и кварковую. Ибо это модель и совсем не досконально точно отражает созданный господом наш мир. Вон видите? Меркулов ею сильно недоволен. Хотя, эта модель живёт в серцах физиков аж с 60-х годов прошлого столетия.
"Собрание звероящеров постановило не признавать эволюцию".

В.А.Шендерович

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
Re: Точечная модель газов и жидкостей
« Ответ #22 : 10 Декабрь 2022, 20:21:33 »
Плазма внутри Солнца и есть нейтральный газ.
Плазма это ни в коем случае не газ. Там могут более связанные состояния ядер с электронами или полная каша, в зависимости от температуры. Температура обязательный параметр, который должен использоваться на модельной сетке.
Включая и кварковую.
Может и нечего выбрасывать, я ещё не видел именно МОДЕЛЬ. Хотя бы на уровне внятных формул или описаний алгоритмов, что и как нужно делать, если авторы ленятся написать готовый код. Есть только самые общие фантазии и данные натурных экспериментов по столкновению частиц, что куда отлетело и с какой массой предположительно встретилось. Но моделирование такого рода предполагает плавные изменения плотностей, точечные образы здесь явно неприменимы. Вот с этим похоже пока туго.

Оффлайн BJIaquMup

  • Местный мудрец
  • *****
  • Сообщений: 48729
  • Страна: ru
  • Рейтинг: +658/-1746
  • Пол: Мужской
  • Oшызденeвший НумерОЛУX
Re: Точечная модель газов и жидкостей
« Ответ #23 : 10 Декабрь 2022, 21:20:03 »
Плазма это ни в коем случае не газ. Там могут более связанные состояния ядер с электронами или полная каша, в зависимости от температуры. Температура обязательный параметр, который должен использоваться на модельной сетке.

А чо это, как не газ? Полная каша. И чо??

Может и нечего выбрасывать, я ещё не видел именно МОДЕЛЬ. Хотя бы на уровне внятных формул или описаний алгоритмов, что и как нужно делать, если авторы ленятся написать готовый код. Есть только самые общие фантазии и данные натурных экспериментов по столкновению частиц, что куда отлетело и с какой массой предположительно встретилось. Но моделирование такого рода предполагает плавные изменения плотностей, точечные образы здесь явно неприменимы. Вот с этим похоже пока туго.
Модель очень проста. Идеальный газ. Если вы не знаете про такой - откройте учебник физики. Там и увидите модель. Внятно, причём.
Далее, на это наслаивается центральное поле сил. (Иначе атомы просто разлетятся). Всё.
Чо вам не понятно-то тут? Какие ещё фантазии? Чо тут неприемлемо? Чо плетёте-то?
"Собрание звероящеров постановило не признавать эволюцию".

В.А.Шендерович

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
Re: Точечная модель газов и жидкостей
« Ответ #24 : 11 Декабрь 2022, 06:20:38 »
В идеальном газе, к которому близок высушенный от паров воды воздух, происходят почти упругие столкновения молекул, практически не взаимодействующих химически между собой, в некотором приближении. В плазме электроны общаются с ядрами совсем по другим принципам, учитывая наличие зарядов и огромную разницу в массе. Это сплошная химия вместо термодинамики. Стоит уменьшить температуру, и в каше появится больше атомов водорода, затем и двухатомных молекул. В любом случае электроны двигаются так быстро, что точечная модель неприменима, нужно моделировать статистические электронные облака или плазму (даже не знаю как, если это плазма) на сеточной основе.

Оффлайн Иван Горемыкин

  • Местный мудрец
  • *****
  • Сообщений: 10402
  • Страна: ru
  • Рейтинг: +15/-30
  • Пришедший с мечом - от меча погибнет!
Re: Точечная модель газов и жидкостей
« Ответ #25 : 17 Декабрь 2022, 16:45:14 »
В идеальном газе, к которому близок высушенный от паров воды воздух, происходят почти упругие столкновения молекул, практически не взаимодействующих химически между собой, в некотором приближении.[size=0px]В плазме электроны общаются с ядрами с[/size]. Это сплошная химия вместо термодинамики. Стоит уменьшить температуру, и в каше появится больше атомов водорода, затем и двухатомных молекул. В любом случае электроны двигаются так быстро, что точечная модель неприменима, нужно моделировать статистические электронные облака или плазму (даже не знаю как, если это плазма) на сеточной основе.
Ну и нагородил ты тут салат.
Читаем:
"[/size]В идеальном газе, к которому близок высушенный от паров воды воздух[size=0px][/size][size=78%]" -[/size][size=0px][/size] воздух - это СМЕНЬ РАЗЛИЧНЫХ ГАЗОВ. [size=0px]
[/size]Читаем дальше :[size=0px]
[/size]"В плазме электроны общаются с ядрами ..." [size=0px]
[/size]В плазме нет ни электронов ни ядер[size=0px]
Думать - это самое лёгкое и приятное из всего на Свете.
           
Цирк уехал, а клоуны - остались!

Я всячески буду отстаивать своё мнение,
даже если оно миллион раз неверное,
но оно
                    МОЁ!

Оффлайн Е.А.Меркулов

  • Местный мудрец
  • *****
  • Сообщений: 4215
  • Страна: ru
  • Рейтинг: +610/-6
  • получи фашист гранату
Re: Точечная модель газов и жидкостей
« Ответ #26 : 18 Декабрь 2022, 00:06:33 »
В плазме нет ни электронов ни ядер
computAI, у вас есть желание что-либо обсуждать с подобным дибилоидом?
Сад камней Борреля все еще живет по международным правилам Оруэлла

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
Re: Точечная модель газов и жидкостей
« Ответ #27 : 19 Декабрь 2022, 08:57:06 »
Я не знаю толком, что есть в плазме. Для начала разобраться бы с сухими газами. Смесь разных молекул газов это тоже газ.

Оффлайн Иван Горемыкин

  • Местный мудрец
  • *****
  • Сообщений: 10402
  • Страна: ru
  • Рейтинг: +15/-30
  • Пришедший с мечом - от меча погибнет!
Re: Точечная модель газов и жидкостей
« Ответ #28 : 19 Декабрь 2022, 10:05:41 »
Цитата: Иван Горемыкин от 17 Декабрь 2022, 16:45:14

    В плазме нет ни электронов ни ядер

computAI, у вас есть желание что-либо обсуждать с подобным дибилоидом?
У тебя ВСЯ СОВЕТСКАЯ НАУКА сплошные дибилоиды и только ты - гений с сифилисом мозга.
Думать - это самое лёгкое и приятное из всего на Свете.
           
Цирк уехал, а клоуны - остались!

Я всячески буду отстаивать своё мнение,
даже если оно миллион раз неверное,
но оно
                    МОЁ!

Оффлайн BJIaquMup

  • Местный мудрец
  • *****
  • Сообщений: 48729
  • Страна: ru
  • Рейтинг: +658/-1746
  • Пол: Мужской
  • Oшызденeвший НумерОЛУX
Re: Точечная модель газов и жидкостей
« Ответ #29 : 19 Декабрь 2022, 13:13:22 »
Я не знаю толком, что есть в плазме. Для начала разобраться бы с сухими газами. Смесь разных молекул газов это тоже газ.
А чо, газы бывают мокрые?
"Собрание звероящеров постановило не признавать эволюцию".

В.А.Шендерович

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
Re: Точечная модель газов и жидкостей
« Ответ #30 : 19 Декабрь 2022, 20:50:49 »
Пары воды существенно влияют на свойства воздуха. Грозовая туча это не облачко аргона от сварки.

Оффлайн Е.А.Меркулов

  • Местный мудрец
  • *****
  • Сообщений: 4215
  • Страна: ru
  • Рейтинг: +610/-6
  • получи фашист гранату
Re: Точечная модель газов и жидкостей
« Ответ #31 : 20 Декабрь 2022, 06:30:56 »
 
Я не знаю толком, что есть в плазме. Для начала разобраться бы с сухими газами.
Насколько мне известно, «с сухими газами» разобрались уже давно.
Модель идеального газа построена уже давно «работает» без каких-либо замечаний. Причем, даже для смеси идеальных газов: в рамках модели парциального давления.
А что касается плазмы, то и здесь незачем наводить тень на всем известный плетень, поскольку плазма – есть тот же самый идеальный газ, но только с частичной ионизацией, означающей, что часть нейтральных «элементов» газа (например, атомов водорода \(  H  \)) «разорвана» на
 положительные ионы (\(  p  \)) и электроны (\(  e^-  \)).
А отношение этих ионов к полному набору «элементов» газа называется степенью ионизации полученной плазмы: \(  i = {p \over p + H }  \). Так что полная (100%) ионизация плазмы означает полное отсутствие в ней нейтральных «элементов»: \(  H  \).
И принципиальное отличие плазмы от газа заключается в том, что столкновение «элементов» газа может приводить (при энергии столкновения более \(  14 \mbox { эВ }  \)) только к разрушению этих самых «элементов» (ионизации газа и, соответственно, превращению его в плазму), а столкновение между собою «элементов» плазмы – только к появлению (рождению) новых элементов.
Например: \(  p + e^- → p + e^- + π^0 \mbox {-мезон }  \)
Если, конечно, энергия столкновения в этом случае будет превышать \(  140 \mbox { МэВ }  \) И потому тема плазмы мне предоставляется более интересной, в сравнении с темой газов:
http://bolshoyforum.com/forum/index.php?topic=618080.msg10253698#msg10253698
Кстати, можете мне подсчитать, до какой скорости следует разогнать электрон для того, чтобы при его ударе по протону можно было бы получить пион?
« Последнее редактирование: 20 Декабрь 2022, 07:06:04 от ЕАМеркулов »
Сад камней Борреля все еще живет по международным правилам Оруэлла

Оффлайн Иван Горемыкин

  • Местный мудрец
  • *****
  • Сообщений: 10402
  • Страна: ru
  • Рейтинг: +15/-30
  • Пришедший с мечом - от меча погибнет!
Re: Точечная модель газов и жидкостей
« Ответ #32 : 20 Декабрь 2022, 16:00:46 »
Пары воды существенно влияют на свойства воздуха.
Пары воды - это часть воздуха.
Думать - это самое лёгкое и приятное из всего на Свете.
           
Цирк уехал, а клоуны - остались!

Я всячески буду отстаивать своё мнение,
даже если оно миллион раз неверное,
но оно
                    МОЁ!

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
Re: Точечная модель газов и жидкостей
« Ответ #33 : 20 Декабрь 2022, 17:30:36 »
до какой скорости следует разогнать электрон для того, чтобы при его ударе по протону можно было бы получить пион?
Не имею понятия о таких делах. Предполагаю, столкновения подобного рода бывают очень разными по результатам.

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
Re: Точечная модель газов и жидкостей
« Ответ #34 : 20 Декабрь 2022, 17:32:55 »
Пары воды - это часть воздуха.
Самая непостоянная и переменчивая. Когда воды много, образуются капельки тумана. Как капли ведут себя при столкновениях с молекулами газов и между собой, это дополнительная сложность при моделировании, пока мне непонятная.

Оффлайн Е.А.Меркулов

  • Местный мудрец
  • *****
  • Сообщений: 4215
  • Страна: ru
  • Рейтинг: +610/-6
  • получи фашист гранату
Re: Точечная модель газов и жидкостей
« Ответ #35 : 21 Декабрь 2022, 06:49:42 »
У тебя ВСЯ СОВЕТСКАЯ НАУКА сплошные дибилоиды
Грустно, братцы, грустно,
Эх, грустно, братцы, жить.
С такими маргиналами,
Приходится тужить:
В плазме нет ни электронов ни ядер
– слова дибилоида, мнящего себя ВСЕЙ СОВЕТСКОЙ НАУКОЙ…
Сад камней Борреля все еще живет по международным правилам Оруэлла

Оффлайн Иван Горемыкин

  • Местный мудрец
  • *****
  • Сообщений: 10402
  • Страна: ru
  • Рейтинг: +15/-30
  • Пришедший с мечом - от меча погибнет!
Re: Точечная модель газов и жидкостей
« Ответ #36 : 21 Декабрь 2022, 10:30:52 »
Цитата: Иван Горемыкин от 17 Декабрь 2022, 16:45:14
В плазме нет ни электронов ни ядер
– слова дибилоида, мнящего себя ВСЕЙ СОВЕТСКОЙ НАУКОЙ…
СлабО пукнул.
Думать - это самое лёгкое и приятное из всего на Свете.
           
Цирк уехал, а клоуны - остались!

Я всячески буду отстаивать своё мнение,
даже если оно миллион раз неверное,
но оно
                    МОЁ!

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
Re: Точечная модель газов и жидкостей
« Ответ #37 : 11 Январь 2023, 13:14:05 »
Скрипт запускается следующим образом (эти строки можно поместить в файл с расширением .htm или .html):

<HTML>
<HEAD>
<script src="gasliq3.txt"></script>
</HEAD>
<BODY>
<noscript style="text-align: center; font-size: 50;">JAVASCRIPT MUST BE TURNED ON</noscript>
<script type="text/javascript">
document.body.style.backgroundColor = "WhiteSmoke";
f_create();
</script>
</BODY>
</HTML>

В файле gasliq3.txt, который должен быть в той же папке, содержится остальной код.

Пояснения к интерфейсу:
Целочисленные width и height определяют ширину и высоту модельного поля в пикселах.
Поля x,y,z minimum и maximum задают границы реального объёма.
Отмеченные чекбоксы x,y,z closed показывают замкнутость пространства отдельно
по каждому измерению (работает не во всех режимах), в замкнутом вместо отталкивания
от "стенок" точка переходит на другую сторону модельного объёма.
Радио переключатели view along показывают, вдоль какой оси пользователь наблюдает
модельный объём, по умолчанию вдоль z, остальные оси всегда направлены вправо и вниз
(используется правая система координат).
Кнопка methods вызывает интерфейс с настройками взаимодействий, скрывается он
при повторном нажатии этой же кнопки или кнопки hide settings на самом интерфейсе.
Следует учитывать, что текстовые поля реально изменяются не после нажатия клавиши enter,
а после клика мышкой в другом месте.
Поле min positive обозначает минимальную положительную величину, допустимую в расчётах,
в частности, для деления, чтобы знаменатель не был равным нулю.
Поле min distance (требует осторожности) показывает на каком расстоянии (или меньшем)
начинают взаимодействовать точки между собой при упругом отталкивании.
Поля force along x,y,z задают дополнительные силы, действующие вдоль каждого измерения,
если например, задать небольшую положительную (скажем, 0.1) вдоль y, то видно
как "атмосфера" оседает вниз. Энергия системы при этом может значительно колебаться.
Величина point size обозначает размеры точки (квадратика) в пикселах.
Целочисленные red, blue points показывают количество точек каждого вида, всего два вида:
красные и синие, различаются только массой, взаимодействуют по одинаковым законам.
Далее идут массы точки (mass) по каждому виду.
Поле velocity mul это множитель для скоростей, задаваемых при создании рандомной модели.
Поле kinetic mul используется при нажатии кнопки mul Ekin, чтобы умножить
кинетическую энергию системы на заданное число, то есть фактически уменьшить
или увеличить скорость движения точек и условную "температуру".
Поле msecs показывает как часто (в миллисекундах) вызывается шаг симуляции.
Поле time step это шаг времени, это величина для использования в расчётах обновления
реальных скоростей и положений точек в системе координат.
Кнопка one step делает один шаг в симуляции.
Кнопка run model запускает регулярно повторяемую симуляцию.
Кнопка pause останавливает исполнение.
Кнопка create создаёт рандомную модель с заданными выше настройками.
Кнопки load и save нужны для загрузки и сохранения модели через текстовое поле
внизу панели управления, в формате "буква цвета" + 3 числа для положений x,y,z
+ 3 числа для скоростей x,y,z, числа разделяются одним или многими white-space
символами, к которым относится пробел, табуляция (горизонтальная),
перевод на новую строку и возврат каретки.
Кнопка 0 impulse обнуляет суммарный импульс системы по всем измерениям,
чтобы не было общего дрейфа точек в какую-то сторону.
Кнопка mul Ekin, как написано выше, использует множитель для кинетической энергии
системы точек, изменяет "температуру".
Кнопка get Ekin получает суммарную кинетическую энергию в поле справа.
Кнопка set Ekin загружает из этого поля кинетическую энергию, с соответствующим
уножением скоростей точек, если это математически возможно.
Кнопка get Epot получает суммарную потенциальную энергию в поле справа.
Кнопка get energy получает суммарную энергию в поле справа.

Интерфейс дополнительной панели настроек (вызывается и скрывается кнопкой methods
или скрывается hide settings):
Радио переключатели выбирают упругое отталкивание, схему Леннарда-Джонса,
Букингэма или Морзе.
Поля Johns Emin и Rmin задают минимум энергии в схеме Леннарда-Джонса
(значение энергии положительное, хотя потом по факту будет отрицательное),
и расстояние, на котором энергия взаимодействия минимальная.
Чекбоксы Johns cut и splines показывают, используется ли "отрезание" потенциала
на больших расстояниях, с нулём на расстоянии 2.5 сигмы, и сплайны для приближения.
Поля Buckingham A,B,C задают коэффициенты для exp-6.
Поля Morse Emin и Rmin задают минимум энергии в схеме Морзе и расстояние,
на котором энергия взаимодействия минимальная.
Morse a(exp) множитель для экспоненты.

Настройки по умолчанию могут быть не лучшими, экспериментируйте.

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
Re: Точечная модель газов и жидкостей
« Ответ #38 : 11 Январь 2023, 13:15:02 »
////// global data
var d_field;
var p_points = null;
var d_xspace = 5,d_xsize = 200,d_yspace = 5,d_ysize = 20;
var d_panel;
var d_width = 600,d_height = 600;
var d_xmin = -1,d_xmax = 1,d_ymin = -1,d_ymax = 1,d_zmin = 0,d_zmax = 0;
var d_xclose = 0,d_yclose = 0,d_zclose = 0;
var d_viewdir = 2;
var d_minpos = 0.000001;
var d_mindist = 0.03;
var d_xforce = 0,d_yforce = 0,d_zforce = 0;
var d_pointsize = 3;
var d_reds = 20,d_blues = 20;
var d_redmass = 1,d_bluemass = 5;
var d_velmul = 0.1;
var d_kinmul = 0.5;
var d_timer;
var d_msecs = 100;
var d_timestep = 0.05;
var d_colldir = 0;
var d_methods;
var d_action = 1;//1=elastic,2=lennard-johns,3=buckingham,4=morse
var d_johnsemin = 0.1;//?
var d_johnsrmin = 0.1;//?
var d_johnscut = 1;
var d_johnssplines = 0;
var d_bucka = 0.01;//?
var d_buckb = 0.01;//?
var d_buckc = 0.01;//?
var d_morseemin = 0.01;//?
var d_morsermin = 0.05;//?
var d_morseexp = 0.01;//?
////// label
function f_label(d_div,d_id,d_text,d_left,d_top)
{
var d_label = document.createElement("div");
d_label.id = d_id;
d_label.innerText = d_text;
d_label.style.left = d_left + "px";
d_label.style.top = d_top + "px";
d_label.style.width = d_xsize + "px";
d_label.style.height = d_ysize + "px";
d_label.style.position = "absolute";
d_label.style.backgroundColor = "whiteSmoke";
d_label.style.color = "black";
d_label.style.FontSize = 16;
d_label.style.textAlign = "center";
d_div.appendChild(d_label);
return;
}
////// halflabel
function f_halflabel(d_div,d_id,d_text,d_left,d_top)
{
var d_label = document.createElement("div");
d_label.id = d_id;
d_label.innerText = d_text;
d_label.style.left = d_left + "px";
d_label.style.top = d_top + "px";
d_label.style.width = (d_xsize / 2) + "px";
d_label.style.height = d_ysize + "px";
d_label.style.position = "absolute";
d_label.style.backgroundColor = "whiteSmoke";
d_label.style.color = "black";
d_label.style.FontSize = 16;
d_label.style.textAlign = "center";
d_div.appendChild(d_label);
return;
}
////// area
function f_area(d_div,d_id,d_text,d_left,d_top)
{
var d_area = document.createElement("textarea");
d_area.id = d_id;
d_area.value = d_text;
d_area.style.left = d_left + "px";
d_area.style.top = d_top + "px";
d_area.style.width = d_xsize + "px";
d_area.style.height = d_ysize + "px";
d_area.style.position = "absolute";
d_area.style.backgroundColor = "white";
d_area.style.color = "black";
d_area.style.FontSize = 16;
d_area.style.textAlign = "left";
d_div.appendChild(d_area);
return d_area;
}
////// halfarea
function f_halfarea(d_div,d_id,d_text,d_left,d_top)
{
var d_area = document.createElement("textarea");
d_area.id = d_id;
d_area.value = d_text;
d_area.style.left = d_left + "px";
d_area.style.top = d_top + "px";
d_area.style.width = (d_xsize / 2) + "px";
d_area.style.height = d_ysize + "px";
d_area.style.position = "absolute";
d_area.style.backgroundColor = "white";
d_area.style.color = "black";
d_area.style.FontSize = 16;
d_area.style.textAlign = "left";
d_div.appendChild(d_area);
return d_area;
}

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
Re: Точечная модель газов и жидкостей
« Ответ #39 : 11 Январь 2023, 13:15:43 »
////// button
function f_button(d_div,d_id,d_text,d_left,d_top)
{
var d_button = document.createElement("button");
d_button.id = d_id;
d_button.innerText = d_text;
d_button.style.left = d_left + "px";
d_button.style.top = d_top + "px";
d_button.style.width = d_xsize + "px";
d_button.style.height = d_ysize + "px";
d_button.style.position = "absolute";
d_button.style.backgroundColor = "whiteSmoke";
d_button.style.color = "black";
d_button.style.FontSize = 16;
d_button.style.textAlign = "center";
d_div.appendChild(d_button);
return d_button;
}
////// halfbutton
function f_halfbutton(d_div,d_id,d_text,d_left,d_top)
{
var d_button = document.createElement("button");
d_button.id = d_id;
d_button.innerText = d_text;
d_button.style.left = d_left + "px";
d_button.style.top = d_top + "px";
d_button.style.width = (d_xsize / 2) + "px";
d_button.style.height = d_ysize + "px";
d_button.style.position = "absolute";
d_button.style.backgroundColor = "whiteSmoke";
d_button.style.color = "black";
d_button.style.FontSize = 16;
d_button.style.textAlign = "center";
d_div.appendChild(d_button);
return d_button;
}
////// check
function f_check(d_div,d_id,d_var,d_left,d_top)
{
var d_check = document.createElement("input");
d_check.type = "checkbox";
d_check.id = d_id;
if(d_var == 0) d_check.checked = false;
else d_check.checked = true;
d_check.style.left = d_left + "px";
d_check.style.top = d_top + "px";
d_check.style.width = d_ysize + "px";
d_check.style.height = d_ysize + "px";
d_check.style.position = "absolute";
d_div.appendChild(d_check);
return d_check;
}
////// radio
function f_radio(d_div,d_id,d_name,d_value,d_var,d_left,d_top)
{
var d_radio = document.createElement("input");
d_radio.type = "radio";
d_radio.id = d_id;
d_radio.name = d_name;
d_radio.value = d_value;
if(d_var == d_value) d_radio.checked = true;
else d_radio.checked = false;
d_radio.style.left = d_left + "px";
d_radio.style.top = d_top + "px";
d_radio.style.width = d_ysize + "px";
d_radio.style.height = d_ysize + "px";
d_radio.style.position = "absolute";
d_div.appendChild(d_radio);
return d_radio;
}
////// width
function f_width()
{
var d_extent,d_left;
var d_new = Number(this.value);
if(Number.isFinite(d_new) != 0)
{//1
if(d_new > 0)
{//2
if(d_new == Math.round(d_new))
{//3
if(d_new == d_width)
return;
d_width = d_new;
d_field.style.width = d_width + "px";
d_panel.style.left = d_width + "px";
if(p_points == null)
return;
var d_div = d_field.firstChild;
var d_point = p_points;
if(d_viewdir == 0) d_extent = d_ymax - d_ymin;//y right,z down
else
{
if(d_viewdir == 1) d_extent = d_zmax - d_zmin;//z right,x down
else d_extent = d_xmax - d_xmin;//d_viewdir = 2,x right,y down
}
for(;;)
{//4
if(d_extent <= d_minpos) d_left = Math.round((d_width / 2) - (d_pointsize / 2));
else
{//5
if(d_viewdir == 0) d_left = Math.round((((d_point.d_sy - d_ymin) / d_extent) * d_width) - (d_pointsize / 2));
else
{
if(d_viewdir == 1) d_left = Math.round((((d_point.d_sz - d_zmin) / d_extent) * d_width) - (d_pointsize / 2));
else d_left = Math.round((((d_point.d_sx - d_xmin) / d_extent) * d_width) - (d_pointsize / 2));
}
}//5
if((d_left + d_pointsize) > d_width) d_left = d_width - d_pointsize;
if(d_left < 0) d_left = 0;
d_div.style.left = d_left + "px";
d_point = d_point.d_nextpoint;
if(d_point == null)
break;
d_div = d_div.nextSibling;
}//4
return;
}//3
}//2
}//1
this.value = d_width;
return;
}
////// height
function f_height()
{
var d_extent,d_top;
var d_new = Number(this.value);
if(Number.isFinite(d_new) != 0)
{//1
if(d_new > 0)
{//2
if(d_new == Math.round(d_new))
{//3
if(d_new == d_height)
return;
d_height = d_new;
d_field.style.height = d_height + "px";
if(p_points == null)
return;
var d_div = d_field.firstChild;
var d_point = p_points;
if(d_viewdir == 0) d_extent = d_zmax - d_zmin;//y right,z down
else
{
if(d_viewdir == 1) d_extent = d_xmax - d_xmin;//z right,x down
else d_extent = d_ymax - d_ymin;//d_viewdir = 2,x right,y down
}
for(;;)
{//4
if(d_extent <= d_minpos) d_top = Math.round((d_height / 2) - (d_pointsize / 2));
else
{//5
if(d_viewdir == 0) d_top = Math.round((((d_point.d_sz - d_zmin) / d_extent) * d_height) - (d_pointsize / 2));
else
{
if(d_viewdir == 1) d_top = Math.round((((d_point.d_sx - d_xmin) / d_extent) * d_height) - (d_pointsize / 2));
else d_top = Math.round((((d_point.d_sy - d_ymin) / d_extent) * d_height) - (d_pointsize / 2));
}
}//5
if((d_top + d_pointsize) > d_height) d_top = d_height - d_pointsize;
if(d_top < 0) d_top = 0;
d_div.style.top = d_top + "px";
d_point = d_point.d_nextpoint;
if(d_point == null)
break;
d_div = d_div.nextSibling;
}//4
return;
}//3
}//2
}//1
this.value = d_height;
return;
}

Большой Форум

Re: Точечная модель газов и жидкостей
« Ответ #39 : 11 Январь 2023, 13:15:43 »
Loading...