diff --git a/2012-simulation/ik-visualiser-vs/.gitignore b/2012-simulation/ik-visualiser-vs/.gitignore
new file mode 100644
index 0000000..1bacb70
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/.gitignore
@@ -0,0 +1,282 @@
+
+# Created by https://www.gitignore.io/api/visualstudio
+
+### VisualStudio ###
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+*.vcxproj.filters
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# DNX
+project.lock.json
+project.fragment.lock.json
+artifacts/
+Properties/launchSettings.json
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# TODO: Comment the next line if you want to checkin your web deploy settings
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignoreable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+node_modules/
+orleans.codegen.cs
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+*.mdf
+*.ldf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/
+
+### VisualStudio Patch ###
+build/
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Debug/Hexapod app.exe b/2012-simulation/ik-visualiser-vs/Debug/Hexapod app.exe
new file mode 100644
index 0000000..4c9d079
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Debug/Hexapod app.exe
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6e00925e711644d879c9671953b6cce15c3255e15fd3f74931b129adbeb99d5a
+size 53248
diff --git a/2012-simulation/ik-visualiser-vs/Debug/Hexapod app.pdb b/2012-simulation/ik-visualiser-vs/Debug/Hexapod app.pdb
new file mode 100644
index 0000000..9feaee4
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Debug/Hexapod app.pdb
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:67022824561b3ead5a927ae1e1891157bbe8614b86f44d7e76cfecc719b2d5c6
+size 1272832
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Catmull-Rom app.vcxproj b/2012-simulation/ik-visualiser-vs/Hexapod app/Catmull-Rom app.vcxproj
new file mode 100644
index 0000000..1ea5264
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Catmull-Rom app.vcxproj
@@ -0,0 +1,97 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {7B99C6A5-E418-4C29-AB89-66A3FEE46034}
+ Win32Proj
+ CatmullRomapp
+ Hexapod app
+
+
+
+ Application
+ true
+ NotSet
+ v120
+ false
+ Static
+
+
+ Application
+ false
+ false
+ NotSet
+ v120
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64;$(LibraryPath)
+ C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include;$(IncludePath)
+
+
+ false
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ d3dx11d.lib;%(AdditionalDependencies)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Catmull-Rom app.vcxproj.filters b/2012-simulation/ik-visualiser-vs/Hexapod app/Catmull-Rom app.vcxproj.filters
new file mode 100644
index 0000000..cefda3d
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Catmull-Rom app.vcxproj.filters
@@ -0,0 +1,39 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Header Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Catmull-Rom app.vcxproj.user b/2012-simulation/ik-visualiser-vs/Hexapod app/Catmull-Rom app.vcxproj.user
new file mode 100644
index 0000000..ace9a86
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Catmull-Rom app.vcxproj.user
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/DataLine.h b/2012-simulation/ik-visualiser-vs/Hexapod app/DataLine.h
new file mode 100644
index 0000000..12bc277
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/DataLine.h
@@ -0,0 +1,38 @@
+#ifndef DATA
+#define DATA
+
+#include
+
+struct Data
+{
+ float X;
+ float Y;
+ float Z;
+
+ float l3;
+ float s;
+
+ int O1;
+ int O2;
+ int O3;
+
+ float X2;
+ float Y2;
+ float Z2;
+
+ void Input( float x, float y, float z )
+ {
+ X = x;
+ Y = y;
+ Z = z;
+ }
+
+ void Input( D3DXVECTOR3 i )
+ {
+ X = i.x;
+ Y = i.y;
+ Z = i.z;
+ }
+};
+
+#endif
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/CL.read.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/CL.read.1.tlog
new file mode 100644
index 0000000..0b1891d
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/CL.read.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/CL.write.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/CL.write.1.tlog
new file mode 100644
index 0000000..3ac4303
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/CL.write.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app (FireFly-HP's conflicted copy 2013-01-14).log b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app (FireFly-HP's conflicted copy 2013-01-14).log
new file mode 100644
index 0000000..506513a
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app (FireFly-HP's conflicted copy 2013-01-14).log
@@ -0,0 +1,9 @@
+Build started 14-1-2013 10:08:44.
+ 1>Project "C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Catmull-Rom app.vcxproj" on node 2 (Build target(s)).
+ 1>Link:
+ Catmull-Rom app.vcxproj -> C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Debug\Hexapod app.exe
+ 1>Done Building Project "C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Catmull-Rom app.vcxproj" (Build target(s)).
+
+Build succeeded.
+
+Time Elapsed 00:00:01.54
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app.Build.CppClean.log b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app.Build.CppClean.log
new file mode 100644
index 0000000..2127f66
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app.Build.CppClean.log
@@ -0,0 +1,31 @@
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\MAIN.OBJ
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\VC110.PDB
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\DATALINE.OBJ
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\INVERSEKINEMETICS.OBJ
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\MAIN.OBJ
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\VC110.PDB
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\DEBUG\CATMULL-ROM APP.ILK
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\DEBUG\CATMULL-ROM APP.EXE
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\DEBUG\CATMULL-ROM APP.PDB
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\DataLine.obj
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\InverseKinemetics.obj
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\Main.obj
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\cl.command.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\CL.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\CL.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link-cvtres.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link-cvtres.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link-rc.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link-rc.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.12748-cvtres.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.12748-cvtres.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.12748-rc.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.12748-rc.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.12748.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.12748.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.command.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\vc110.idb
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\vc110.pdb
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Debug\Catmull-Rom app.pdb
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app.lastbuildstate b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app.lastbuildstate
new file mode 100644
index 0000000..d13a2a2
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app.lastbuildstate
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Debug|Win32|D:\dropbox\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\|
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app.log b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app.log
new file mode 100644
index 0000000..55b2f29
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Catmull-Rom app.log
@@ -0,0 +1,66 @@
+Build started 25-11-2013 13:59:35.
+ 1>Project "C:\Users\patrick\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Catmull-Rom app.vcxproj" on node 2 (Build target(s)).
+ 1>ClCompile:
+ C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _WINDOWS /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc120.pdb" /Gd /TP /analyze- /errorReport:prompt DataLine.h InverseKinemetics.cpp Leg.cpp Main.cpp
+ Main.cpp
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.h(24): warning C4244: 'return' : conversion from 'double' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.h(18): warning C4099: 'std::vector>' : type name first seen using 'class' now seen using 'struct'
+ with
+ [
+ _Ty=D3DXVECTOR3
+ ]
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\main.cpp(25): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
+ c:\program files (x86)\microsoft visual studio 12.0\vc\include\stdio.h(356) : see declaration of 'sprintf'
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\main.cpp(26): warning C4172: returning address of local variable or temporary
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\main.cpp(303): warning C4244: 'argument' : conversion from 'float' to 'const int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\main.cpp(304): warning C4244: 'argument' : conversion from 'float' to 'const int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\main.cpp(305): warning C4244: 'argument' : conversion from 'float' to 'const int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\main.cpp(226): warning C4101: 'ps' : unreferenced local variable
+ Leg.cpp
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.h(24): warning C4244: 'return' : conversion from 'double' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.h(18): warning C4099: 'std::vector>' : type name first seen using 'class' now seen using 'struct'
+ with
+ [
+ _Ty=D3DXVECTOR3
+ ]
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(36): warning C4305: '+=' : truncation from 'double' to 'float'
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(38): warning C4305: '+=' : truncation from 'double' to 'float'
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(129): warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(131): warning C4018: '<' : signed/unsigned mismatch
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(133): warning C4244: 'initializing' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(134): warning C4244: 'initializing' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(153): warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(156): warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(159): warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(172): warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(173): warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(181): warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\leg.cpp(182): warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data
+ InverseKinemetics.cpp
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.h(24): warning C4244: 'return' : conversion from 'double' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(27): warning C4244: 'return' : conversion from 'double' to 'float', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(30): warning C4244: 'return' : conversion from 'double' to 'float', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(23): warning C4101: 'r' : unreferenced local variable
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(81): warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(87): warning C4244: '=' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(88): warning C4244: '=' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(89): warning C4244: '=' : conversion from 'float' to 'int', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(91): warning C4244: 'initializing' : conversion from 'double' to 'float', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(97): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\inversekinemetics.cpp(103): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
+ DataLine.h
+ Generating Code...
+ 1>c:\users\patrick\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\main.cpp(404): warning C4715: 'WndProc' : not all control paths return a value
+ 1>cl : Command line warning D9028: minimal rebuild failure, reverting to normal build
+ Link:
+ C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\patrick\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Debug\Hexapod app.exe" /INCREMENTAL:NO /NOLOGO d3dx11d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:\Users\patrick\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Debug\Hexapod app.pdb" /SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Users\patrick\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Debug\Hexapod app.lib" /MACHINE:X86 Debug\DataLine.obj
+ Debug\InverseKinemetics.obj
+ Debug\Leg.obj
+ Debug\Main.obj
+ 1>DataLine.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:LBR' specification
+ Catmull-Rom app.vcxproj -> C:\Users\patrick\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Debug\Hexapod app.exe
+ 1>Done Building Project "C:\Users\patrick\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Catmull-Rom app.vcxproj" (Build target(s)).
+
+Build succeeded.
+
+Time Elapsed 00:00:05.64
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/DataLine.obj b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/DataLine.obj
new file mode 100644
index 0000000..e19037c
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/DataLine.obj
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9a4891c39946bc12c7474507f545f69b9bc24aa4af56861cb245b426fef6db58
+size 36793
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.Build.CppClean.log b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.Build.CppClean.log
new file mode 100644
index 0000000..47c2577
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.Build.CppClean.log
@@ -0,0 +1,40 @@
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\VC100.PDB
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\DATALINE.OBJ
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\INVERSEKINEMETICS.OBJ
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\LEG.OBJ
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\MAIN.OBJ
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\VC100.PDB
+C:\USERS\MANGAVALK\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\DATALINE.OBJ
+C:\USERS\MANGAVALK\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\INVERSEKINEMETICS.OBJ
+C:\USERS\MANGAVALK\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\LEG.OBJ
+C:\USERS\MANGAVALK\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\MAIN.OBJ
+C:\USERS\MANGAVALK\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\VC110.PDB
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\DEBUG\HEXAPOD APP.EXE
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\HEXAPOD APP.EXE.INTERMEDIATE.MANIFEST
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\DEBUG\HEXAPOD APP.PDB
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\DEBUG\HEXAPOD APP.EXE
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\DEBUG\HEXAPOD APP.EXE.INTERMEDIATE.MANIFEST
+D:\DROPBOX\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\DEBUG\HEXAPOD APP.PDB
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\DataLine.obj
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\InverseKinemetics.obj
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\Leg.obj
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\Main.obj
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\cl.command.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\CL.read.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\CL.write.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link-cvtres.read.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link-cvtres.write.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link-rc.read.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link-rc.write.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.command.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.read.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\link.write.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\mt.command.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\mt.read.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\mt.write.1.tlog
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\Hexapod app.exe.intermediate.manifest
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\vc100.idb
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\vc110.idb
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\vc100.pdb
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Debug\vc110.pdb
+C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Debug\Hexapod app.pdb
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.lastbuildstate b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.lastbuildstate
new file mode 100644
index 0000000..25eca4d
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.lastbuildstate
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Debug|Win32|C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\|
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/CL.read.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/CL.read.1.tlog
new file mode 100644
index 0000000..d84078b
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/CL.read.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/CL.write.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/CL.write.1.tlog
new file mode 100644
index 0000000..4d96e65
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/CL.write.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/Hexapod app.lastbuildstate b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/Hexapod app.lastbuildstate
new file mode 100644
index 0000000..1ef1446
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/Hexapod app.lastbuildstate
@@ -0,0 +1,2 @@
+#TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit
+Debug|Win32|C:\Users\patrick\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\|
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/cl.command.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/cl.command.1.tlog
new file mode 100644
index 0000000..f27556e
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/cl.command.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/link.command.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/link.command.1.tlog
new file mode 100644
index 0000000..2dd2735
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/link.command.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/link.read.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/link.read.1.tlog
new file mode 100644
index 0000000..af8f418
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/link.read.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/link.write.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/link.write.1.tlog
new file mode 100644
index 0000000..01ce4cf
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Hexapod app.tlog/link.write.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/InverseKinemetics.obj b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/InverseKinemetics.obj
new file mode 100644
index 0000000..057a2f2
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/InverseKinemetics.obj
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0610a59b9cd9e5afa2bdc7011ce07878b57e415648e861dd53dbfe47cfb019b8
+size 51927
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Leg.obj b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Leg.obj
new file mode 100644
index 0000000..d2b21c2
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Leg.obj
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2c96aac2a2b0866ddd04362b29669fbdfffc1f9af282e6d7df13264aa27a1df4
+size 164290
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Main.obj b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Main.obj
new file mode 100644
index 0000000..96bfba7
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/Main.obj
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:412a25a556fb5ce176c55b87dfc24329c1de43d164081def75583f8fa4e693ce
+size 201244
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/cl.command.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/cl.command.1.tlog
new file mode 100644
index 0000000..3fba930
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/cl.command.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-cvtres.read.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-cvtres.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-cvtres.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-cvtres.write.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-cvtres.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-cvtres.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-rc.read.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-rc.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-rc.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-rc.write.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-rc.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link-rc.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link.command.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link.command.1.tlog
new file mode 100644
index 0000000..07b6a99
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link.command.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link.read.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link.read.1.tlog
new file mode 100644
index 0000000..792b720
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link.read.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link.write.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link.write.1.tlog
new file mode 100644
index 0000000..d458e2a
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/link.write.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc110.idb b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc110.idb
new file mode 100644
index 0000000..af51df6
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc110.idb
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8de0b1e7d6b2d38e5da9b15f5754b5cbef2129dc8bc4af70445f3121ba3fa401
+size 1043456
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc110.pdb b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc110.pdb
new file mode 100644
index 0000000..f85730c
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc110.pdb
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e3ef82521d8129a8bebd47f8237482a8b23efe1178e3bfbf641ca06fbe29865c
+size 684032
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc120.idb b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc120.idb
new file mode 100644
index 0000000..116c200
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc120.idb
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:515c996f7e8842a70ecde3b37505f7c6f0d51e4964753c53c6323fcab9c3336d
+size 1051648
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc120.pdb b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc120.pdb
new file mode 100644
index 0000000..9186c4c
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Debug/vc120.pdb
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e1380ad7fc3800b7991993f5108faaf1bcb06a82cf44216fc0ab28c0d0d3b86e
+size 708608
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/InverseKinemetics.cpp b/2012-simulation/ik-visualiser-vs/Hexapod app/InverseKinemetics.cpp
new file mode 100644
index 0000000..b039132
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/InverseKinemetics.cpp
@@ -0,0 +1,134 @@
+#include "InverseKinemetics.h"
+
+#pragma region Core
+void InverseKinemetics::RL3 (Data *DataLine)
+{
+ float x = DataLine->X;
+ float z = DataLine->Z;
+
+ if ((x == 0) && (z == 0))
+ DataLine->l3 = 0;
+ else DataLine->l3 = hypot(z, x);
+
+ if (x < 0)
+ DataLine->l3 = DataLine->l3 * -1;
+}
+
+float InverseKinemetics::O1 (Data *DataLine)
+{
+ RL3(DataLine);
+
+ float x = DataLine->X;
+ float z = DataLine->Z;
+ float r;
+
+ if ((x != 0) & (z != 0)){
+ double a = (z / x);
+ return atan(a);
+ }
+ else
+ return atan(0.0); // Math Error Protection.
+}
+
+float InverseKinemetics::T1 (Data *DataLine)
+{
+ float x = DataLine->X;
+ float y = DataLine->Y;
+ float z = DataLine->Z;
+ float x2 = x * x;
+ float y2 = y * y;
+ float z2 = z * z;
+ float l32 = DataLine->l3 * DataLine->l3;
+
+ DataLine->s = sqrt(x2 + y2 + z2);
+
+ float t1 = 0;
+
+ float s2 = DataLine->s * DataLine->s;
+
+ if ((y == 0) && (DataLine->l3 == 0))
+ t1 = 0; // Math Error Protection.
+ else
+ t1 = (atan2(float(DataLine->l3), float(y)));
+
+ float a = (l1 * l1) - (l2*l2) + s2;
+ float b = 2 * l1 * DataLine->s;
+ float t2 = acos(a / b);
+
+ float ret = 0;
+
+ ret = t1 + abs( (long long) t2);
+
+ return ret;
+}
+
+float InverseKinemetics::T3 (Data *DataLine)
+{
+ return (acos((float)((l1*l1) + (l2*l2) - (DataLine->s*DataLine->s)) / (2 * l1 * l2)));
+}
+#pragma endregion Core
+
+#define PI 3.14159265
+
+void InverseKinemetics::setleg (bool Side, Data *DataLine)
+{
+ error = false;
+
+ if (Side == 0)
+ {
+ float a = ((float)90 - degrees(O1(DataLine)));
+ float b = ((float)180 - degrees(T1(DataLine)));
+ float c = degrees(T3(DataLine));
+
+ if ((a >= 0) & (a <= 180)
+ & (b >= 0) & (b <= 180)
+ & (c >= 0) & (c <= 180))
+ {
+ DataLine->O1 = a;
+ DataLine->O2 = b;
+ DataLine->O3 = c;
+
+ float d = sin( (float)b*(PI/180) );
+ if( d != 0 )
+ DataLine->X2 = d * l1;
+ else
+ DataLine->X2 = 0;
+
+ d = cos( (float)b*(PI/180) );
+ if( d != 0 )
+ DataLine->Y2 = d * l1;
+ else
+ DataLine->Y2 = 0;
+
+ d = sin( (float)(a-90)*(PI/180) );
+ if( d != 0 )
+ DataLine->Z2 = d * abs( (long long) DataLine->X2 );
+ else
+ DataLine->Z2 = 0;
+ }
+ else
+ {
+ error = true;
+ }
+ }
+ //else
+ //{
+ // float a = ((float)90 + degrees(O1(DataLine)));
+ // float b = degrees(T1(DataLine));
+ // float c = ((float)180 - degrees(T3(DataLine)));
+ //
+ // /*if ((a >= 0) & (a <= 180)
+ // & (b >= 0) & (b <= 180)
+ // & (c >= 0) & (c <= 180))
+ // {*/
+ // DataLine->O1 = a;
+ // DataLine->O2 = b;
+ // DataLine->O3 = c;
+ // /*}
+ // else
+ // {
+ // error = true;
+ // }*/
+ //}
+}
+
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/InverseKinemetics.h b/2012-simulation/ik-visualiser-vs/Hexapod app/InverseKinemetics.h
new file mode 100644
index 0000000..14c39ee
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/InverseKinemetics.h
@@ -0,0 +1,39 @@
+#ifndef INVERSEKINEMETICS
+#define INVERSEKINEMETICS
+
+#include
+#include
+#include "DataLine.h"
+
+class InverseKinemetics
+{
+public:
+ bool error;
+ int l1;
+ int l2;
+
+ InverseKinemetics()
+ {
+ error = 0;
+ l1 = 10;
+ l2 = 15;
+ }
+
+ int degrees( float I )
+ {
+ return I * ( 180 / 3.14 );
+ }
+
+ void RL3 (Data *DataLine);
+
+ float O1 (Data *DataLine);
+
+ float T1 (Data *DataLine);
+
+ float T3 (Data *DataLine);
+
+ void setleg (bool Side, Data *DataLine);
+
+};
+
+#endif
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Leg.cpp b/2012-simulation/ik-visualiser-vs/Hexapod app/Leg.cpp
new file mode 100644
index 0000000..3db381a
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Leg.cpp
@@ -0,0 +1,187 @@
+//Leg.cpp
+
+#include "Leg.h"
+
+//Initial
+Leg::Leg()
+{
+ Coordinate = D3DXVECTOR3( 0, 0, 0 );
+ Error = 1;
+}
+
+Leg::~Leg()
+{
+
+}
+
+void Leg::GetHDC( HDC hdc )
+{
+ HDCBuffer = hdc;
+}
+
+void Leg::GetHDCSecondBuffer( HDC hdc )
+{
+ HDCSecondBuffer = hdc;
+}
+
+void Leg::GetPossibleMoveSpace( )
+{
+ if( MoveSpaceRenderd != 1 )
+ {
+ InverseKinemetics IK;
+ Data *D = new Data;
+
+ MoveSpace.clear();
+
+ for (float y = -25; y < 26; y += 0.05)
+ {
+ for (float x = -25; x < 26; x += 0.05)
+ {
+ /*for (int z = -25; z < 26; z++)
+ {*/
+ D->Input( D3DXVECTOR3( x, y, Coordinate.z ) );
+ IK.setleg( 0, D );
+
+ if( IK.error == 0 )
+ {
+ MoveSpace.push_back( struct D3DXVECTOR3( x, y, 0 ));
+ }
+ /*}*/
+ }
+ }
+ MoveSpaceRenderd = 1;
+ }
+}
+
+//Overload
+D3DXVECTOR3 operator*(const D3DXVECTOR3& a, const D3DXVECTOR3& b)
+{
+ return D3DXVECTOR3(a.x * b.x, a.y * b.y, a.z * b.z);
+}
+
+//Input
+void Leg::Coordinates( float ix, float iy, float iz )
+{
+ Coordinate.x = ix;
+ Coordinate.y = iy;
+ Coordinate.z = iz;
+}
+
+void Leg::Coordinates( D3DXVECTOR3 i )
+{
+ Coordinate = i;
+}
+
+void Leg::Offset( float ix, float iy, float iz )
+{
+ OffsetVector = D3DXVECTOR3( ix, iy, iz );
+}
+
+void Leg::Offset( D3DXVECTOR3 i )
+{
+ OffsetVector = i;
+}
+
+void Leg::Size( float ix, float iy, float iz )
+{
+ SizeVector = D3DXVECTOR3( ix, iy, iz );
+}
+
+void Leg::Size( D3DXVECTOR3 i )
+{
+ SizeVector = i;
+}
+
+//Functions
+void Leg::CalculateLegRight( )
+{
+ Data *D = new Data;
+ InverseKinemetics IK;
+
+ D->Input( Coordinate );
+
+ IK.setleg( 0, D );
+
+ Error = IK.error;
+
+ ModelSpaceHip = D3DXVECTOR3( 0, 0, 0 );
+ ModelSpaceKnee = D3DXVECTOR3( D->X2, D->Y2*-1, D->Z2 );
+ ModelSpaceFeet = Coordinate;
+}
+
+void Leg::CalculateWorldSpaceLineModel( )
+{
+ WorldSpaceLineModel.clear();
+ WorldSpaceLineModel.push_back( ModelSpaceHip + OffsetVector );
+ WorldSpaceLineModel.push_back( ( ModelSpaceKnee * SizeVector ) + OffsetVector );
+ WorldSpaceLineModel.push_back( ( ModelSpaceFeet * SizeVector ) + OffsetVector );
+}
+
+void Leg::PrintMoveSpaceOnWorldSpace( )
+{
+ if( MoveSpaceRenderd )
+ {
+ HPEN pen, oldPen;
+
+ pen = CreatePen(PS_SOLID, 2, RGB(0, 32, 20));
+ oldPen = (HPEN)SelectObject(HDCSecondBuffer, pen);
+
+ MoveToEx( HDCSecondBuffer, OffsetVector.x, OffsetVector.y, 0 );
+
+ for (int i=0; i
+#include "InverseKinemetics.h"
+#include
+#include
+
+using namespace std;
+
+class Leg
+{
+public:
+ //Variable
+ D3DXVECTOR3 OffsetVector, SizeVector, Coordinate;
+ struct vector MoveSpace;
+ bool MoveSpaceRenderd;
+ D3DXVECTOR3 ModelSpaceHip, ModelSpaceKnee, ModelSpaceFeet;
+ vector WorldSpaceLineModel;
+ bool Error;
+ HDC HDCBuffer, HDCSecondBuffer;
+
+ //Initial
+ Leg();
+ ~Leg();
+
+ void GetHDC( HDC hdc );
+ void GetHDCSecondBuffer( HDC hdc );
+
+ //Input
+ void Coordinates( float ix, float iy, float iz );
+ void Coordinates( D3DXVECTOR3 i );
+ void Offset( float ix, float iy, float iz );
+ void Offset( D3DXVECTOR3 i );
+ void Size( float ix, float iy, float iz );
+ void Size( D3DXVECTOR3 i );
+
+ //Functions
+ void GetPossibleMoveSpace( );
+ void CalculateLegRight( );
+ void CalculateWorldSpaceLineModel( );
+ void PrintMoveSpaceOnWorldSpace( );
+ void PrintWorldSpaceLineModel( );
+ void Print3DLinesOnWorldSpace( );
+
+};
+
+#endif
+
+/*
+ Z-Axis Rotation
+
+ x' = x*cos q - y*sin q
+ y' = x*sin q + y*cos q
+ z' = z
+
+ X-Axis Rotation
+
+ y' = y*cos q - z*sin q
+ z' = y*sin q + z*cos q
+ x' = x
+
+ Y-Axis Rotation
+
+ z' = z*cos q - x*sin q
+ x' = z*sin q + x*cos q
+ y' = y
+ */
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Main.cpp b/2012-simulation/ik-visualiser-vs/Hexapod app/Main.cpp
new file mode 100644
index 0000000..25e0d92
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Main.cpp
@@ -0,0 +1,475 @@
+#include
+//#include
+#include
+#include
+#include "string"
+#include
+#include
+#include
+#include "Leg.h"
+#include
+using namespace std;
+
+#define DRAW WM_USER + 1
+
+#pragma region ConverToInt
+#ifdef UNICODE
+typedef std::wostringstream tstringstream;
+#else
+typedef std::ostringstream tstringstream;
+#endif
+
+LPCTSTR convertInt(const int number)
+{
+ char str[512];
+ sprintf(str,"%d",number);
+ return str;
+}
+#pragma endregion ConverToInt
+
+#pragma region Global
+HWND ghMainWnd = 0;
+HINSTANCE ghAppInst = 0;
+bool gMouseDown = 0;
+
+HDC backDC;
+HDC BackDC2;
+HBITMAP backBufferBMP;
+HBITMAP backBufferBMP2;
+int backBufferCX;
+int backBufferCY;
+
+Leg *La;
+
+D3DXVECTOR3 Coordinates( 10, 15, 0);
+D3DXVECTOR3 SuccessfulCoordinate;
+D3DXVECTOR3 Offset( 250, 400, 0);
+D3DXVECTOR3 Size( 15, 15, 15 );
+#pragma endregion Global
+
+#pragma region OtherFunctions
+clock_t Fpres;
+bool DD ( )
+{
+ clock_t t = clock();
+ if ((t - Fpres) <= 200)
+ return 1;
+ else
+ {
+ Fpres = t;
+ return 0;
+ }
+}
+
+inline void draw()
+{
+ HDC winhdc = GetDC( ghMainWnd ) ;
+ // Now copy the back buffer to the front buffer.
+ BitBlt(
+
+ winhdc, // destination buffer
+ 0, 0, // x, y to start writing to in the destination buffer
+ // counted from top left corner of dest HDC (window)
+
+ // Width, height to copy for
+ backBufferCX, backBufferCY,
+
+ backDC, // SOURCE buffer. We're taking from that back canvas
+
+ 0, 0, // x pt, y pt to START copying from
+ // SOURCE. counted from top left again
+
+ // And we just want a straight copy.
+ SRCCOPY );
+
+ ReleaseDC( ghMainWnd, winhdc ) ;
+}
+
+inline void copybtf( HDC back, HDC front )
+{
+ // copy the back buffer to the front buffer.
+ BitBlt(
+
+ front, // destination buffer
+ 0, 0, // x, y to start writing to in the destination buffer
+ // counted from top left corner of dest HDC (window)
+
+ // Width, height to copy for
+ backBufferCX, backBufferCY,
+
+ back, // SOURCE buffer. We're taking from that back canvas
+
+ 0, 0, // x pt, y pt to START copying from
+ // SOURCE. counted from top left again
+
+ // And we just want a straight copy.
+ SRCCOPY );
+}
+
+void InitBackBuffer()
+{
+ backBufferCX = 700;
+ backBufferCY = 850;
+
+ HDC winhdc = GetDC( ghMainWnd );
+
+ /*
+
+ Imagine you have 2 things:
+ - a canvas on which to draw (call this your HBITMAP)
+ - set of brushes you will use to draw (call this your HDC)
+
+ 1. HBITMAP. Canvas
+ ___________________
+ | * |
+ | * |
+ | HBITMAP |
+ | draw here |
+ |_________________|
+
+ 2. HDC. Set of brushes.
+ <-*
+ []-*
+ ()-*
+
+ */
+
+ // Create the HBITMAP "canvas", or surface on which we will draw.
+ backBufferBMP = CreateCompatibleBitmap( winhdc, backBufferCX, backBufferCY );
+ if(backBufferBMP == NULL)
+ printf( "failed to create backBufferBMP" );
+
+
+ // Create the HDC "device context", or collection of tools
+ // and brushes that we can use to draw on our canvas
+ backDC = CreateCompatibleDC( winhdc );
+ if(backDC == NULL)
+ printf( "failed to create the backDC" );
+
+ // Permanently associate the surface on which to draw
+ // ("canvas") (HBITMAP), with the "set of brushes" (HDC)
+
+ // "select in" the backBufferBMP into the backDC
+ HBITMAP oldbmp = (HBITMAP)SelectObject( backDC, backBufferBMP );
+
+
+ // Delete the "canvas" that the backDC was
+ // going to draw to. We don't care about it.
+ DeleteObject( oldbmp );
+
+
+
+ /// Release the dc of the main window itself
+ ReleaseDC( ghMainWnd, winhdc );
+}
+
+void InitBackBuffer2()
+{
+ backBufferCX = 700;
+ backBufferCY = 850;
+
+ HDC winhdc = GetDC( ghMainWnd );
+
+ // Create the HBITMAP "canvas", or surface on which we will draw.
+ backBufferBMP2 = CreateCompatibleBitmap( winhdc, backBufferCX, backBufferCY );
+ if(backBufferBMP2 == NULL)
+ printf( "failed to create backBufferBMP" );
+
+
+ // Create the HDC "device context", or collection of tools
+ // and brushes that we can use to draw on our canvas
+ BackDC2 = CreateCompatibleDC( winhdc );
+ if(BackDC2 == NULL)
+ printf( "failed to create the backDC" );
+
+ // Permanently associate the surface on which to draw
+ // ("canvas") (HBITMAP), with the "set of brushes" (HDC)
+
+ // "select in" the backBufferBMP into the backDC
+ HBITMAP oldbmp = (HBITMAP)SelectObject( BackDC2, backBufferBMP2 );
+
+
+ // Delete the "canvas" that the backDC was
+ // going to draw to. We don't care about it.
+ DeleteObject( oldbmp );
+
+
+
+ /// Release the dc of the main window itself
+ ReleaseDC( ghMainWnd, winhdc );
+}
+
+inline void ClearBackDC()
+{
+ // clear by filling out the back buffer with black rectangle
+ HBRUSH oldBrush = (HBRUSH)SelectObject( backDC, GetStockObject( BLACK_BRUSH ) ) ;
+ Rectangle( backDC, 0, 0, backBufferCX, backBufferCY );
+ SelectObject( backDC, oldBrush ) ; // put the old brush back, not bothering
+ // to catch the system BLACK_BRUSH
+}
+
+inline void ClearBackDC2()
+{
+ // clear by filling out the back buffer with black rectangle
+ HBRUSH oldBrush = (HBRUSH)SelectObject( BackDC2, GetStockObject( BLACK_BRUSH ) ) ;
+ Rectangle( BackDC2, 0, 0, backBufferCX, backBufferCY );
+ SelectObject( BackDC2, oldBrush ) ; // put the old brush back, not bothering
+ // to catch the system BLACK_BRUSH
+}
+
+#pragma endregion OtherFunctions
+
+LRESULT CALLBACK
+ WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ HDC hdc = 0;
+ PAINTSTRUCT ps;
+
+ int mx = LOWORD(lParam);
+ int my = HIWORD(lParam);
+
+ D3DXVECTOR3 test;
+
+ switch( msg )
+ {
+#pragma region CREATE
+ case WM_CREATE:
+ {
+ La = new Leg;
+
+ La->Offset( Offset );
+ La->Size( Size );
+
+ InitBackBuffer();
+
+ La->GetHDC( backDC );
+
+ InitBackBuffer2();
+
+ La->GetHDCSecondBuffer( BackDC2 );
+
+ La->GetPossibleMoveSpace();
+
+ La->PrintMoveSpaceOnWorldSpace();
+
+ PostMessage( hWnd, DRAW, wParam, lParam );
+
+ break;
+ }
+#pragma endregion CREATE
+ case DRAW:
+ {
+#pragma region DRAW
+ ClearBackDC();
+
+ copybtf( BackDC2, backDC );
+
+ La->Coordinates( Coordinates );
+ La->CalculateLegRight();
+
+ if( La->Error == true )
+ {
+ La->Coordinates( SuccessfulCoordinate );
+ La->CalculateLegRight();
+
+ La->CalculateWorldSpaceLineModel();
+
+ La->Print3DLinesOnWorldSpace();
+
+ La->PrintWorldSpaceLineModel();
+ }
+ else
+ {
+ La->CalculateWorldSpaceLineModel();
+
+ La->Print3DLinesOnWorldSpace();
+
+ La->PrintWorldSpaceLineModel();
+
+ SuccessfulCoordinate = La->Coordinate;
+ }
+
+
+#pragma region Status
+ RECT rcWind;
+ POINT ptDiff;
+ GetWindowRect(hWnd, &rcWind);
+ ptDiff.x = (rcWind.right - rcWind.left);
+ ptDiff.y = (rcWind.bottom - rcWind.top);
+
+ //TextOut( backDC, ptDiff.x - 44, 0, convertInt( D->O1 ), ( sizeof( convertInt( D->O1 ) ) / sizeof( char ) - 1) );
+ //TextOut( backDC, ptDiff.x - 44, 20, convertInt( D->O2 ), ( sizeof( convertInt( D->O2 ) ) / sizeof( char ) - 1) );
+ //TextOut( backDC, ptDiff.x - 44, 40, convertInt( D->O3 ), ( sizeof( convertInt( D->O3 ) ) / sizeof( char ) - 1) );
+ TextOut( backDC, ptDiff.x - 44, 70, convertInt( Coordinates.x ), ( sizeof( convertInt( Coordinates.x ) ) / sizeof( char ) - 1) );
+ TextOut( backDC, ptDiff.x - 44, 90, convertInt( Coordinates.y ), ( sizeof( convertInt( Coordinates.y ) ) / sizeof( char ) - 1) );
+ TextOut( backDC, ptDiff.x - 44, 110, convertInt( Coordinates.z ), ( sizeof( convertInt( Coordinates.z ) ) / sizeof( char ) - 1) );
+ //TextOut( backDC, ptDiff.x - 44, 140, convertInt( D->X2 ), ( sizeof( convertInt( D->X2 ) ) / sizeof( char ) - 1) );
+ //TextOut( backDC, ptDiff.x - 44, 160, convertInt( D->Y2 ), ( sizeof( convertInt( D->Y2 ) ) / sizeof( char ) - 1) );
+ //TextOut( backDC, ptDiff.x - 44, 180, convertInt( D->Z2 ), ( sizeof( convertInt( D->Z2 ) ) / sizeof( char ) - 1) );
+
+#pragma endregion Status
+#pragma endregion DRAW
+ break;
+ }
+ case WM_KEYUP:
+
+#pragma region KeyMove
+ if( GetAsyncKeyState( VK_UP ) == 1 )
+ Coordinates.y--;
+ if( GetAsyncKeyState( VK_DOWN ) == 1 )
+ Coordinates.y++;
+ if( GetAsyncKeyState( VK_LEFT ) == 1 )
+ Coordinates.x--;
+ if( GetAsyncKeyState( VK_RIGHT ) == 1 )
+ Coordinates.x++;
+ if( GetAsyncKeyState( VK_SUBTRACT ) == 1 )
+ {
+ Coordinates.z--;
+
+ ClearBackDC2();
+
+ La->MoveSpaceRenderd = 0;
+
+ La->GetPossibleMoveSpace();
+
+ La->PrintMoveSpaceOnWorldSpace();
+ }
+ if( GetAsyncKeyState( VK_ADD ) == 1 )
+ {
+ Coordinates.z++;
+
+ ClearBackDC2();
+
+ La->MoveSpaceRenderd = 0;
+
+ La->GetPossibleMoveSpace();
+
+ La->PrintMoveSpaceOnWorldSpace();
+ }
+#pragma endregion KeyMove
+
+ PostMessage( hWnd, DRAW, wParam, lParam );
+
+ return 0;
+ case WM_LBUTTONDOWN:
+ SetCapture(hWnd);
+
+ gMouseDown = true;
+
+ break;
+ case WM_RBUTTONDOWN:
+
+ return 0;
+ case WM_MOUSEMOVE:
+ if( gMouseDown )
+ {
+ Coordinates.x = ((float) mx - Offset.x ) / Size.x;
+ Coordinates.y = ((float) my - Offset.y) / Size.y;
+ PostMessage( hWnd, DRAW, wParam, lParam );
+ }
+ break;
+ case WM_LBUTTONUP:
+ ReleaseCapture();
+ gMouseDown = false;
+
+ break;
+ case WM_RBUTTONUP:
+ ReleaseCapture();
+ gMouseDown = false;
+
+ UpdateWindow (hWnd);
+
+ break;
+#pragma region PAINT
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+
+ HDC winhdc = BeginPaint(hWnd, &ps);
+
+ // Do nothing here. All drawing happens in draw(),
+ // and you draw to the backbuffer, NOT the
+ // front buffer.
+
+ EndPaint(hWnd, &ps);
+ break;
+ }
+#pragma endregion PAINT
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, msg, wParam, lParam);
+ }
+}
+
+#pragma region Functions
+
+int WINAPI WinMain (HINSTANCE hInstance,
+ HINSTANCE hPrevInstance,
+ PSTR cmdLine,
+ int showCmd)
+{
+ ghAppInst = hInstance;
+
+ WNDCLASS wc;
+ wc.style = CS_HREDRAW | CS_VREDRAW;
+ wc.lpfnWndProc = WndProc;
+ wc.cbClsExtra = 0;
+ wc.cbWndExtra = 0;
+ wc.hInstance = ghAppInst;
+ wc.hIcon = ::LoadIcon(0, IDI_APPLICATION);
+ wc.hCursor = ::LoadCursor(0, IDC_ARROW);
+ wc.hbrBackground = (HBRUSH)(COLOR_WINDOW)+1;
+ wc.lpszMenuName = 0;
+ wc.lpszClassName = "Hexapod";
+
+ RegisterClass( &wc );
+
+ ghMainWnd = ::CreateWindow("Hexapod", "Hexapod FrontView",
+ WS_OVERLAPPEDWINDOW, 50, 50, 700, 850, 0, 0, ghAppInst, 0);
+
+ if(ghMainWnd == 0)
+ {
+ ::MessageBox(0, "CreateWindow - Failed", 0, 0);
+ return false;
+ }
+
+ ShowWindow(ghMainWnd, showCmd);
+ UpdateWindow(ghMainWnd);
+
+ MSG msg;
+ /*ZeroMemory(&msg, sizeof(MSG));
+
+ while( GetMessage(&msg, 0, 0, 0) )
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }*/
+
+ while(1)
+ {
+ if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
+ {
+ if(msg.message == WM_QUIT)
+ {
+ PostQuitMessage(0);
+ break;
+ }
+ TranslateMessage(&msg); // translates 'character' keyboard messages
+ DispatchMessage(&msg); // send off to WndProc for processing
+ }
+ else
+ {
+ // could put more update code in here
+ // before drawing.
+ draw();
+ }
+ }
+
+ //return (int)msg.wParam;
+ return 0;
+}
+
+
+
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/CL.read.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/CL.read.1.tlog
new file mode 100644
index 0000000..b1a8e15
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/CL.read.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/CL.write.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/CL.write.1.tlog
new file mode 100644
index 0000000..b861a2a
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/CL.write.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Catmull-Rom app.log b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Catmull-Rom app.log
new file mode 100644
index 0000000..13fcc2b
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Catmull-Rom app.log
@@ -0,0 +1,18 @@
+Build started 28-2-2013 10:06:26.
+ 1>Project "C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Catmull-Rom app.vcxproj" on node 2 (Build target(s)).
+ 1>ClCompile:
+ C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe /c /Zi /nologo /W3 /WX- /O2 /Oi /Oy- /D WIN32 /D NDEBUG /D _WINDOWS /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Release\\" /Fd"Release\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt DataLine.h InverseKinemetics.cpp Leg.cpp Main.cpp
+ DataLine.h
+ 1>DataLine.h(4): fatal error C1083: Cannot open include file: 'D3DX9.h': No such file or directory
+ InverseKinemetics.cpp
+ 1>c:\users\mangavalk\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\InverseKinemetics.h(5): fatal error C1083: Cannot open include file: 'D3DX9.h': No such file or directory
+ Leg.cpp
+ 1>c:\users\mangavalk\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\InverseKinemetics.h(5): fatal error C1083: Cannot open include file: 'D3DX9.h': No such file or directory
+ Main.cpp
+ 1>c:\users\mangavalk\dropbox\projecten\visual-studio\projecten\hexapod\hexapod app\InverseKinemetics.h(5): fatal error C1083: Cannot open include file: 'D3DX9.h': No such file or directory
+ Generating Code...
+ 1>Done Building Project "C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Catmull-Rom app.vcxproj" (Build target(s)) -- FAILED.
+
+Build FAILED.
+
+Time Elapsed 00:00:03.58
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/DataLine.obj b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/DataLine.obj
new file mode 100644
index 0000000..fb7db4f
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/DataLine.obj
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3d42edd872aa960ea0deaba823fb7d84418fc6a81bfd695b9e2eb5d6024c331e
+size 1675
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.Build.CppClean.log b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.Build.CppClean.log
new file mode 100644
index 0000000..3da581d
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.Build.CppClean.log
@@ -0,0 +1,25 @@
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\RELEASE\MAIN.OBJ
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\RELEASE\LEG.OBJ
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\RELEASE\INVERSEKINEMETICS.OBJ
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\RELEASE\DATALINE.OBJ
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\RELEASE\VC100.PDB
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\RELEASE\HEXAPOD APP.EXE
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\HEXAPOD APP\RELEASE\HEXAPOD APP.EXE.INTERMEDIATE.MANIFEST
+C:\USERS\GEBRUIKER\DROPBOX\PROJECTEN\VISUAL-STUDIO\PROJECTEN\HEXAPOD\RELEASE\HEXAPOD APP.PDB
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\DataLine.obj
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\InverseKinemetics.obj
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\Leg.obj
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\Main.obj
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\cl.command.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\CL.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\CL.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\link.command.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\link.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\link.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\mt.command.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\mt.read.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\mt.write.1.tlog
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\Hexapod app.exe.intermediate.manifest
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Hexapod app\Release\vc100.pdb
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Release\Hexapod app.pdb
+C:\Users\Gebruiker\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\Release\Hexapod app.exe
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.exe.intermediate.manifest b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.exe.intermediate.manifest
new file mode 100644
index 0000000..ecea6f7
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.exe.intermediate.manifest
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.lastbuildstate b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.lastbuildstate
new file mode 100644
index 0000000..96a78b9
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.lastbuildstate
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Release|Win32|C:\Users\MangaValk\Dropbox\Projecten\Visual-Studio\Projecten\Hexapod\|
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.unsuccessfulbuild b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Hexapod app.unsuccessfulbuild
new file mode 100644
index 0000000..e69de29
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/InverseKinemetics.obj b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/InverseKinemetics.obj
new file mode 100644
index 0000000..f229457
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/InverseKinemetics.obj
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bc438e275014aee6c164c669ac4cebd46146966b1776030d5904c1a6ff0758af
+size 14209
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Leg.obj b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Leg.obj
new file mode 100644
index 0000000..931eaee
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Leg.obj
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d75f9088833b717db33f506810893218897b2051fc7df58ab85237dfda4e8705
+size 105820
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Main.obj b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Main.obj
new file mode 100644
index 0000000..2e1fdd8
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/Main.obj
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2a15da32818284c94d248b147a9af2837b1243ee0622363b402fd165a5b6d81e
+size 172987
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/cl.command.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/cl.command.1.tlog
new file mode 100644
index 0000000..fcc4dc4
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/cl.command.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/link.command.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/link.command.1.tlog
new file mode 100644
index 0000000..de5e76c
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/link.command.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/link.read.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/link.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/link.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/link.write.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/link.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/link.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/mt.command.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/mt.command.1.tlog
new file mode 100644
index 0000000..f3faeec
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/mt.command.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/mt.read.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/mt.read.1.tlog
new file mode 100644
index 0000000..d153ef7
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/mt.read.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/mt.write.1.tlog b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/mt.write.1.tlog
new file mode 100644
index 0000000..fe6802f
Binary files /dev/null and b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/mt.write.1.tlog differ
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/vc100.pdb b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/vc100.pdb
new file mode 100644
index 0000000..680db7d
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/vc100.pdb
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dfda23bdf78a34117a470d4ddc8ac2f66463aa8f96d0bc58e3e81e3ff3a4f4f6
+size 307200
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/Release/vc110.pdb b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/vc110.pdb
new file mode 100644
index 0000000..25dc2ef
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/Release/vc110.pdb
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9d0241092f1190615f353c3e25fbdf77510879e795f2f2a60f18a134c63d2de5
+size 200704
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod app/VectorStructure.h b/2012-simulation/ik-visualiser-vs/Hexapod app/VectorStructure.h
new file mode 100644
index 0000000..77a8a94
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod app/VectorStructure.h
@@ -0,0 +1,60 @@
+//VectorStructure.h
+
+#ifndef VectorStructure_H
+#define VectorStructure_H
+
+#pragma region VectorStruct
+/*struct Vector3D
+{
+ float X;
+ float Y;
+ float Z;
+
+ Vector3D()
+ {
+ X = 0;
+ Y = 0;
+ Z = 0;
+ }
+
+ Vector3D( float x, float y, float z )
+ {
+ X = x;
+ Y = y;
+ Z = z;
+ }
+
+ Vector3D operator* ( Vector3D rhs )
+ {
+ Vector3D temp;
+ temp.X = X * rhs.X;
+ temp.Y = Y * rhs.Y;
+ temp.Z = Z * rhs.Z;
+ return temp;
+ }
+
+ Vector3D operator+ ( Vector3D rhs )
+ {
+ Vector3D temp;
+ temp.X = X + rhs.X;
+ temp.Y = Y + rhs.Y;
+ temp.Z = Z + rhs.Z;
+ return temp;
+ }
+};*/
+
+struct Vector2D
+{
+ float X;
+ float Y;
+
+ Vector2D( float x, float y )
+ {
+ X = x;
+ Y = y;
+ }
+};
+#pragma endregion Struct
+
+#endif
+
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod.sdf b/2012-simulation/ik-visualiser-vs/Hexapod.sdf
new file mode 100644
index 0000000..2ca066c
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod.sdf
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f538f5f22c32149810f87899e76f72ed73273126088754df0ed7b701d76c1771
+size 35192832
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod.sln b/2012-simulation/ik-visualiser-vs/Hexapod.sln
new file mode 100644
index 0000000..5adcc2d
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Catmull-Rom app", "Hexapod app\Catmull-Rom app.vcxproj", "{7B99C6A5-E418-4C29-AB89-66A3FEE46034}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {7B99C6A5-E418-4C29-AB89-66A3FEE46034}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7B99C6A5-E418-4C29-AB89-66A3FEE46034}.Debug|Win32.Build.0 = Debug|Win32
+ {7B99C6A5-E418-4C29-AB89-66A3FEE46034}.Release|Win32.ActiveCfg = Release|Win32
+ {7B99C6A5-E418-4C29-AB89-66A3FEE46034}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod.suo b/2012-simulation/ik-visualiser-vs/Hexapod.suo
new file mode 100644
index 0000000..64c8747
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod.suo
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:edba64752dbd6f2af64b3374a492a51e4aa14e60d302a7717e3200d26004ed9c
+size 31232
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod.v11.suo b/2012-simulation/ik-visualiser-vs/Hexapod.v11.suo
new file mode 100644
index 0000000..e72172f
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod.v11.suo
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5a70951e76757076299de8a87ac82d9306a062783fa956c0e7c00d6974df2e8d
+size 72192
diff --git a/2012-simulation/ik-visualiser-vs/Hexapod.v12.suo b/2012-simulation/ik-visualiser-vs/Hexapod.v12.suo
new file mode 100644
index 0000000..fd5e628
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Hexapod.v12.suo
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ab601fe8807b5a1b99273f1dae127c95fdea9716d878284bcace21dc30490666
+size 74752
diff --git a/2012-simulation/ik-visualiser-vs/README.md b/2012-simulation/ik-visualiser-vs/README.md
new file mode 100644
index 0000000..8514c1b
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/README.md
@@ -0,0 +1,5 @@
+# Visualisation of the leg movement.
+
+connected with:
+ - http://gitlab.mangavalk.com/mangavalk/Hexapod-Archief
+ - http://gitlab.mangavalk.com/mangavalk/Hexapod
\ No newline at end of file
diff --git a/2012-simulation/ik-visualiser-vs/Release/Hexapod app.pdb b/2012-simulation/ik-visualiser-vs/Release/Hexapod app.pdb
new file mode 100644
index 0000000..804ab8e
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/Release/Hexapod app.pdb
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:056ea8783f47688e1d5b83d3fe5bd52a5a8bdeeadf989bdba29c5a18d3339d18
+size 560128
diff --git a/2012-simulation/ik-visualiser-vs/hhexapod.suo b/2012-simulation/ik-visualiser-vs/hhexapod.suo
new file mode 100644
index 0000000..099c780
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/hhexapod.suo
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:26418b71e2049dec7a909dc715c4ec13382b29e7834409467dd5b3875c6d101a
+size 51200
diff --git a/2012-simulation/ik-visualiser-vs/ipch/catmull-rom app-56de0788/catmull-rom app-6e2c96ba.ipch b/2012-simulation/ik-visualiser-vs/ipch/catmull-rom app-56de0788/catmull-rom app-6e2c96ba.ipch
new file mode 100644
index 0000000..bdee6ed
--- /dev/null
+++ b/2012-simulation/ik-visualiser-vs/ipch/catmull-rom app-56de0788/catmull-rom app-6e2c96ba.ipch
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6abef0cb80860fca801cf2927b95ebbe7e38515bec1cf7f86e9dcc12a391e572
+size 49020928