대략 보면 뭐하는 녀석이구나 집작은 모두 하시겠지만, 설명을 하자면.. 마우스를 올려놓았을 때 해당 부분의 일정 영역이 뿌옇게 되고 회전한뒤 원상복귀 되는 내용입니다. 실제 Application에 이러한 기능을 구현해서 사용할지는 의문이지만, Interactive Design과 같은 분야에서는 응용가능 한 예제라 생각됩니다.
아래는 전체 소스코드입니다.
<WINDOW title="WPF KOREA" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x:Class="Rotation.Window1" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="300" Width="300">
<GRID>
<GRID.RESOURCES>
<IMAGEBRUSH x:Key="WonderGirls" ImageSource="WonderGirls.jpg" />
<STYLE TargetType="Rectangle">
<Setter Property="Width" Value="200"/>
<Setter Property="Height" Value="200"/>
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="Fill" Value="{StaticResource WonderGirls}"/>
<Setter Property="RenderTransform">
<Setter.Value>
<RotateTransform/>
</Setter.Value>
</Setter>
<Setter Property="BitmapEffect">
<Setter.Value>
<BlurBitmapEffect Radius="0"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<EventTrigger RoutedEvent="Rectangle.MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard >
<DoubleAnimation To="360" FillBehavior="Stop"
AccelerationRatio="0.2"
Storyboard.TargetProperty="(Rectangle.RenderTransform).(RotateTransform.Angle)"/>
<DoubleAnimation To="5" FillBehavior="Stop"
AutoReverse="True" Duration="0:0:0.5"
Storyboard.TargetProperty="(Rectangle.BitmapEffect).(BlurBitmapEffect.Radius)"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</STYLE>
</GRID.RESOURCES>
<RECTANGLE>
<RECTANGLE.CLIP>
<ELLIPSEGEOMETRY Center="100 100" RadiusX="100" RadiusY="100" />
</RECTANGLE.CLIP>
</RECTANGLE>
<RECTANGLE>
<RECTANGLE.CLIP>
<ELLIPSEGEOMETRY Center="100 100" RadiusX="75" RadiusY="75" />
</RECTANGLE.CLIP>
</RECTANGLE>
<RECTANGLE>
<RECTANGLE.CLIP>
<ELLIPSEGEOMETRY Center="100 100" RadiusX="50" RadiusY="50" />
</RECTANGLE.CLIP>
</RECTANGLE>
<RECTANGLE>
<RECTANGLE.CLIP>
<ELLIPSEGEOMETRY Center="100 100" RadiusX="25" RadiusY="25" />
</RECTANGLE.CLIP>
</RECTANGLE>
</GRID>
</WINDOW>
소스상에 특별히 어려운 부분이 없으므로 설명은 생략 하도록 하고, 질문 있으신분은 리플로 말씀해주시기 바랍니다. 추가로 이번 코드는 이전에 DockBar만들기(http://whatisthat.co.kr/71) 라는 주제로 다루어 진 내용이 많이 포함되어 함께 참고 하시면 좋을것 같습니다.
안녕하세요. 수원 멤버십 18-2기 최동혁입니다.
이번에 주제없는 시그~ 각자 맘대로 하는 시그.. -_-aaa
아하하하.. 하드웨어 쪽으로 하고 팠는데 밀렸군요.
그래서 전부터 관심이 있었던 것중의 하나인 MSRDS에 관해 하려 합니다.
저도 처음부터 다시 하는 터라 모르는게 많으니.. 잘 봐주세요 ㅠㅠ
아래의 내용은 MSRDS가 무엇인지 왜 나왔는지에 대해 간단히 설명이 된 MSRDS공식 카페의 자료... 입니다... 무단으로 퍼온건가..... ㅠㅠ
로보틱스 스튜디오는 MS에서 2006년 말에 새롭게 출시한 로봇 애플리케이션 개발 툴입니다.
이제는 로봇 S/W 개발 시대입니다. 로봇 S/W 개발은 더이상 로봇 전문 분야의 개발자들에게만 국한된 영역이 아니라 일반 S/W 개발자 모두가 참여할 수 있는 애플리케이션 개발의 한 형태로서 발전하고 있습니다.
로봇 S/W 개발을 어렵게 생각하지 마시고 이제 한번 새롭게 시작해 보시기 바랍니다.
MS의 로보틱스 스튜디오 (이하 MSRS)에서는 기본적으로는 별도의 프로그래밍 언어를 습득하지 않아도 쉽게 로봇 애플리케이션을 개발할 수 있도록 VPL(Visual Programming Language) 이라는 새로운 툴을 제공하며, 고급 개발자들의 경우 C#을 이용하여, 다양한 형태의 서비스들이나 시뮬레이션 프로그래밍을 할 수 있도록 지원합니다.
두개의 숫자를 더하는 VPL 구현 예
시뮬레이션 상에서 지원되는 레고 NXT 로봇
시뮬레이션 상에서 지원되는 Pioneer 로봇
MS 로봇틱스 스튜디오(MSRS)에서의 프로그래밍 과정은 크게 아래 3가지로 나눌 수 있습니다.
- 이미 개발되어 있는 서비스들을 이용하여 애클리케이션 개발하기 - VPL을 이용하여 애플리케이션 개발 (초급 과정)
- C#으로 서비스 개발하기 - VPL에서 사용될 수 있는 기본 서비스들을 개발하거나 VPL 없이 애플리케이션을 직접 개발
- DSS나 CCR에 대한 개념을 적용하여 서비스를 개발함
- 시뮬레이션 프로그래밍 - C#을 이용하여, 직접 시뮬레이션 로봇을 제어하거나 시뮬레이션 로봇을 제작
MSRS를 처음 시작하시는 개발자 분들은 처음에는 VPL을 통해 간단히 애플리케이션들을 개발해 보거나 실행시켜 보는 과정을 통해 MSRS의 단계적으로 이해해 나가는 것이 필요하며, 점차 C#을 이용해 개발자 여러분이 스스로 서비스들을 만들어 보는 단계로 나아가면 될 것 같습니다.
그리고 MSRS의 가장 큰 특징은 하드웨어 로봇이 없이도 로봇 애플리케이션 개발이 가능하다는 것인데, 여러분이 직접 시뮬레이션 로봇을 만들어 볼 수 있습니다. 여러 분이 직접 만들 수 있는 로봇의 형태는 아래와 같습니다.
- 일반적인 바퀴달린 로봇
- 4족 로봇 또는 6족 로봇
- 기차 또는 자동차
- 인공위성 또는 잠수함
- 로봇 팔과 다리 (로봇 관절)
- 홈 로봇
MSRS는 일반 게임 개발에 사용되는 Ageia 사의 PhysX 엔진을 제공하기 때문에, 여러 분들이 손쉽게 게임과 같은 형태의 재미있는 로봇 애플리케이션들을 만들 수 있습니다.
조이스틱이나 헨들, XBox 컨트롤들이 자동으로 연결되기 때문에 로봇을 조종하는 애플리케이션도 별다른 작업 없이 손쉽게 개발할 수 있습니다.
또한 MSRS에서는 고급 개발자를 위하여 비젼처리 또는 음성인식 샘플을 제공하여, 이러한 지능형 서비스를 이용하여, 자율주행과 같은 고급 로봇 제어 기능들을 쉽게 구현할 수 있습니다.
이 외에도 한글 TTS 기능이 제공됨에 따라, 오늘의 날씨를 읽어주거나 뉴스를 읽어 주는 서비스를 손쉽게 구현할 수 있습니다.
MSRDS 공식 카페 : http://cafe.naver.com/msrskorea.cafe
앞으로 포스팅은 VPL을 기준으로 하나하나 기본부터 해나갈 듯 합니다.
왜냐? 저.. C#이 뭔지 몰라요~~ -ㅁ-;
아하하.. 물론 C#공부는 따로 해보렵니다 ㅋ.
그럼 다음에 또 뵐께요~
안녕하세요? 수원 멤버십 17기 차주민입니다.
OB로서 현역(?)일 때에도 참여하지 않았던 시그를 참여하게 되어서 무척이나 기쁘지만 첫 포스팅이 이딴(?) 글이 되어서 상당히 죄송스럽게 생각합니다. ㅜㅜ
다름이 아니라 최근 제가 속해있는 MSC의 스케줄로 인해서 포스팅을 미처 준비하지 못했습니다.
AIR에 대한 예제 app.과 함께 Action Script 3.0에 대한 특징과 AIR와 Flex의 차이점을 심도 있게 논하려는 저의 생각은 몇 차례의 회식과 임원님과의 월간 회의, 1주일 간의 교육으로 인해서 산산이 부셔져 버렸습니다. ㅜㅜ
이에 대해 심심한 유감의 뜻을 밝히며 다음 번 포스팅에는 조금 더 완성도 있는 모습을 약속 드리며 이만 못난 OB는 글을 줄입니다.
p.s 1
저의 포스팅 주제는 RIA 뿐만 아니라 ‘삼성전자’라는 회사 생활에 대한 것도 논할 예정(!!)이니 많은 기대 부탁 드려요. =ㅂ=b!
p.s 2
글 올리는 것 왜 이렇게 어렵나연...