This was several months ago. I was talking to a hairdresser when I was having my hair cut.
He said hairdressers buy their own scissors all by themselves. Barber shops don't contribute any money for their scissors. I was very surprised when he said their professional scissors cost as much as 100 thousand yen(= one thousand dollars).
"Wow! That's amazing! I've never seen such expensive scissors. How are they different from cheap ones?" I asked.
"Well, feeling of the scissors in my hands matters, I think." he answered.
"Can you tell the difference?"
"Sure! They're absolutely different. I can tell by just gripping them."
I'm always impressed by craftsmen's stories like this. I imagined they had developed sharp sense of touch in their hands, and they wanted to use special scissors which can be maneuvered precisely. And of course, there were other craftsmen making special scissors for hairdressers.
"I'm curious. What is the concrete difference?"
"Cheap scissors seem to have a bad distribution of weight. And ... good ones' shape is designed in great detail and sophisticated."
Then he showed me his scissors. The shape of the handle had smooth and subtle curves, which wouldn't be noticed without his explanation.
"This subtle dent fits my finger when I use it in this position."
He explained this by pretending to cut hair. The hairdresser talking about his own tool looked really happy.
He said their scissors were semi-custom made. They chose each part and assembled their own scissors. I had believed that scissors were manufactured under mass production, but their professional scissors were not. I guessed the industry of these professional scissors was completely different from the industry of cheap stationery scissors in terms of culture, logistics, and the process of design.
I'm interested in these designs of artifacts because I develop CAD software. I can't help wondering whether the shape can be designed with CAD.
It's easy to answer whether the shape can be represented with CAD. The answer is "Yes".
But it's difficult to answer whether the scissors can be designed with CAD. We can't say yes easily although the shape can be represented with CAD, because it's difficult for computers to transfer feel of scissors' weight and texture.
However, I want to try such CAD.
I wonder what the scissors designers are concerned about while they are designing. I think they aren't concerned about the scissors but about the hands gripping the scissors. In my opinion, to design scissors is to design the hands gripping the scissors. They must be concerned to navigate hairdressers' hands via the scissors.
This is what design is. To design a bottle of water is to design a shape of water in the bottle. To design a shoe is to design a foot in the shoe. To design something is to design the relation between the target and its surroundings.
Can CAD design professional scissors? I want to be able to say "Yes" someday.
2009年11月26日木曜日
2009年11月13日金曜日
Hisui, a CAD framework I developed for the new era
Today, I want to let you know "Hisui", which is a new CAD framework I developed. The framework is based on OpenGL, and is written in C#. I designed the framework for the new era of CAD I mentioned in the previous entry. You can download this framework for free from http://www.quatouch.com/products/hisui.html (Japanese only).
About the name "Hisui"
"Hisui" means "jade" in Japanese. Why did I give a gem's name?
There is a programming language named Ruby, which was born in Japan. We can implement what we want easily and quickly with Ruby. I was impressed by the concept of Ruby, so I decided to give my product a gem's name.
Finally I chose jade because my company, QuaTouch Inc., was founded in May, the birthstone of which is jade. Furthermore, jade has Asian connotations because jade was much prized in ancient Japan.
Why free?
I believe a CAD framework for the new era should be available for free because such framework must be a common platform of engineering. So far, most of CAD applications have been very expensive, and we need to pay an extra license fee to develop our own applications upon the SDKs of those CAD applications. This expensive price system has worked because gigantic enterprises have invested a lot of money for CAD. But now, I think the rule of the game is being changed, and we can't expect such large investments any more. Instead, we need a CAD framework which can be used by small companies as a common platform. I want Hisui to be such common platform.
Why C#?
It's because C# is the best choice to develop software which runs fast enough, in a cost effective way.
Why not C/C++?: Although C/C++ would be the best choice if you wanted to pursue performance, I think C# is fast enough. Meanwhile, to develop software in C/C++ costs much time and money because C/C++ is too complicated to develop software casually. I chose C# so that Hisui will be a platform which helps casual software developments.
Why not Java?: Java is one of the good candidates which help casual developments. But Java was developed under the concept "The network is the computer", which is not suitable for a CAD framework. It is difficult in Java to call native APIs and to optimize performance manually. On the other hand, C# supports native API invocations. We can use "struct" data structure to define primitive data types such as vectors, so that those tiny objects won't be managed under the garbage collection. Furthermore, we can write "unsafe code" in C# to handle pointers.
Why not Ruby?: Some people may wonder why I didn't develop in Ruby although I mentioned I was impressed by the concept of Ruby. But Ruby's performance is not good enough to develop CAD software. Actually, we can mimic the concept of Ruby with C#, as Ruby itself is written in C.
The concept of Hisui
In my opinion, a framework shouldn't claim any strong concepts, although an application on the framework should have its own concept. A framework is not responsible for claiming its own concept, but for supporting applications on it to implement their concepts. I designed Hisui not to have its own strong concept, so that Hisui wouldn't force its applications to obey any concepts.
However, if I dare to write, the characteristics of Hisui is as follows:
I'm sorry that there are no documents of Hisui written in English. I want to write English documents some day. If I write them, I will inform you on this blog.
About the name "Hisui"
"Hisui" means "jade" in Japanese. Why did I give a gem's name?
There is a programming language named Ruby, which was born in Japan. We can implement what we want easily and quickly with Ruby. I was impressed by the concept of Ruby, so I decided to give my product a gem's name.
Finally I chose jade because my company, QuaTouch Inc., was founded in May, the birthstone of which is jade. Furthermore, jade has Asian connotations because jade was much prized in ancient Japan.
Why free?
I believe a CAD framework for the new era should be available for free because such framework must be a common platform of engineering. So far, most of CAD applications have been very expensive, and we need to pay an extra license fee to develop our own applications upon the SDKs of those CAD applications. This expensive price system has worked because gigantic enterprises have invested a lot of money for CAD. But now, I think the rule of the game is being changed, and we can't expect such large investments any more. Instead, we need a CAD framework which can be used by small companies as a common platform. I want Hisui to be such common platform.
Why C#?
It's because C# is the best choice to develop software which runs fast enough, in a cost effective way.
Why not C/C++?: Although C/C++ would be the best choice if you wanted to pursue performance, I think C# is fast enough. Meanwhile, to develop software in C/C++ costs much time and money because C/C++ is too complicated to develop software casually. I chose C# so that Hisui will be a platform which helps casual software developments.
Why not Java?: Java is one of the good candidates which help casual developments. But Java was developed under the concept "The network is the computer", which is not suitable for a CAD framework. It is difficult in Java to call native APIs and to optimize performance manually. On the other hand, C# supports native API invocations. We can use "struct" data structure to define primitive data types such as vectors, so that those tiny objects won't be managed under the garbage collection. Furthermore, we can write "unsafe code" in C# to handle pointers.
Why not Ruby?: Some people may wonder why I didn't develop in Ruby although I mentioned I was impressed by the concept of Ruby. But Ruby's performance is not good enough to develop CAD software. Actually, we can mimic the concept of Ruby with C#, as Ruby itself is written in C.
The concept of Hisui
In my opinion, a framework shouldn't claim any strong concepts, although an application on the framework should have its own concept. A framework is not responsible for claiming its own concept, but for supporting applications on it to implement their concepts. I designed Hisui not to have its own strong concept, so that Hisui wouldn't force its applications to obey any concepts.
However, if I dare to write, the characteristics of Hisui is as follows:
- Easily handle discrete geometrical structures, such as polygonal mesh, point cloud, and so on. Hisui has these following data structures:
- Hisui.Spatial.ITriangleSoup: set of triangles like STL format.
- Hisui.Spatial.IPolygonMesh: polygonal mesh like Wavefront's OBJ format.
- Hisui.Spatial.IPolygonShell: polygonal mesh with topological information in half-edge structure.
- Easy to extend its function with plug-in modules developed by users. Users can plug-in users' own entities, graphical scenes, serializers, and commands in user friendly manners.
- Doesn't prevent users from calling OpenGL APIs directly. So, you can use Hisui as a high functional OpenGL platform instead of GLUT.
I'm sorry that there are no documents of Hisui written in English. I want to write English documents some day. If I write them, I will inform you on this blog.
登録:
投稿 (Atom)