Ambiguous Object (Circle-Triangles)

Ambiguous Object (Circle-Triangles)

thingiverse

When viewing an ambiguous object from two different angles, the shape of the object appears to change. When you see an object, your eyes capture the 3D object as a 2D projection. It can be thought of like a camera taking a picture of a room and returning a 2D image. Our brains then extrapolate from the 2D visual stimuli to let us understand 3D space, that is, perceive depth. Ambiguous objects exploit this by projecting a different shape onto a plane from different angles. Simply, a projection of a 3D object is to move all points by a normal vector to the plane until all points of the object lie on the plane, like flattening the object. So, we want to find a 3D curve which when projected onto a plane at two different angles, the projections will be different. Theoretically, the angles can be selected at will, but for the purposes of a 3D object which appears differently in its reflection, we want to use an angle of 45 degrees or Pi/4 radians. The reflection of the object shows the other side of the object at roughly 45 degrees as well. Viewing the object from a further distance will improve the effect of the illusion since the slight difference in angle becomes inconsequential to the viewer. A "view from infinity" refers to this, in which a slight difference in location on the object accounts for only a slight change in angle of view when the viewer is far away. It can be thought of like how shooting a bullet at a very small angle off center can result in the bullet hitting far off target. This choice of angle lets us take a point on the object, say <r1,r2,r3>, and project it as <r1,r2,r3>+s1<0,-1,-1> and take the reflection of the point as <r1,r2,r3>+s2<0,1,-1> where s1 and s2 are scalars. And finally, the projection we see is <t,f(t),0> and <t,g(t),0> respectively. Since the optical illusion relies on our brain recognizing and object, the intended image should be, well, recognizable. So this object uses functions for easily recognizable shapes, a circle and two triangles. These are the two projections we want to use, f(t) and g(t). Then we use the projection such <r1,r2,r3>+s1<0,-1,-1> = <r1,r2-s1,r3-s1> = <t,f(t),0> and <r1,r2,r3>+s2<0,1,-1> = <r1,r2+s2,r3-s2> = <t,g(t),0>. We can use algebraic manipulation and vector addition rules to find r2 and r3 in terms of our projections, g(t) and f(t). Specifically, r2 = f(t)+g(t) / 2 and r3 = f(t) + g(t) / 2. In practice, we're not dealing with functions in cartesian coordinates, so the function must be broken up into parts. In practice, this means we will have a top half and bottom half of our functions, so we'll have to graph additional parametric functions. In my code, you can see this in having multiple sum and difference functions. The two triangles also are composed of 4 functions, so there are 4 parametric functions to graph. Thus, this leaves a parametric 3D curve which when projected onto perpendicular planes at a 45 degree angle will form the curves f(t) and g(t). In order to make a 3D object, the curve is simple thickened and parametrized such that the curve extends from a flat z-axis until it forms the curve at the top of the figure.

Download Model from thingiverse

With this file you will be able to print Ambiguous Object (Circle-Triangles) with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Ambiguous Object (Circle-Triangles).