Путь разработчика    

Графические популяции комаров в C#

Пример Имитировать популяции комаров в C# имитирует популяцию комаров. Этот пример рисует график, показывающий популяцию в течение каждого поколения.

Когда он вычисляет совокупности для нового поколения, он сохраняет их в следующих списках.

Python

Следующий код показывает, как программа сохраняет новые значения.

Python

После вычисления каждого поколения программа обновляет свой PictureBox, чтобы сделать следующий обработчик событий Paint графическими данными населения. (Это забавная часть.)

Python

Этот код начинается с очистки PictureBox. Если данные не содержат по меньшей мере двух поколений значений, обработчик событий завершает работу.

Граф рисует кратные 10 поколений за раз. Другими словами, если между 0 и 10 поколениями, программа занимает место на графике для 10 поколений. (За исключением того, что он не рисует что-либо, если их насчитывается менее 2-х поколений.) Если от 11 до 20 поколений данных, он вмещает 20 поколений. Если существует от 21 до 30 поколений данных, это создает пространство для 30 поколений и так далее. Этот подход означает, что программе не нужно изменять размер графика с каждым поколением, что было бы довольно отвлекающим.

Чтобы определить, сколько места ему нужно, программа вычисляет 10 * (1 + (int) ((GenerationNumber - 1) / 10.0)), чтобы определить наименьшее кратное 10 больше или равно к числу поколений данных. Этот расчет вычитает 1 и делит на 10, обрезает до целого числа, добавляет 1 и умножает на 10.

Например, пусть GenerationNumber равно 21. Тогда 21 - 1 = 20. Разделение на 10 и усечение дает 2. Добавление 1 дает 3. Наконец, умножение на 10 дает 30. Это правильно, потому что 30 является наименьшим кратным 10, которое равно по меньшей мере 21.

Для другого примера предположим, что GenerationNumber равно 30. Тогда 30 - 1 = 29. Разделение на 10 и усечение дает 2. Добавление 1 дает 3. Наконец, умножение на 10 дает 30. Это также правильно, потому что 30 является наименьшим кратным 10, которое составляет не менее 30.

После того, как он рассчитал количество поколений, которые он должен отобразить, программа создает преобразование для сопоставления удобной системы координат на PictureBox. Сначала он создает Rectangle, чтобы представить графическую систему координат. Rectangle охватывает область 0 & le; X & lt; num_generations (где num_generations является кратным 10 только что рассчитанных) и 0 & le; Y & lt; PopulationLimit (самая большая разрешенная популяция).

Затем программа создает массив Point для отображения углов Rectangle на PictureBox. Три Точки указывают, где на PictureBox верхний левый верхний правый верхний и нижний левый углы Rectangle должны идти.

Далее код использует Rectangle и Points, чтобы сделать матричную операцию для сопоставления координат и устанавливает Graphics объект Преобразовать в эту Матрицу.

Наконец, код может начать рисовать. Сначала он создает Pen с толщиной 0. Объект Graphics рисует Pen, который имеет толщину толщиной 0, которая может быть нарисована (ширина 1 пиксель), даже если преобразование в противном случае изменило бы ее ширину.

В коде используется цикл для рисования вертикальных линий, показывающих видимые поколения. Затем он просто рисует точки, хранящиеся в списках FemalePoints, RegularMalePoints и ModifiedMalePoints.

Источник: http://csharphelper.com/blog/2016/02/graph-mosquito-populations-in-c/



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Как работать с Raycast в 2D пространстве в Unity 5

В данном уроке мы разберем как работать с Raycast в 2D пространстве в Unity 5. Для этого мы будем использовать библиотеку Physics2d...

24 01 2020 2:59:28

Простой регистратор событий в C#

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

23 01 2020 7:56:42

Как установить максимальное использование памяти для JVM?

Объем памяти, которую может использовать программа Java, зависит от ее среды. Библиотека Java Standard предоставляет следующие методы в классе выполнения....

22 01 2020 3:11:23

Что такое JVM и является ли она независимой от платформы?

Java Virtual Machine (JVM) - это спецификация, предоставляющая среду выполнения, в которой может быть запущен Java-байт-код (файлы .class). JVM - платформа...

21 01 2020 21:54:45

Создайте график для турнира с круговым движением в C#

Нажмите здесь , чтобы просмотреть описание алгоритма, который программа использует для планирования циклического цикла турнир. Функция GenerateRoundRobinOd...

20 01 2020 5:45:11

Использование улучшенного метода расширения для вычисления стандартного отклонения в C#

Пример Вычислить стандартное отклонение в C# использует метод расширения, который вычисляет стандартное отклонение для целых чисел IEnumerable. К сожалению...

19 01 2020 16:34:10

1С:Предприятие. Бухгалтерский учет. Секреты работы (Наталья Рязанцева)

Книга "1 С: Предприятие. Бухгалтерский учет. Секреты работы" посвящена системе программ ведения автоматизированного учета на предприятиях, в организациях и у...

18 01 2020 0:15:46

Бухгалтерский и налоговый учет в 1С:Бухгалтерии 8 (С.Харитонов)

В пособии " Бухгалтерский и налоговый учет в 1 С: Бухгалтерии 8" рассматривается технология ведения бухгалтерского и налогового учета в программе "1 С: Бухгалте...

17 01 2020 13:56:45

Что такое ассоциативный массив? Как мы его используем? JavaScript

Ассоциативный массив - это просто набор пар значений ключа. Когда мы определяем объект, JavaScript автоматически создает массив для этого объекта. Это позв...

16 01 2020 3:21:46

Список всех файлов в папке в Java

Как читать все .txt-файлы в папке Подсчет количества файлов в каталоге с помощью Java Источник: http://net-informations.com/Java/files/folder.htm...

15 01 2020 10:29:28

Загрузка статического и динамического класса в Java

Концепция загрузчика классов, один из краеугольных камней виртуальной машины Java (JVM). В нем описывается поведение преобразования именованного класса в б...

14 01 2020 0:25:22

Чтение и запись объектов в Java

Сериализация - это преобразование объекта в последовательность байтов, чтобы объект можно было легко сохранить в постоянном хранилище или потоковом потоке...

13 01 2020 19:31:55

PHP: обучение на примерах (А. Кухарчик)

Книга предназначена прежде всего для начинающих, но может быть полезна и опытным программистам, использующим Р Н Р. Просто и доступно изложены основы Р Н Р — п...

12 01 2020 9:24:44

Как интерпретируется Python?

Переводчик является своего рода программа , которая выполняет другие программы. Когда вы пишете программы Python , он преобразует исходный код, написанный...

11 01 2020 9:22:44

График уравнения в C#

Этот код начинается с определения границ координат -3 & le; x & le; 3, -3 & le; y & le; 3, где он будет рисовать график. Затем код превращает Bitmap в соот...

10 01 2020 10:44:15

Как разделить строку в C#

В этой статье мы узнаем, как разделить строку на C#. C# Split () обрабатывает разделение на заданные строковые и символьные разделители.  Он возвращает масс...

09 01 2020 8:42:18

1С: Предприятие,Эффективное программирование (Т.Н. Усиков)

Описан встроенный язык программирования пакета «1 С: Предприятие», методы настройки и конфигурирования системы с его помощью. Дополнительно содержит необход...

08 01 2020 20:42:35

Сделать созданный владельцем ListBox в C#

В этом примере показано, как вы можете сделать созданный владельцем ListBox. Обычно ListBox отображает текстовое представление своих объектов, но вы можете...

07 01 2020 20:28:13

LINQ. Карманный справочник (Джозеф Албахари, Бен Албахари)

Справочник посвящен технологии LINQ (Language Integrated Query) — новой функциональной возможности языка C# и платформы .NET Framework, которая позволяет п...

06 01 2020 9:28:42

Математические функции Python

Функции могут делать что угодно, но их основной шаблон использования принимает параметры и возвращаемые значения . Математический модуль предоставляет неко...

05 01 2020 17:49:13

В чем разница между JDK и JRE?

JDK является акронимом для Java Development Kit. Это набор программных компонентов, который используется для разработки приложений на основе Java, включает...

04 01 2020 18:38:50

Легко нарисовать повернутый текст на форме в C#

Пример Нарисовать повернуть текст в C# показывает, как рисовать повернуть текст. К сожалению, этот метод требует, чтобы вы использовали код во время выполн...

03 01 2020 14:16:37

Воспроизведение файлов WAV в C#

Класс System.Media.SoundPlayer позволяет вам легко воспроизводить файлы WAV. В этом примере используется следующий PlayWav метод для воспроизведения файлов...

02 01 2020 8:57:14

Нарисуйте анимированный атом в C#

Когда срабатывает Timer формы, его обработчик события Tick обновляет форму, чтобы принудительно выполнить перерисовку. Обработчик события Paint формы рисуе...

01 01 2020 5:40:15

Функции в JavaScript

Функции - это «автономные» модули кода, которые выполняют определенную задачу. Он содержит инструкции, используемые для создания вывода с его ввода. Чтобы...

31 12 2019 8:11:46


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69