Научная работа: Разработка подсистемы визуализации моделей и их модификации

В 1983 г. произошло переименование языка из Си с классами в С++ по соображениям маркетинга. Кроме того, в него были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Его первый коммерческий выпуск состоялся в октябре 1985 г.. В 1985 г. вышло первое издание «Языка программирования С++», обеспечивающее первое описание этого языка, что было чрезвычайно важно из-за отсутствия официального стандарта. В 1989 г. состоялся выход С++ версии 2.0. Его новые возможности включали множественное наследование, абстрактные классы, статические функции-члены, функции-константы и защищённые члены. В 1990 г. вышло «Комментированное справочное руководство по C++», положенное впоследствии в основу стандарта. Последние обновления включали шаблоны, исключения, пространства имён, новые способы приведения типов и булевский тип. Стандартная библиотека С++ также развивалась вместе с ним. Первым добавлением к стандартной библиотеке С++ стали потоки ввода/вывода, обеспечивающие средства для замены традиционных функций Си printf и scanf. Позднее самым значительным развитием стандартной библиотеки стало включение в неё Стандартной библиотеки шаблонов.

После многих лет работы совместный комитет ANSI-ISO стандартизировал С++ в 1998 г. (ISO/IEC 14882:1998). В течение нескольких лет после официального выхода стандарта комитет обрабатывал сообщения об ошибках и в итоге выпустил исправленную версию стандарта С++ в 2003 году.

C++ - компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования. В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения. При создании С++ стремились сохранить совместимость с языком С. Большинство программ на С будут исправно работать и с компилятором С++. С++ имеет синтаксис, основанный на синтаксисе С [4]. Нововведениями С++ в сравнении с Си являются:

- поддержка объектно-ориентированного программирования через классы;

- поддержка обобщённого программирования через шаблоны;

- дополнения к стандартной библиотеке;

- дополнительные типы данных;

- исключения;

- пространства имён;

- встраиваемые функции;

- перегрузка операторов;

- перегрузка имён функций;

- ссылки и операторы управления свободно распределяемой памятью.

3.2. Язык высокого уровня С#

C# - язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков С++, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++) или вывода типов (реализовано в .NET Framework 3.0). C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает FCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR.

Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность будет нарушена с выходом C# 3.0, представляющим собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др [4].


4 ПОСТРОЕНИЯ КРИВОЛИНЕЙНЫХ ПОВЕРХНОСТЕЙ

Существуют два метода построения криволинейных поверхностей: первый это – сплайн Безье, второй – канонические сплайны. Рассмотрим более детально способы построения каждого их них.

4.1 Сплайн Безье

Кривы́е Безье́ были разработаны в 60-х годах XX века независимо друг от друга Пьером Безье (Bézier) из автомобилестроительной компании «Рено» и Полем де Кастелье (de Casteljau) из компании «Ситроен», где применялись для проектирования кузовов автомобилей. Впервые кривые были представлены широкой публике в 1962 году французским инженером Пьером Безье, который, разработав их независимо от де Кастелье, использовал их для компьютерного проектирования автомобильных кузовов. Кривые были названы именем Безье, а именем де Кастелье назван разработанный им рекурсивный способ определения кривых (алгоритм де Кастелье). Впоследствии это открытие стало одним из важнейших инструментов систем автоматизированного проектирования и программ компьютерной графики [1].

Кривая Безье — параметрическая кривая, задаваемая выражением

(1.1)

(1.2)

??? ? ??????? ????????? ???????? ??????? ??????, ? - ???????? ??????? ?????? ?????, ?????????? ????? ?????????? ??????????.

(1.3)

где n — степень полинома, i — порядковый номер опорной вершины.

Сплайны Безье бывают:

(1.4)

1) ???????? ?????? - ??? n = 1 ?????? ???????????? ????? ??????? ?????? ?????, ??????? ????? P0 ? P1 ?????????? ??? ?????? ? ?????. ?????? ???????? ??????????:

К-во Просмотров: 215
Бесплатно скачать Научная работа: Разработка подсистемы визуализации моделей и их модификации