June 2008 - Posts
First off this post doesn’t contain that much textual substance, for more read the previous post I made, also the graphing library I am using is F# for Visualization.
While it is possible to plot these functions by hand in the very, very (emphasis on very, e.g. a plane) simple cases anything other than that almost certainly requires some form of professional mathematical package, or in this case a plotting library.
I have only used F# for Visualization (now uses WPF not DirectX) on my home machine which is (briefly): 2.4GHz Core 2 Duo, 4GB RAM, NVidia 7900 GS 256MB.
I found the performance of the 3D plotting really quite good.
Note: there is no point to the below graph, I just wanted to see if using somewhat over zealous input ranges would slow this thing down – it didn’t on my machine (well probably a few ms but nothing really noticeable).
I was curious…
…still was very fast to generate, however when I rotate the graph there is a very small pause (< 1s).
Note: you can also interact with these graphs with the mouse, so you can rotate them etc.
Having played with F# for Visualization quite a bit now I am starting to now use it all the time for this kind of thing rather than firing up something else like Octave, plus you get the added bonus of using F#!
Before I go I must remember that if I insert a few fairly large images in Live Writer then subsequent typing will be on a several second delay – so annoying!!!!
If you can’t be bothered watching the video the crux of the matter is this – a guy see’s a girl in the bar, throws a few messages her way as well as a drink (via Surface) then leaves the bar with her.
I must say its a very appealing way to attract the women out at night – what shocks me is that both were sober!
That ad just really made me laugh, I found it pretty tacky – I can imagine some people abusing the system by using some form of round-robin approach with sending messages to people, e.g. a guy just pings every table with women with various messages (yep – that’s right, they are playing the numbers game)!
I am writing this shaking my head in disbelief – do you really think that it would be that easy to attract women if there were Surface products everywhere?
EDIT: I can actually envisage a time where people start suing for harassment in bars for receiving unwanted cheesy little messages sent via the trusty Surface product! …
Last time I checked R# 4 was in Beta, just randomly browsed to the download page for the nightly builds and see that R# 4 is RC3.
I must say I am somewhat disappointed with JetBrains with regards to Resharper, we are several months past the release of Visual Studio 2008 and now only at this stage they are nearing release of R# 4 which has support for C# 3.0. It makes you question their commitment to .NET tooling.
For the most part I just use R# for getting rid of the grunt work, e.g. when using a TDD approach you can just add methods etc that don’t exist in types with the press of a few key’s.
My hope is that one day VS will ship with tooling that makes me not want to buy R#…looks like that day is a lonnnnnnng way off though.
I tend to use Octave for maths based stuff, including visualizing the plotting of functions and so on. Anyway to my point, I have found that GNU Plot as great a tool it is to be somewhat linear in its way of thinking when rendering the (2D) graph - as an example if you devise a function with inputs that should produce (if by hand) a very nice curved plot then the chances are that GNU Plot will eradicate that expected curve and leave you with something very jagged.
Note: I'm not sure if there is an option somewhere in either Octave or GNU Plot to basically say "hey! throw the smooth curves in!!" so I apologise beforehand if such an option exists.
This has really started to annoy me this last week, so I started to think of alternatives to get a really nice visualisation stack that played nicely with one of the several languages that I am familiar with. As you will no doubt be aware in the past I have used (or at least tinkered with) NPlot, and ZedGraph and I can only tip my hat to the developers involved as they have created really great libraries there, oh and they are FREE! Both these frameworks are great, but they require a number of lines to actually get them setup correctly - even for trivial plotting. I wanted something that was quick and easy, and preferably something that worked well with functions - I started looking at F# alternatives...came across Flying Frogs F# for Visualization.
Last time I looked at FF's FS Vis (it's a mouthful so I'll cut it down!) it was based on directx, however I remembered reading somewhere that Jon had in fact ported it to WPF - this all sounded promising, WPF is a nice stack for graphing. I downloaded the bits, and literally with 1 line (and short) I can define the x and y range of values for the graph, and pump in a function to that plotting function and it will go ahead and use the x range as the independent values and go from there, excellent! ...but does it render super silky curves? yes! Beautiful! Although firing up VS to just do some visualising seems a little extreme it actually works well - the only tedious bit is referencing the assemblies required, once that has been done I found the workflow like that of any other mathematical environment - define the function(s), ranges and then invoke some plotting function. I've only played with the 2D plotting thus far - I just wanted to use it for some work I was doing, I am by no means totally clued up with what the graphing library can do.
Note: simple I know, not used this library for long - but the results seem to be pretty nice. There is some typesetting as well but I've yet to look at that in any real depth.
Note: I can't remember what Matlab produces - too pricey for me!