Введение в .Net

Итак начнем с терминологии.

.Net Framework – платформа для разработки приложений.

Одной из основных идей Microsoft .NET является совместимость различных служб, написанных на разных языках. Т.е. можно писать систему или программный продукт на разных языках программирования(Delphi for .Net, IronPython, C#, VB.Net, C++.Net) и потом собирать вместе так, что все это еще и работать будет :)

Silverlight – платформа для разработки мультимедийных Web-ориентированных приложений, или сайтов.

WPF – Windows Presentation Foundation – универсальная платформа для разработке графического интерфейса (Graphical User Interface)

XAML – Расширяемый язык разметки приложений. Используется как для создания оконных Windows приложений(WPF), также я для Web-ориентированных (Silverlight)

WCF – Windows Communication Foundation, по сути это платформа для создания сетевых распределенных приложений. Новая ступень в развитии Web-служб. Мы можем всю логику нашего клиентского приложения вынести в WCF-службу и без проблем цепляться к ней из WPF Windows приложения, либо Silverlight-сайта.

Utahraptor Head

UtahRaptor
Я подумал, а было бы здорово выкладывать мои творения на блог! Заодно буду наблюдать за своим прогрессом и принимать критику и пожелания. А также советы от тех, кому интересна 3D-графика и творчество!

Utahraptor in design

Utahraptor

Решил испробовать новый способ моделирования по готовой картинке. Плюсы в том, что не надо моделировать по памяти, или смотреть на изображение на бумаге, а можно точно передать размеры животного.

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

Искусственный интеллект (AI)

Что такое Искусственный Интеллект (АИ) робота? Многие говорят автоматизация подобия человека. А что такое Человек?? Чтобы понять это не надо лесть в дебри типа эволюции, это сложные процессы, которые нам пока что не понять. Лучше давайте рассмотрим человека со стороны его развития с младенческих дней до старости.
Ведь все мы знаем, что ребенок у нас рождается беспомощный. Младенец нечего не умеет, зрение его искажено, звуки воспринимаются как шумы, обучается и входит калию жизни общества и живет как Homo sapiens (Человек разумный)
А если младенца оставить одного?? Например, попал ребенок к волкам(как Маугли), его не съели, а приняли его в стаю... Он начал развиваться по их законам, по законам стаи, даже время жизни его становится, как и у волков (мало, сколько не помню)
Значит, эволюция не зависит от общества, на это влияет другое общество. Человек рождается, обучается законам общества, передает знания об обществе новым людям, это цикл жизни. По этому принципу общество развивается и меняется на основе старых законов.
Месяц назад я думал, чем отличается квантовый компьютер от обычных ПК, а задумался я по, потому что видел статью, что у ученых получилось создать какой-то «квантовый процессор» который выводит 1 неопределенный сигнал. И задумался, а зачем он нужен, и вообще как работает квантовый процессор?
Зная, что Мозг - это квантовый процессор, я понял, что этот процессор работает на основе памяти. То есть получает какие-то параметры, а выводит результат, данные о ситуации которые были уже в его «жизни».

Как подключить XML файл к элементу Form Wiew

Сразу скажу: не пытайтесь подключить XML файл к стандартным (Standart) элементам из набора MSVS. Используйте элементы группы Data.
Для начала добавим сам XML файл в проект.



И что-нибудь в нём напишем.

Добавим также страницу на которой хотим видеть наш текст.



Разместим на ней элемент FormWiew


И подключим источник данных (DataSousce)

Выберем XML data source, щёлкнем ОК, выберем файл и укажем путь к данным в XML файле (XPath expression). Так как нужный нам элемент "text" является вложенным в элемент  "items", топуть будет выглядеть так: /items

Теперь добавим в код элемента FormWiew следующий контейнер, указывающий на элемент XML файла.
ItemTemplate>
     
/ItemTemplate>


Теперь запускаем программу и любуемся на результат.


Намного проще чем кажется на первый взгляд.

Drag & Drop объектов в Silverlight

Решил реализовать одну забавную функцию. Drag & Drop используется в игрушках, в настольных приложениях. Везде, где надо что-то и куда-то перемещать :)

Создаем объект, я выбрал Rectangle. Смотрите, что вам ближе.

Далее переходим непосредственно к программированию.

 

public MainPage()
{
    InitializeComponent();    //Инициализация
    this.myrect.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(myrect_MouseLeftButtonDown);   //Добавляем событие на нажатие кнопки мыши
    this.myrect.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(myrect_MouseLeftButtonUp);   //Добавляем событие на тот момент, когда вы отпускаете кнопку мыши
    this.myrect.MouseMove += new System.Windows.Input.MouseEventHandler(myrect_MouseMove);   //Добавляем событие, когда перемещаем объект
}
private Boolean ismyRectMouseCapture = false;    //Нам нужна вспомогательная переменная, чтобы понять, “зацепили” мы или нет наш объект!
private Point clickPosition;   //Вспомогательная переменная для определения положения указателя мыши
private void myrect_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    clickPosition = e.GetPosition(sender as UIElement);   //
    this.myrect.CaptureMouse();
    ismyRectMouseCapture = true;
}

private void myrect_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    this.myrect.ReleaseMouseCapture();
    ismyRectMouseCapture = false;
}

private void myrect_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
{
    if (ismyRectMouseCapture)
    {
        this.myTranslateTransform.X = e.GetPosition(this).X-clickPosition.X-(myrect.Width/2); //Думаю тут все понятно =)
        this.myTranslateTransform.Y = e.GetPosition(this).Y-clickPosition.Y-(myrect.Height/2);
    }
}

Zbrush-динозавр

DinoHead

А иногда я просто рисую. Захотелось сделать вот такое чудо! Может я его и дорисую до всего тела. Но пока мне нравится голова!