History of vision chips designed in Ishikawa Watanabe Laboratory of the University of Tokyo is summarized in a short Youtube video:
Vision Chips at Ishikawa Watanabe Lab
...
Another experiment we performed in class was called Front and Center. In this experiment, we poured two 200mL cylinders of water into a divided container. One of the 200mLs was cold tap water and the other was hot enough that we could burn ourselves on the glass. In each cylinder, we added a drop of food coloring -- blue for the cold water, green for the warm -- to differentiate them. Once we had poured the two cylinders in their compartment, we removed the divider, causing an interesting and beautiful reaction. Before we performed the experiment, I had hypothesized that because the two temperatures would create two different densities, the water would separate, the cold water at the bottom and hot water on top. This hypothesis was correct - when the two masses of water touched, they mixed slightly at the edges, then do-si-doed, with the hot green water rising to the top and the blue water sinking to the bottom. Where they touched they transferred heat, creating a turquoise zone as well. This reaction occurred for the same reason I hypothesized it would -- when the water is warmer, the molecules push farther apart, making it less dense and therefore likely to rise above the denser cold water. Despite my hypothesis’ accuracy, performing and seeing the result of the experiment for myself was a fascinating experience, because the reaction was so distinct. In conclusion, when mixed, denser fluids will sink and less dense fluids will rise.using System;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Runtime;
using CadApp = Autodesk.AutoCAD.ApplicationServices.Application;
[assembly: CommandClass(typeof(UnknownCommandException.MyCommands))]
namespace UnknownCommandException
{
public class MyCommands
{
private bool _handled = false;
[CommandMethod("HandleUkCm")]
public void HandleUnknownCommandEvent()
{
var doc = CadApp.DocumentManager.MdiActiveDocument;
var ed = doc.Editor;
if (!_handled)
{
doc.UnknownCommand += Doc_UnknownCommand;
_handled = true;
ed.WriteMessage("\nUnknownCommand event handler has been added.");
}
else
{
doc.UnknownCommand -= Doc_UnknownCommand;
_handled = false;
ed.WriteMessage("\nUnknownCommand event handler has been removed.");
}
}
private void Doc_UnknownCommand(object sender, UnknownCommandEventArgs e)
{
var msg = "This is custom UnknowCommand event handler." +
"\n\nClick \"Yes\" to suppress ths event handler" +
"\nClick \"No\" to keep it" +
"\n\n Do you want to suppress this event handler?";
var res = System.Windows.Forms.MessageBox.Show(
msg, "Custom UnknownCommand Handler",
System.Windows.Forms.MessageBoxButtons.YesNo,
System.Windows.Forms.MessageBoxIcon.Question,
System.Windows.Forms.MessageBoxDefaultButton.Button2);
if (res== System.Windows.Forms.DialogResult.Yes)
{
throw new ApplicationException(
"Stop custom UnknownCommand event handler.");
}
}
}
}