Mega Code Archive

 
Categories / Silverlight / Graphics
 

Vector Math

<UserControl x:Class='SilverlightApplication3.MainPage'     xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'      xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'     xmlns:d='http://schemas.microsoft.com/expression/blend/2008'      xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006'      mc:Ignorable='d'      d:DesignWidth='640' d:DesignHeight='480'>     <Canvas x:Name="LayoutRoot" Background="White">         <TextBlock x:Name="msgBlock" Text="Text"/>     </Canvas> </UserControl> //File: Page.xaml.cs using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace SilverlightApplication3 {     public partial class MainPage : UserControl     {         Point vector1 = new Point();         Point vector2 = new Point();         public MainPage()         {             InitializeComponent();             vector1.X = 8;             vector1.Y = 10;             vector2.X = 0;             vector2.Y = 10;             writeVectors(vector1, vector2);             addVectors(vector1, vector2);             scaleVector(vector1, 2);         }         private void writeVectors(Point vectorA, Point vectorB)         {             msgBlock.Text = "Vector 1: " + vectorA;             msgBlock.Text += "\nVector 2: " + vectorB;         }         private void addVectors(Point vectorA, Point vectorB)         {             Point newVector = new Point();             newVector.X = vectorA.X + vectorB.X;             newVector.Y = vectorA.Y + vectorB.Y;             msgBlock.Text += "\nVector Addition: " + newVector;         }         private void scaleVector(Point vectorA, int scale)         {             Point newVector = new Point();             newVector.X = vectorA.X * scale;             newVector.Y = vectorA.Y * scale;             msgBlock.Text += "\nVector 1 Scaled by " + scale + ": " + newVector + "";         }     } }