Wolfram Computation Meets Knowledge

Date Archive: 2012 June

Best of Blog

Designing Jigsaw Puzzles with Mathematica

I was browsing Mathematica user communities for original projects and came by the following question: "How can I calculate a jigsaw puzzle cut path?" Such creative problems are in abundance at our user forums, the Wolfram Demonstrations Project, and The Mathematica Journal, which tells me that Mathematica, at its heart, is a conduit for creativity: it's a programing language that likes the challenge of convoluted problems and inspires elegant, often unexpected solutions. In its essence, a jigsaw puzzle is a tiling or tessellation, which means there are no gaps or overlaps between the pieces. Moreover, every piece is unique and has a definite place in the puzzle. Uniqueness is achieved by making a piece be a part of a large image, have a specific shape, or a combination of these. There are many approaches to producing such patterns. For instance, this single mathematical formula from our graphics examples produces a beautiful tessellation: However, since this question was asked on Mathematica Stack Exchange, a young, modern technical Q&A site, it was very specific in accordance with the community rules. Here are the author's requirements: All pieces must be unique to preclude placing a piece in the wrong spot. Pieces must be interlocking such that each piece is held by adjacent pieces. It must be possible to generate different paths (sets) for a specific shape that are not merely rotations or reflections of the first. Additionally, the author of the question notes that he seeks original designs alternative to typical mass-produced shapes.
Computation & Analysis

How Do YOU Type “wolfram”? Analyzing Your Typing Style Using Mathematica

Wouldn't it be cool if you never had to remember another password again? I read an article in The New York Times recently about using individual typing styles to identify people. A computer could authenticate you based on how you type your user name without ever requiring you to type a password. To continue our series of posts about personal analytics, I want to show you how you can do a detailed analysis of your own typing style just by using Mathematica! Here's a fun little application that analyzes the way you type the word "wolfram." It's an embedded Computable Document Format (CDF) file, so you can try it out right here in your browser. Type "wolfram" into the input field and click the "save" button (or just press "Enter" on your keyboard). A bunch of charts will appear showing the time interval between each successive pair of characters you typed: w–o, o–l, l–f, f–r, r–a, and a–m. Do several trials: type "wolfram," click "save," rinse, and repeat (if you make a typo, that trial will just be ignored).
Announcements & Events

Explore Wolfram SystemModeler: Free Virtual Conference

Explore the contents of this article with a free Wolfram SystemModeler trial. We are excited to announce the first Wolfram SystemModeler Virtual Conference, to be held Tuesday, June 19. SystemModeler is a complete modeling and simulation tool that handles modeling of systems with mechanical, electrical, thermal, chemical, biological, and other components, as well as combinations of different types of components.
Education & Academic

Graph Theory and Finance in Mathematica

Diversification is a way for investors to reduce investment risk. The asset values within a well-diversified portfolio do not move up and down in perfect synchrony. Instead, when some assets' values move up, others tend to move down, evening out large, portfolio-wide fluctuations and thus reducing risk. A simple way to explore diversification within the stock market is to invest in stocks from different sectors or different geographic regions. Beyond stocks, investors can consider diversification in different asset classes such as bonds, commodities, or real estate. The following chart shows the S&P 500 and Dow Jones Industrials indices, indicators of return that move in sync with each other. You can download the Computable Document Format (CDF) version of this post below to execute this code yourself.