Articles

15.1: 1. Power of Patterns- Domino Tiling


Power of Patterns: Domino Tiling

Grade 5-6

OVERVIEW & PURPOSE

Students gain an understanding of visualizing problems and explore the mathematical world of tiling.

OBJECTIVES

  1. Use a systematic approach to discover the pattern of the different tiling (on 2 x n rectangle)

  2. Use knowledge of Fibonacci numbers to help create a proof

MATERIALS NEEDED

  1. Dominoes (6 dominoes per group)

  2. Paper

ACTIVITY

  1. Introduce the concept of tiling to students: focusing on tiling 2 x n rectangles with dominoes. (Provide an explanation of “2 x n” and examples of how dominoes can be moved)

  2. Rules:

    1. There can be no gaps or overlapping on the rectangle

    2. Rotating tiles to create different variations counts as another way of tiling. An example below: these are considered two different tiling


  1. Ask students to create a T-Table to keep track of their tiling. Labeled: ‘n’ to indicate how many dominoes they are using and ‘number of tilings’ to indicate the number of possible tiling.

  2. Students will work through the table. Encourage students to come up with a formula for their answer. With prior knowledge: students will discover the sequence is the Fibonacci sequence.

SOLVING

  • Fibonacci sequence: You add the two previous numbers and continue in the same pattern. (E.g. if your first two numbers are 1 and 2, you add 1+2 = 3, which makes 3 your third number.

  • Go over the various tiling patterns as a class


Writing Classes and Javadoc

The discussion starts by investigating methods in general. We will discuss how to write static methods first programs (and learn about the special main method in an application program) and then in simple library classes (such as Math and Prompt which programs can import) . We will learn about call frames: pictures that illustrate the universal parameter passing mechanism in Java: copy by value. We will also learn how to write methods that throw exceptions, if they are called with objects/arguments that do not meet their preconditions.

    The method header comprises the access modifiers (public static), return type (int), method name (min), and parameters (int a, int b) if this method threw any exceptions, they would appear next. We should be very familiar with reading method headers in Javadoc from a previous lecture.

If we wrote the statement it would display 3. If we had declared int x = 3, y = 8 and wrote the statement it would display 8

Generally, We call a method by writing its name, followed in parentheses by its arguments (one for each parameter in the method's header) As in the header (where parameters are separated by commas), arguments are are separated by commas as well. When we call a method, Java first evaluates each argument (each can be a simple or complicated expression) and transmits or passes it to its matching parameter this just means that Java uses each argument's value to initialize it matching parameter in the method. It is equivalent to writing first-parameter = first-argument, then second-parameter = second-argument, etc.

This method captures a common pattern that we have explored before (and why low 0 times--) <.
noting that the parameter times is initialized when the method is called (by its matching argument), so the for loop doesn't need to initialize it.

The general form of a call frame is always the same.

For another example, here is a call frame for the factorial method Note that after it returns to the call site, the value that it returns as a result is stored into the variable y.

IMPORTANT: If we do not execute a return statement in a void method (there is none in the code below), Java automatically does the equivalent of return when it reaches the end of the block that is the body of the method. Java DOES NOT allow an implicit return in a non-void method, becuase we MUST specify an expression that tells Java what value the method returns as its result but, because void methods return nothing, Java can reasonably include an implicit return at the end of the body.

The situation gets a bit more complicated and interesting with references, because everything is more complicated and interesting with references. Recall how to copy a reference into a variable: make the variable refer to the same object (this describes how references are passed from arguments to parameters as well). Although the value in the box of the argument cannot be changed in a method call (it will still refer to the same object), the state of the object that it refers to CAN BE CHANGED in the body of the method by calling mutators/commands.

Let's look at the call frame for the multiRoll method to illustrate his behavior. Assume again that this method is defined in a class named Utility and that we declare DiceEnsemble dice = new DiceEnsemble(2,6) and call System.out.println(Utility.multiRoll(dice,3))

    public static void main(String[] args)

We can direct Java to start our program (a collection of one or more classes) automatically in any special main method. In fact, any project can include multiple classes, and each class can have its own special main method (this is actually quite useful, and we will discuss this feature when we discuss testing classes in more detail). In such a situation, we must tell Java WHICH special main method to start with.

Any static method in a class can call any other static method in that same class, just by using its name and supplying arguments that match its signature (or, if overloaded, one of its signatures). We can also be a bit more consistent (and verbose) and call a static method by prepending the class name to the method's name. The following Application class shows a simple example of such code.

In fact, there may be many natural orders: e.g., in this example we could also meet the natural criteria by defining method c before method b or even before method a. The main method calls lots of other methods, so it typically appears last in the file.

In the "reverse natural" order: if the body of method a calls method a, then method a is defined after method b. In this case, the main method calls lots of other methods, so it typically appears first in the file. In this way, the most powerful methods appear at the top we can read the details of how they work aftward. Because Java uses a multi-pass compiler, these two orderings, or any others, are all legal. When we discuss mutually recursive methods, we will return to this topic again.

Now, some words on divide and conquer, and program complexity. Up until now, we have been putting all of our code in the main method, some of which have been a hundred or more lines of code. This practice is stopping here! From now on, we will be distributing complexity by writing methods, and placing them in the application program, or in class libraries. We can write, test, and debug each method (and each class) by idependently.

Each method, including main, should not comprise more than one or two dozen statements when a method gets too complicated (it does "this" and "that") then write a "this" method and a "that" method, and have the original method call these two new methods to get its job done. Another rule for keeping the complexity of each method small it to prohibit more than one loop (the most complex Java statement to think about) per method -or allow multiple loops, but not nested loops.

Given the use of a library class, the main method in the Application class must refer to its members by using both their class name and member name: e.g., int ordinal = DateUtility.ordinalDate(month, day, year)

Again, observe that inside this class, we refer to each member by just its name. Outside the class (in the Application class) we must refer to each static member by its class name followed by its member name.

Finally, note that there are no constructors for this class (and likewise no instance variables). We do not construct objects from this class we just use the class name directly to refer to the methods that we want to call from this class.

The editor includes a mechanism to locate and display a method easily in a program or library class. When a class is active in the editor, the Outline window lists all the methods in the class. We can easily view a method in the editor by clicking its name in the Outline window. As the number of methods in a class grows, this mechanism becomes more and more useful for quickly navigating files.

To the left of each method header is small shaded circle, containing either a minus sign or a plus sign. The minus sign means the method is fully disclosed the plus sign means the method body is non-disclosed/elided (we see only its header). Clicking the circle toggles between disclosed and elided method bodies.

We can also use the debugger to better understand methods and debug methods that we have written. The options displayed when we are stepping through a program appear as

  • Middle: The Step Over button (the arrow pointing over a bar, as we have discussed) executes a method as if it were a black box: it does not show what happens inside a stepped-over method, it just executes its entire body in one fell swoop.
  • Left: The Step Into button (the arrow pointing down between two bars) executes a method by first showing its parameters and local variables (in the Variables tab). Then, we can step through each statement in the method and watch how it executes. If we step through a return statement, we will be returned to the code that called the method. If the method we are stepping through calls another method, we can choose to step-into or step-over that other call.
  • Right: The Step Out button (the arrow pointing up out of two bars) executes all the remaining statements in the current method, up to and including its return statement.

When we step into a method, its parameter and local variables appear in the Variables tab. All its parameters will be intialized to the values of their matching arguments. The name of the method will also appear underneath Thread[main] at in the Debug tab. If it calls another method, that method's name will appear above it (now directly underneath Thread[main]) whenever a method returns, its name is removed from the Debug tab and control returns to the method that called it (the one right below it in the Debug tab).

If you click any method name in the Debug tab, it will show you the code that is executing in that method (in the editor window) and that method's parameters and local variables (in the Variables tab). In this way, it is easy to shift focus among the methods that are currently executing. The Application.main method remains at the bottom of these method names in the Debug tab, throughout the execution of the program.

In the example below, we are looking at the bottom of the daysIn method note its parameters have been initialized: month is 2 and year is 2006. In fact, this method has already called the isLeapYear method (it is at the top of the methods, so it is the one currently executing), but we have refocused our attention back to the daysIn method that called it, by selecting this method in the Debug tab.

    When a programmer thinks about using a class, he/she is interested solely in its public members: what constructors can be used to to build objects and what methods can be called to perform useful operations on these objects. Such a programmer is interested in WHAT can be done, but not HOW it is done (so long as the implementation works and is efficient). Reading Javadoc is the prime way to learn this information.

In this course we will mostly take the roles of users (as we have in previous lectures) and implementors (as we will in this one). As implementors, we will typically be given a design, and then be required to implement it. To accomplish this process, we will have to indentify the state that each object stores, then declare it and define the required constructors and methods.

    The designer tests a class by developing a test suite along with the Javadoc because the designer doesn't know anything about the implementation, this is black-box testing. Some test suites are open-ended (a driver) and some are closed (we will learn about JUnit testing).

The most important thing to know about a class is that any member defined in a class can refer to any other member defined in that same class, EVEN IF ITS ACCESS MODIFIER IS private. So, access modifiers restrict what members defined OUTSIDE a class can access they do not restrict what members defined INSIDE a class can access. This rule allows a class implementor to declare instance variables private, so they cannot be directly accessed by code OUTSIDE the class, and still write constructors/method INSIDE the class that access them in fact, often accessor/query methods just return the values stored in some private instance variable.

The Rational class is much simpler: it must store only the numerator and denominator of the rational number (fraction). It declares its instance variables as follows.

Classes typically group the declarations of all their fields at the top or bottom (although there are no rules requiring this placement) Recall that Javadoc pages show fields first, so declaring them at the top is reasonable. Another perspective is that instance variables are private details, so declaring them at the bottom (out of the way) is reasonable.

Whenever new constructs an object, the first thing that it does is process all the field declarations in the class, which includes reserving space for all these field and initializing them. Unlike local variables, ALL FIELDS ARE INITIALIZED when they are declared: if we do not explicitly initialize them in their declarations, then Java implicitly initializes them: for the primitive types, it uses 0 for int, 0. for double, false for boolean, and the null character for char for all reference types it uses null (meaning that they do not refer to any object).

For some instance variables a constructor may do nothing special: it leaves them with the initial values they received when declared. In other cases it initializes (actually reinitializes, given the discussion above) instance variables using the arguments passed to the constructor's parameters the constructor often validates these arguments first (throwing IllegalArgumentException if they are incorrect).

There are classes, some quite complicated, in which constructors take no arguments and reinitialize no fields. In these cases, the fields are initialized correctly in their declarations (either explicitly or implicitly). The Timer class is one example of this kind of class. Its constructor looks like In fact, if we fail to define any constructor for a class, Java will automatically supply one that looks like this one (with the appropriate class name). But, if we define even one constructor for a class, Java will not overload the constructor(s) by defining this one.

Most classes define at least one constructor (and many overload the constructor). These constructors always have parameter that help reinitialize instance variables.

  1. The name of a parameter (defined in the constructor/method header)
  2. The name of a local variable (defined in the constructor/method body)
  3. The name of a field (defined in its class)

But, Java does allow instance variables to have the same names as parameters or local variables. When this happens, it is called a variable name conflict, because when we use that common name, there is a conflict as to what it means. Whenever there is a variable name conflict, the name by itself NEVER refers to the instance variable it ALWAYS refers to the parameter or local variable. If instead we want to refer to the instance variable, we must preface its name with this. (this is a keyword). In a constructor, this is a reference to the object being constructed and this.numberOfDice refers to the numberOfDice instance variable defined inside the class. In fact, writing this.numberOfDice is always a legal way to refer to the numberOfDice instance variable in the object being constructed, whether or not there is a variable name conflict.

So, in the constructor above, both parameter variables have a name conflict with two of the instance variables. The if statements, which check numberOfDice and sidesPerDie, are testing the parameter variables the statements store the values of the parameter variables (which disappear when the constructor finishes executing) into the instance variables (which exist so long as the object they are in exists). If we wrote numberOfDice = numberOfDice then Java would just store the parameter's value back into the parameter variable: it stores nothing into the instance variable! Such a statement can cause a very hard to locate bug!

Another way around this whole "name conflict" problem is to change the parameter names e.g. use number and sides. With no name conflicts, so we can write just numberOfDice = number and sidesPerDie = sides. But, it is often the case that a well chosen name for an instance variable is replicated as a parameter name, because it captures exactly the right description in such cases we must understand name conflicts and use this to resolve them.

But Java provides an even simpler way to define this constructor (even if it requires us to learn a new language feature: a different context in which to use this). The actual constructor appears as In the constructor above this says "to initialize the instance variables, use another constructor from this class, one taking two int arguments. This is a common pattern, where one general constructor (with many parameters) is used by one or more special constructors (with fewer parameters) to do the initializations. Note that if we needed, we could add more statements to the constuctor AFTER this one (here, none are needed).

In fact, another way to handle all the initialization in this class is to declare The first constructor would work as before, reinitializing numberOfDice and sidesPerDie using the parameters. But the second constructor could be simplified to contain nothing in its body, because now when the instance variables are declared, they correctly represent two, six-sided dice.

Thus, constructors act as middlemen: they accept arguments, check these values for correctness, and ultimately use them to (re)initialize instance variables (if they are correct). Because instance variables are private, they can be initialized only in the declaration themselves, and reinitialized by a constructor defined inside the class.

  • Zero is always stored as 0/1
  • The denominator is always stored as a positive value
  • The numerator and denominator are reduced to have no common factors

The following more special constructors create new objects by using this (in the sense of using another constructor in this class to initialize the instance variables)

    Mutator/command methods can access and store into instance variables declared in the class they change the state of the object they are called on.

Methods often have few or no parameters, because they primarily operate on the instance variables of an object. The pips showing for each die are computed by the randomDie method, which We will examine later.

Let us see how to hand simulate a call to this method by using a call frame. Pay close attention to how this, the implicit parameter, is initialized by the implicit argument. Assume that we have declared and now we execute the statement We illustrate the call of this method by the call frame below (assume that we roll a 3 on the first die and a 5 on the second).

This method then examines and changes the instance variables in this object, as well as the local loop index variable i. Hand simulate this code, again assuming randomDie returns 3 when it is called the first time and 5 the second.

Note that by writing this.rollCount we are explicitly showing which object is being referred to when the rollCount index variable is accessed. As stated above, even if we wrote just rollCount, because there are no name conflicts, the meaning of using this variable is exactly the same as this.rollCount.

Notice too the call to this.randomDie() it means to call the randomDie method on the object that this refers to, which is the same object on which roll is called. Generally, non-static methods inside a class can call other non-static methods in that same class, to help them accomplish their task on an object. As in the case of instance variables, writing randomDie() has exactly the same meaning here: calling another method on the same object that roll was called on. The randomDie method must be able to access the sidesPerDie instance variable to compute a random roll of a die with that many sides. In the actual code for SimpleDiceEnsemble, this is used only where necessary.

Finally, the return statement returns the reference stored in this: the code above does nothing with the returned result, but if we had instead written Java would have called the getPipSum method on the returned reference, printing a value of 8.

The SimpleDiceEnsemble class defines many accessor methods, two of which are shown below. Accessors are often simpler than mutators. The forms of many of these methods are actually quite common: just returning the value stored in one of the private instance variables. Note that by making the rollCount and pipSum instance variables private, no code external to the class can directly examine or change these variables, possibly trashing them yet such code can always determine the current values stored in these instance variables indirectly, by calling their accessor/query methods. So, accessor/query methods allow any code to determine the value stored in a private instance variable without giving that code direct access to change that instance variable.

The second method returns whether or not (a) the object the method is called on, and (b) the object the method is passed as a parameter, are equal. Given the canonical way Rational stores these objects (zero as 0/1 denominators always positive no common factors), they are equal if and only if both pairs of instance variables are equal. Note that if we did not store these objects canonically, then this method would not work: e.g., comparing the rational 1/2 vs 2/4 the rational 0/1 vs 0/12 the rational -1/2 vs 1/-2. Here, using this. adds a certain symmetry to our code (but, we could write just numerator == other.numerator and denominator = other.denominator).

Finally, note that there is NOTHING SPECIAL about the parameter name other (I've known students to get superstitious about this parameter name): so long as the parameter name appears identically in the code, we can use any name we want.

We illustrate this method call by the call frame below.

Two more complicated accessors that DO construct objects are The abs method constructs and returns a new Rational object, whose state is the absolute value of the state of the object that this method was called on we know the denominator is always positive, so we can use its value directly. The return type of Rational means that this method returns a reference to an object that is an instance of the Rational class. In the abs method, we return a newly constructed Rational whose numerator is non-negative (all denominators are already positive).

The add method constructs and returns a new Rational object, whose state is the sum the states of the object that this method was called on and the object passed as the explicit argument. If we wrote We would illustrate these variable and method call by the call frame below (note that for space reasons, I have left out the four local variables a, b, c, and d, which store the values 1, 2, 1, and 3 respectively).

Because this method returns a reference to a Rational object, we can cascade our method calls. If we wanted to compute the sum of the objects all three variables refer to, we can write x.add(y).add(z) which first creates an object containing the sum of x and y, and then it adds this object to z, producing an object storing the total sum. We can also write x.add(y.add(z)), which produces the same result by adding objects in a different order.

Why make this method static? Because its sole purpose it to construct/return a reference to an object. If we made this method non-static, we would have to write something like In this case, we first construct an object to call the non-static method on, but we just throw away the original object, replacing it by a reference to an object containing the user-input rational. Thus, it is much simpler and easier to use this method if it is static.

The Rational class also defines the gcd method as private static. This method is called only in the first constructor, to reduce to lowest terms the numerator and denominator (by dividing-out all common factors). Because this method is defined in the Rational class, we can call it as either gcd(numerator,denomiator) or as Rational.gcd(numerator,denomiator). Note that because this method is private, it cannot be called from anywhere but inside a constructor or method defined in this class.

The second use of static fields is more subtle: we use them to store information shared by all objects in a class. Normally, each objects stores its own state in instance variables but static variables are stored in a special spot that all objects can access.

Suppose that we wanted to be able to know how many times objects were constructed from a class (i.e., how many times new operated on a certain class). We can declare private static int allocated = 0 in the class, and then include the statement allocated++ in each constructor. Now, whenever an object is constructed, the static variable shared by all the objects in the class is incremented. Finally, we could define to return its value.

So, what would happen if we did not declare this field to be static. If this information were stored in an instance variable (the only other choice), each object would store this value as part of its own state each time an object was constructed it would initialize this instance variable to zero and then increment it in the constructor. Thus, if we constructed n objects, we would have n instance variables storing 1, not one static field storing n.

The final strangeness about static fields is that their declarations (and intializations) are done just once, the first time Java needs to do something with a class. Contrast this with instance variable declarations which are executed each time that new constructs an object.

We have already studied how to read web pages produced by Javadoc (both for the standard Java library and classes that I have provided for this course). Now we will begin to learn how to write our own Javadoc comments, to document classes that we write ourselves.

We can run Javadoc on Java source code (.java files). Even if we have added none of the special comments desrcribed below, Javadoc still produces a skeletal web page listing all the fields, constructors, and methods in Summary and Detail tables. Such web pages, though, won't have any commentary, and none of the special parameter, return, and throws information.

In general, we can further document our classes with comments. Javadoc ignores general comments, but reads and process comments written in a special form: comments that start with /** . These are called Javadoc comments. Notice that a Javadoc comment is also a general comment (starting with /*) so it is also treated as whitespace by the Java compiler.

Here is the Javadoc commment prefacing the DiceEnsemble class. View it along with the Javadoc pages it generates in the Javadoc of Course API. Javadoc copies the contents of this comment into the web page that it builds for this class it appears near the top, right before the first Summary table. I write such comments in the .java file a special style, for ease of editing each line is a sentence, with sentences longer than one line indented. The web browser renders this text as a nice paragraph.

Note that I said that Javadoc copies the contents of the message. and the web browser renders the text. This means that the comment can us embedded HTML markup tags these tags are copied into the web page and rendered by the browser, just like normal HTML tags in text. Notice the use of <code>DiceEnsemble</code> to render the name of this class in the code font in a multi-paragraph description, we use <p> to separate the paragraphs. Generally, use what HTML markup tags you are familiar with to format your documentation.

Finally, note the special Javadoc markup tag @author Javdoc makes special use of these tag, often creating special HTML for them.

A typical constructor or method is documented by a Javadoc comment of the following form the comment appear in the

We can run the Javadoc program (to produce Javadoc web pages) from the cammand line it has many interesting options. The standard way I run it is If you don't want to type all this information, you can download the Generate Javadoc batch file, which contains this command and another (one to generate Javadoc from the perspective of an implememtor, including all the private stuff). This batch file is also available under Miscellaneous in the Online Resources web page.

Put this file in a folder that contains the .java files that you want to run through Javadoc. If you are runing under Windows, double-click the file named generatedocs.bat, and you will see a console window pop up this window shows the Javadoc utility running (otherwise, cut/paste/execute the lines from this file). It creates a folder named publicdocs containing all the Javadoc comments related to public class members (the ones we have been reading as class users) and a folder named privatedocs containing all the Javadoc comments related to public and private class members (the ones we would read as class implementors). Each folder contains a file named index.html, which acts as the root for all the Javadoc web pages in that folder click on it to start viewing the Javadoc

Suppose that we stop on the first line inside the roll method. The full name of the method (packageName.ClassName.methodName) appears underneath Thread[main]) recall that temp is the package name for this class. Note that in the Variables tab this appears on a single line that is preceded by a box showing a + and followed by an id number (ignore the id number).

We began by studying the form and meaning of static method definitions, along with the return and throw statements. We learned how to hand simulate these methods in call frames and how to use them in programs -in two ways: directly in an application (along with a main method) and as definitions in a library class. We examined how the Metrowerks IDE makes using methods easier (in the editor and the debugger).

Then we discussed how to define instance variables in a class, along with the related topics of how to write constructors that help initialize them and methods to manipulate them. We learned that a private member can be accessed from any other members in the class it is defined in (but not from members outside this class). We found two interesting uses for the keyword this: to specify instance variables (in variable name conflicts) and to help in constructors. Finally, we discussed writing Javadoc to document classes and their members.

Finally, I would like to look one more time at constructors and methods as middlemen with respect to private instance variables. An invariant is a statement about something that remains true while that something is manipulated if such a statement is true, we say it is satisfied. A class invariant is a set of statements about the instance variables of objects constructed from the class: these statements must be true when an object is first constucted, and they must remain true after each method is called.

  • Zero is stored with a numerator of zero and a denominator of one.
  • The denominator is always stored as a positive value.
  • The numerator and denominator are reduced to have no common factors.

The DiceEnsemble class, for another example, requires positive values for the number of dice and sides per die. Its constructor also ensures this invariant and the only accessor, roll does not change these instance variables.

Using private instance variables helps an implementor ensure class invariants. By declaring instance variables to be private, we know that the only place they can change is in the code for methods defined in that class. Users of the class cannot change these variables directly and possibly make an invariant unsatisfied.

Imagine what would happen if we declared numerator or denominator to be public. An incompetent or malicious programmer could store anything in such instance variables, violating any or all of the invariants stated above. Thus, a class implementor prefers private instance variables (and sometimes public final ones will work too) so that users of the class cannot do bad things to its instances. This access modfier ensures that the constructors and methods of the class have ultimate control over what state changes are made to objects.

Now we come to how this aids us when debugging. Imagine a scenerio where the user of a class is getting bad results in an application program who is to blame, the user or implementor of the class. If an object's state ever doesn't satisfy its class invariants, the implementor has definitely made a mistake. If an object's state always satisfies its class invariants, but the postcondition of a method is not satisifed, then the implementor has also made a mistake. All other mistakes are the result of the user of a class.

A well designed class is a cohesive collection of related instance variables, the constructors that initialize them, and the methods that manipulate them. Each method performs some small, well-defined service. Taken together, these methods allow programmers to do everything needed to objects constructed from the class. It is the composition of these coordinated services, under control of the programmer, that make well-designed classes easy to reuse in many related applications. So, in a well-designed class, it is common to write many small methods (the classes that we have seen are typical) this is true even in more complicated classes, which may have many more constructors, methods, and instance variables, but whose method definitions are still quite small.

It is not a goal of 15-200 to teach you how to design a (re)usable class. It is a goal to teach you how to read and use classes it is also a goal for you to be able to implement (write the .java file) for a well-designed (by someone else) class.

    Write a statement that calls any of the "result-returning" methods (maybe just display the returned result on the console) and hand simulate its execution with a call frame.


Find recommended accessories here

Schluter®-DITRA-HEAT integrates customizable, comfortable electric floor warming with the functions associated with DITRA: uncoupling, waterproofing, vapor management and support to ensure a long lasting installation.

DITRA-HEAT combines the flexibility of loose heating cables with the ease of installation of mat systems. Cables can be placed wherever heat is desired, without creating height differences in the floor. Self-leveling compounds are not required to encapsulate the cables, significantly reducing installation time and effort.

Tile has been successfully installed for thousands of years by incorporating an uncoupling layer, or forgiving shear interface, within the tile assembly. DITRA-HEAT provides uncoupling through its geometric configuration, which allows for in-plane movement that effectively neutralizes the differential movement stresses between the substrate and the tile, thus eliminating the major cause of cracking and delaminating of the tiled surface.

DITRA-HEAT provides reliable waterproofing. Its polypropylene composition protects the substrate from moisture penetration, which is particularly important in today&rsquos building environment where most substrates are moisture-sensitive.

The free space on the underside of DITRA-HEAT provides a route for excess moisture and vapor to escape from the substrate that could otherwise cause damage to the tile covering above. Thus, DITRA-HEAT effectively manages moisture beneath the tile covering.

When placed on a solid foundation, columns or pillars can support tremendous loads. The same physical principle applies to DITRA-HEAT installations. Column-like mortar structures are formed in and between the studs on the surface of the matting. Loads are transferred from the tile covering through these column-like mortar structures to the substrate. Since DITRA-HEAT is virtually incompressible within the tile assembly, the advantages of uncoupling are achieved without sacrificing point load distribution capabilities.

Alternate Floor Coverings over DITRA-HEAT

DITRA-HEAT is suitable for applications with engineered wood, vinyl, wood plastic composite (WPC), luxury vinyl tiles (LVT), luxury vinyl planks (LVP), stone plastic composite (SPC) tiles and planks, and laminate flooring. See the Alternate Floor Coverings over DITRA-HEAT Technical Bulletin for more information, including requirements and limitations.

All substrates must be clean, even, and load bearing. Bond inhibiting surfaces must be removed prior to the application of DITRA-HEAT. For complete installation guidelines and warranty criteria, please refer to the downloadable Schluter®-DITRA-HEAT Installation Handbook or to the installation video online.

Note: Type, thickness, and format of the tile or stone surface covering must be suitable for the intended application. Minimum tile format is 2" x 2" (5 cm x 5 cm).

1. Using a thin-set mortar that is suitable for the substrate, apply the thin-set mortar (mixed to a fairly fluid consistency, but still able to hold a notch) using a 1/4" x 1/4" (6 mm x 6 mm) square-notched trowel.

2. Apply DITRA-HEAT to the floor, fleece side down. Solidly embed the matting into the mortar using a float, screed trowel, or DITRA-ROLLER, making sure to observe the open time of the bonding mortar. If the mortar skins over prior to matting installation, remove and reapply. Note: It may be helpful to back roll the end of the matting before installation, or place boxes of tile on top of the matting after installation, to avoid curling.

*When using the DITRA-ROLLER, place a weight (e.g., bags of mortar/grout or box of tile) not to exceed 75 lbs on the DITRA-ROLLER shelf. Slowly move the roller from one end of the matting to the other, slightly overlapping successive passes.

3. Lift up a corner of the matting to check coverage. Proper installation results in full contact between the fleece webbing and the thin-set mortar. Note: Coverage may vary with mortar consistency, angle at which the trowel is held, substrate flatness, etc. If full coverage is not achieved, remove and reapply, making sure to verify proper mortar consistency and application.

4. Abut end and side sections of adjacent sheets. Note: Aligning the studs on the top of the matting during installation can help make subsequent heating cable installation easier.

5. The DITRA-HEAT-E-HK heating cables can now be installed. Installation instructions are covered under the DITRA-HEAT-E-HK product page. Note: Tile can be installed directly over the DITRA-HEAT membrane immediately after the Schluter®-DITRA-HEAT-E-HK cables have been installed using an unmodified thin set. Please refer to the Schluter®-DITRA-HEAT Installation Handbook below for complete DITRA-HEAT system instructions.

Alternate Floor Coverings over DITRA-HEAT

Please refer to detail DH-AFC >(see the Alternate Floor Coverings over DITRA-HEAT Technical Bulletin available for download below,) and the Schluter®-DITRA-HEAT Installation Handbook for complete installation guidelines. Use our DITRA-HEAT calculator to find out what products you need to complete your specific installation.


Whether your color palette is neutral, warm or cool, we have multiple options and paver styles with rich color blends to complement the architecture of your home. Enjoy a natural stone look for backyard patios and pool areas, or add warmth to your outdoor living space with unique shades of subtle or vibrant colors in a wide variety of tones. For any design scheme, our paver products come in a shade or blend to match your desired look.

All Belgard pavers are ideal for walkways, pool decks and patios. Many of our pavers can also be used for driveways. We also have several lines of thinner pavers that can be used to overlay concrete, which will completely transform an existing patio or driveway without the expense and time of concrete demolition and removal.


Lemoult F, Kaina N, Fink M, Lerosey G. Wave propagation control at the deep subwavelength scale in metamaterials. Nature Physics, 2013, 9(11): 55–60

Lee C W, Choi H J, Jeong H. Tunable metasurfaces for visible and SWIR applications. Nano Convergence, 2020, 7(1): 3

Chen Y, Ai B, Wong Z J. Soft optical metamaterials. Nano Convergence, 2020, 7(1): 18

Lawrence M, Barton D R 3rd, Dixon J, Song J H, van de Groep J, Brongersma M L, Dionne J A. High quality factor phase gradient metasurfaces. Nature Nanotechnology, 2020, 15(11): 956–961

Yoon G, Lee D, Nam K T, Rho J. Geometric metasurface enabling polarization independent beam splitting. Scientific Reports, 2018, 8(1): 9468

Wu P C, Pala R A, Kafaie Shirmanesh G, Cheng W H, Sokhoyan R, Grajower M, Alam M Z, Lee D, Atwater H A. Dynamic beam steering with all-dielectric electro-optic III–V multiple-quantum-well metasurfaces. Nature Communications, 2019, 10(1): 3654

Wong Z J, Wang Y, O’Brien K, Rho J, Yin X B, Zhang S, Fang N, Yen T J, Zhang X. Optical and acoustic metamaterials: Superlens, negative refractive index and invisibility cloak. Journal of Optics, 2017, 19(8): 084007

Bang S, So S, Rho J. Realization of broadband negative refraction in visible range using vertically stacked hyperbolic metamaterials. Scientific Reports, 2019, 9(1): 14093

Yu N, Capasso F. Flat optics with designer metasurfaces. Nature Materials, 2014, 13(2): 139–150

Lee D, Yang Y, Yoon G, Kim M, Rho J. Resolution enhancement of fluorescence microscopy using encoded patterns from all-dielectric metasurfaces. Applied Physics Letters, 2019, 115(10): 101102

Lee D, Kim M, Kim J, Hong H, Badloe T, Kim D S, Rho J. All-dielectric metasurface imaging platform applicable to laser scanning microscopy with enhanced axial resolution and wavelength selection. Optical Materials Express, 2019, 9(8): 3248–3259

Kim M, Rho J. Metamaterials and imaging. Nano Convergence, 2015, 2(1): 22

Byun M, Lee D, Kim M, Kim Y, Kim K, Ok J G, Rho J, Lee H. Demonstration of nanoimprinted hyperlens array for high-throughput sub-diffraction imaging. Scientific Reports, 2017, 7 (1): 46314

Lee D, Kim Y D, Kim M, So S, Choi H J, Mun J, Nguyen D M, Badloe T, Ok J G, Kim K, Lee H, Rho J. Realization of wafer-scale hyperlens device for sub-diffractional biomolecular imaging. ACS Photonics, 2018, 5(7): 2549–2554

Jang J, Badloe T, Yang Y, Lee T, Mun J, Rho J. Spectral modulation through the hybridization of Mie-scatterers and quasi-guided mode resonances: realizing full and gradients of structural color. ACS Nano, 2020, 14(11): 15317–15326

Mudachathi R, Tanaka T. Up scalable full colour plasmonic pixels with controllable hue, brightness and saturation. Scientific Reports, 2017, 7(1): 1199

Lee Y, Park M K, Kim S, Shin J H, Moon C, Hwang J Y, Choi J C, Park H, Kim H R, Jang J E. Electrical broad tuning of plasmonic color filter employing an asymmetric-lattice nanohole array of metasurface controlled by polarization rotator. ACS Photonics, 2017, 4(8): 1954–1966

Lee D, Gwak J, Badloe T, Palomba S, Rho J. Metasurfaces-based imaging and applications: from miniaturized optical components to functional imaging platforms. Nanoscale Advances, 2020, 2(2): 605–625

Lee T, Jang J, Jeong H, Rho J. Plasmonic- and dielectric-based structural coloring: from fundamentals to practical applications. Nano Convergence, 2018, 5(1): 1

Kim M, Kim I, Jang J, Lee D, Nam K T, Rho J. Active color control in a metasurface by polarization rotation. Applied Sciences (Basel, Switzerland), 2018, 8(6): 982

Yoon G, Lee D, Nam K T, Rho J. “Crypto-display” in dual-mode metasurfaces by simultaneous control of phase and spectral responses. ACS Nano, 2018, 12(7): 6421–6428

Jang J, Kang K, Raeis-Hosseini N, Ismukhanova A, Jeong H, Jung C, Kim B, Lee J Y, Park I, Rho J. Self-powered humidity sensor using chitosan-based plasmonic metal-hydrogel-metal filters. Advanced Optical Materials, 2020, 8(9): 1901932

Aoni R A, Rahmani M, Xu L, Zangeneh Kamali K, Komar A, Yan J, Neshev D, Miroshnichenko A E. High-efficiency visible light manipulation using dielectric metasurfaces. Scientific Reports, 2019, 9(1): 6510

Jang J, Badloe T, Sim Y C, Yang Y, Mun J, Lee T, Cho Y H, Rho J. Full and gradient structural colouration by lattice amplified gallium nitride Mie-resonators. Nanoscale, 2020, 12(41): 21392–21400

Kim I, Ansari M A, Mehmood M Q, Kim W S, Jang J, Zubair M, Kim Y K, Rho J. Stimuli-responsive dynamic metaholographic displays with designer liquid crystal modulators. Advanced Materials, 2020, 32(50): e2004664

Kim I, Yoon G, Jang J, Genevet P, Nam K T, Rho J. Outfitting next generation displays with optical metasurfaces. ACS Photonics, 2018, 5(10): 3876–3895

Li Z, Kim I, Zhang L, Mehmood M Q, Anwar M S, Saleem M, Lee D, Nam K T, Zhang S, Luk’yanchuk B, Wang Y, Zheng G, Rho J, Qiu C W. Dielectric meta-holograms enabled with dual magnetic resonances in visible light. ACS Nano, 2017, 11(9): 9382–9389

Lee G Y, Yoon G, Lee S Y, Yun H, Cho J, Lee K, Kim H, Rho J, Lee B. Complete amplitude and phase control of light using broadband holographic metasurfaces. Nanoscale, 2018, 10(9): 4237–4245

Ansari M A, Kim I, Lee D, Waseem M H, Zubair M, Mahmood N, Badloe T, Yerci S, Tauqeer T, Mehmood M Q, Rho J. A spinencoded all-dielectric metahologram for visible light. Laser & Photonics Reviews, 2019, 13(5): 1900065

Yoon G, Kim J, Mun J, Lee D, Nam K T, Rho J. Wavelength-decoupled geometric metasurfaces by arbitrary dispersion control. Communications on Physics, 2019, 2(1): 129

Ansari M A, Kim I, Rukhlenko I D, Zubair M, Yerci S, Tauqeer T, Mehmood M Q, Rho J. Engineering spin and antiferromagnetic resonances to realize an efficient direction-multiplexed visible meta-hologram. Nanoscale Horizons, 2020, 5(1): 57–64

Yoon G, Lee D, Nam K T, Rho J. Pragmatic metasurface hologram at visible wavelength: the balance between diffraction efficiency and fabrication compatibility. ACS Photonics, 2018, 5(5): 1643–1647

Ren H, Fang X, Jang J, Bürger J, Rho J, Maier S A. Complex-amplitude metasurface-based orbital angular momentum holography in momentum space. Nature Nanotechnology, 2020, 15(11): 948–955

Rana A S, Mehmood M Q, Jeong H, Kim I, Rho J. Tungsten-based ultrathin absorber for visible regime. Scientific Reports, 2018, 8(1): 2443

Barho F B, Gonzalez-Posada F, Cerutti L, Taliercio T. Heavily doped semiconductor metamaterials for mid-infrared multispectral perfect absorption and thermal emission. Advanced Optical Materials, 2020, 8(6): 1901502

Yoon G, So S, Kim M, Mun J, Ma R, Rho J. Electrically tunable metasurface perfect absorber for infrared frequencies. Nano Convergence, 2017, 4(1): 36

Nguyen D M, Lee D, Rho J. Control of light absorbance using plasmonic grating based perfect absorber at visible and near-infrared wavelengths. Scientific Reports, 2017, 7(1): 2611

Badloe T, Mun J, Rho J. Metasurfaces-based absorption and reflection control: perfect absorbers and reflectors. Journal of Nanomaterials, 2017, 2017(1): 2361042

Badloe T, Kim I, Rho J. Moth-eye shaped on-demand broadband and switchable perfect absorbers based on vanadium dioxide. Scientific Reports, 2020, 10(1): 4522

Badloe T, Kim I, Rho J. Biomimetic ultra-broadband perfect absorbers optimised with reinforcement learning. Physical Chemistry Chemical Physics, 2020, 22(4): 2337–2342

Kim I, So S, Rana A S, Mehmood M Q, Rho J. Thermally robust ring-shaped chromium perfect absorber of visible light. Nanophotonics, 2018, 7(11): 1827–1833

Sajedian I, Badloe T, Lee H, Rho J. Deep Q-network to produce polarization-independent perfect solar absorbers: a statistical report. Nano Convergence, 2020, 7(1): 26

Yoon G, Jang J, Mun J, Nam K T, Rho J. Metasurface zone plate for light manipulation in vectorial regime. Communications on Physics, 2019, 2(1): 156

Yin X, Ye Z, Rho J, Wang Y, Zhang X. Photonic spin Hall effect at metasurfaces. Science, 2013, 339(6126): 1405–1407

Wang Y H, Jin R C, Li J Q, Zhong F, Liu H, Kim I, Jo Y, Rho J, Dong Z G. Photonic spin hall effect by the spin-orbit interaction in a metasurface with elliptical nano-structures. Applied Physics Letters, 2017, 110(10): 101908

Wang Y H, Kim I, Jin R C, Jeong H, Li J Q, Dong Z G, Rho J. Experimental verification of asymmetric transmission in continuous omega-shaped metamaterials. RSC Advances, 2018, 8(67): 38556–38561

Hong J, Kim S J, Kim I, Yun H, Mun S E, Rho J, Lee B. Plasmonic metasurface cavity for simultaneous enhancement of optical electric and magnetic fields in deep subwavelength volume. Optics Express, 2018, 26(10): 13340–13348

Kim I, So S, Mun J, Lee K H, Lee J H, Lee T, Rho J. Optical characterizations and thermal analyses of HfO2/SiO2 multilayered diffraction gratings for high-power continuous wave laser. Journal of Physics: Photonics, 2020, 2(2): 025004

Mahmood N, Kim I, Mehmood M Q, Jeong H, Akbar A, Lee D, Saleem M, Zubair M, Anwar M S, Tahir F A, Rho J. Polarisation insensitive multifunctional metasurfaces based on all-dielectric nanowaveguides. Nanoscale, 2018, 10(38): 18323–18330

Mahmood N, Jeong H, Kim I, Mehmood M Q, Zubair M, Akbar A, Saleem M, Anwar M S, Tahir F A, Rho J. Twisted non-diffracting beams through all dielectric meta-axicons. Nanoscale, 2019, 11 (43): 20571–20578

Li Z, Dai Q, Mehmood M Q, Hu G, Yanchuk B L, Tao J, Hao C, Kim I, Jeong H, Zheng G, Yu S, Alù A, Rho J, Qiu C W. Full-space cloud of random points with a scrambling metasurface. Light, Science & Applications, 2018, 7(1): 63

Yoon G, Lee D, Rho J. Demonstration of equal-intensity beam generation by dielectric metasurfaces. Journal of Visualized Experiments, 2019, 148(148): e59066

Lee H E, Ahn H Y, Mun J, Lee Y Y, Kim M, Cho N H, Chang K, Kim W S, Rho J, Nam K T. Amino-acid- and peptide-directed synthesis of chiral plasmonic gold nanoparticles. Nature, 2018, 556 (7701): 360–365

Raeis-Hosseini N, Rho J. Dual-functional nanoscale devices using phase-change materials: a reconfigurable perfect absorber with nonvolatile resistance-change memory characteristics. Applied Sciences (Basel, Switzerland), 2019, 9(3): 564

Raeis-Hosseini N, Rho J. Metasurfaces based on phase-change material as a reconfigurable platform for multifunctional devices. Materials (Basel), 2017, 10(9): 1046

Yoon G, Kim I, So S, Mun J, Kim M, Rho J. Fabrication of three-dimensional suspended, interlayered and hierarchical nanostructures by accuracy-improved electron beam lithography overlay. Scientific Reports, 2017, 7(1): 6668

Seo I C, Woo B H, An S C, Lee E, Jeong H Y, Lim Y, Jun Y C. Electron-beam-induced nanopatterning of J-aggregate thin films for excitonic and photonic response control. Advanced Optical Materials, 2018, 6(20): 1800583

Jung C, Yang Y, Jang J, Badloe T, Lee T, Mun J, Moon S W, Rho J. Near-zero reflection of all-dielectric structural coloration enabling polarization-sensitive optical encryption with enhanced switchability. Nanophotonics, 2020, 10(2): 919–926

Zhou J, Qian H, Chen C F, Zhao J, Li G, Wu Q, Luo H, Wen S, Liu Z. Optical edge detection based on high-efficiency dielectric metasurface. Proceedings of the National Academy of Sciences of the United States of America, 2019, 116(23): 11137–11140

Jeon T, Kim D H, Park S G. Holographic fabrication of 3D nanostructures. Advanced Materials Interfaces, 2018, 5(18): 1800330

Oh Y, Lim J W, Kim J G, Wang H, Kang B H, Park Y W, Kim H, Jang Y J, Kim J, Kim D H, Ju B K. Plasmonic periodic nanodot arrays via laser interference lithography for organic photovoltaic cells with > 10% efficiency. ACS Nano, 2016, 10(11): 10143–10151

Bagheri S, Strohfeldt N, Sterl F, Berrier A, Tittl A, Giessen H. Large-area low-cost plasmonic perfect absorber chemical sensor fabricated by laser interference lithography. ACS Sensors, 2016, 1 (9): 1148–1154

Do Y S. A highly reproducible fabrication process for large-area plasmonic filters for optical applications. IEEE Access: Practical Innovations, Open Solutions, 2018, 6(1): 68961–68967

Song M, Li X, Pu M, Guo Y, Liu K, Yu H, Ma X, Luo X. Color display and encryption with a plasmonic polarizing metamirror. Nanophotonics, 2018, 7(1): 323–331

Gan Z, Cai J, Liang C, Chen L, Min S, Cheng X, Cui D, Li W D. Patterning of high-aspect-ratio nanogratings using phase-locked two-beam fiber-optic interference lithography. Journal of Vacuum Science & Technology B, Microelectronics and Nanometer Structures, 2019, 37(6): 060601

Liang G, Wang C, Zhao Z, Wang Y, Yao N, Gao P, Luo Y, Gao G, Zhao Q, Luo X. Squeezing bulk plasmon polaritons through hyperbolic metamaterials for large area deep subwavelength interference lithography. Advanced Optical Materials, 2015, 3(9): 1248–1256

Liu H C, Kong W J, Zhu Q G, Zheng Y, Shen K S, Zhang J, Lu H. Plasmonic interference lithography by coupling the bulk plasmon polariton mode and the waveguide mode. Journal of Physics D, Applied Physics, 2020, 53(13): 135103

Gao P, Pu M, Ma X, Li X, Guo Y, Wang C, Zhao Z, Luo X. Plasmonic lithography for the fabrication of surface nanostructures with a feature size down to 9 nm. Nanoscale, 2020, 12(4): 2415–2421

Luo J, Zeng B, Wang C, Gao P, Liu K, Pu M, Jin J, Zhao Z, Li X, Yu H, Luo X. Fabrication of anisotropically arrayed nano-slots metasurfaces using reflective plasmonic lithography. Nanoscale, 2015, 7(44): 18805–18812

Wang C, Zhang W, Zhao Z, Wang Y, Gao P, Luo Y, Luo X. Plasmonic structures, materials and lenses for optical lithography beyond the diffraction limit: A review. Micromachines, 2016, 7(7): 118

Kim S K. Impact of plasmonic parameters on 7-nm patterning in plasmonic computational lithography. Journal of Nanoscience and Nanotechnology, 2018, 18(10): 7124–7127

Hong F, Blaikie R. Plasmonic lithography: recent progress. Advanced Optical Materials, 2019, 7(14): 1801653

Kim I, Mun J, Baek K M, Kim M, Hao C, Qiu C W, Jung Y S, Rho J. Cascade domino lithography for extreme photon squeezing. Materials Today, 2020, 39(1): 89–97

Kim I, Mun J, Hwang W, Yang Y, Rho J. Capillary-force-induced collapse lithography for controlled plasmonic nanogap structures. Microsystems & Nanoengineering, 2020, 6(1): 65

Nam V B, Giang T T, Koo S, Rho J, Lee D. Laser digital patterning of conductive electrodes using metal oxide nanomaterials. Nano Convergence, 2020, 7(1): 23

Chou S Y, Krauss P R, Renstrom P J. Nanoimprint lithography. Journal of Vacuum Science & Technology B, Microelectronics and Nanometer Structures: Processing, Measurement, and Phenomena, 1996, 14(6): 4129–4133

Chou S Y, Krauss P R, Renstrom P J. Imprint lithography with 25-nanometer resolution. Science, 1996, 272(5258): 85–87

Chou S Y. Sub-10 nm imprint lithography and applications. Journal of Vacuum Science & Technology B, Microelectronics and Nanometer Structures: Processing, Measurement, and Phenomena, 1997, 15(6): 2897–2904

Haisma J, Verheijen M, van den Heuvel K, van den Berg J. Mold-assisted nanolithography: a process for reliable pattern replication. Journal of Vacuum Science & Technology B, Microelectronics and Nanometer Structures: Processing, Measurement, and Phenomena, 1996, 14(6): 4124–4128

Austin M D, Ge H, Wu W, Li M, Yu Z, Wasserman D, Lyon S A, Chou S Y. Fabrication of 5 nm linewidth and 14 nm pitch features by nanoimprint lithography. Applied Physics Letters, 2004, 84 (26): 5299–5301

Plachetka U, Bender M, Fuchs A, Vratzov B, Glinsner T, Lindner F, Kurz H. Wafer scale patterning by soft UV-nanoimprint lithography. Microelectronic Engineering, 2004, 73–74(1): 167–171

Sreenivasan S V. Nanoimprint lithography steppers for volume fabrication of leading-edge semiconductor integrated circuits. Microsystems & Nanoengineering, 2017, 3(1): 17075

Qiao W, Huang W, Liu Y, Li X, Chen L S, Tang J X. Toward scalable flexible nanomanufacturing for photonic structures and devices. Advanced Materials, 2016, 28(47): 10353–10380

Traub M C, Longsine W, Truskett V N. Advances in nanoimprint lithography. Annual Review of Chemical and Biomolecular Engineering, 2016, 7(1): 583–604

Kim M, Lee D, Kim T H, Yang Y, Park H J, Rho J. Observation of enhanced optical spin hall effect in a vertical hyperbolic metamaterial. ACS Photonics, 2019, 6(10): 2530–2536

Atighilorestani M, Jiang H, Kaminska B. Electrochromic-polymer-based switchable plasmonic color devices using surface-relief nanostructure pixels. Advanced Optical Materials, 2018, 6(23): 1801179

Lee D, Han S Y, Jeong Y, Nguyen D M, Yoon G, Mun J, Chae J, Lee J H, Ok J G, Jung G Y, Park H J, Kim K, Rho J. Polarization-sensitive tunable absorber in visible and near-infrared regimes. Scientific Reports, 2018, 8(1): 12393

Zhang H, Kinnear C, Mulvaney P. Fabrication of single-nanocrystal arrays. Advanced Materials, 2020, 32(18): e1904551

Yoon G, Kim I, Rho J. Challenges in fabrication towards realization of practical metamaterials. Microelectronic Engineering, 2016, 163(1): 7–20

Yao Y, Liu H, Wang Y, Li Y, Song B, Wang R P, Povinelli M L, Wu W. Nanoimprint-defined, large-area meta-surfaces for unidirectional optical transmission with superior extinction in the visible-to-infrared range. Optics Express, 2016, 24(14): 15362–15372

Lee G Y, Hong J Y, Hwang S, Moon S, Kang H, Jeon S, Kim H, Jeong J H, Lee B. Metasurface eyepiece for augmented reality. Nature Communications, 2018, 9(1): 4562

Wan Y H, Krueger N A, Ocier C R, Su P, Braun P V, Cunningham B T. Resonant mode engineering of photonic crystal sensors clad with ultralow refractive index porous silicon dioxide. Advanced Optical Materials, 2017, 5(21): 1700605

Sutherland B R, Sargent E H. Perovskite photonic sources. Nature Photonics, 2016, 10(5): 295–302

Chun D H, Choi Y J, In Y, Nam J K, Choi Y J, Yun S, Kim W, Choi D, Kim D, Shin H, Cho J H, Park J H. Halide perovskite nanopillar photodetector. ACS Nano, 2018, 12(8): 8564–8571

Pourdavoud N, Wang S, Mayer A, Hu T, Chen Y, Marianovich A, Kowalsky W, Heiderhoff R, Scheer H C, Riedl T. Photonic nanostructures patterned by thermal nanoimprint directly into organo-metal halide perovskites. Advanced Materials, 2017, 29 (12): 1605003

Mao J, Sha W E I, Zhang H, Ren X G, Zhuang J Q, Roy V A L, Wong K S, Choy W C H. Novel direct nanopatterning approach to fabricate periodically nanostructured perovskite for optoelectronic applications. Advanced Functional Materials, 2017, 27(10): 1606525

Makarov S V, Milichko V, Ushakova E V, Omelyanovich M, Pasaran A C, Haroldson R, Balachandran B, Wang H L, Hu W, Kivshar Y S, Zakhidov A A. Multifold emission enhancement in nanoimprinted hybrid perovskite metasurfaces. ACS Photonics, 2017, 4(4): 728–735

Wang H, Liu S C, Balachandran B, Moon J, Haroldson R, Li Z, Ishteev A, Gu Q, Zhou W, Zakhidov A, Hu W. Nanoimprinted perovskite metasurface for enhanced photoluminescence. Optics Express, 2017, 25(24): A1162–A1171

Baek S W, Molet P, Choi M J, Biondi M, Ouellette O, Fan J, Hoogland S, García de Arquer F P, Mihi A, Sargent E H. Nanostructured back reflectors for efficient colloidal quantum-dot infrared optoelectronics. Advanced Materials, 2019, 31(33): e1901745

Kim Y, Bicanic K, Tan H, Ouellette O, Sutherland B R, García de Arquer F P, Jo J W, Liu M, Sun B, Liu M, Hoogland S, Sargent E H. Nanoimprint-transfer-patterned solids enhance light absorption in colloidal quantum dot solar cells. Nano Letters, 2017, 17(4): 2349–2353

Pina-Hernandez C, Koshelev A, Dhuey S, Sassolini S, Sainato M, Cabrini S, Munechika K. Nanoimprinted high-refractive index active photonic nanostructures based on quantum dots for visible light. Scientific Reports, 2017, 7(1): 17645

Guo L J. Nanoimprint lithography: methods and material requirements. Advanced Materials, 2007, 19(4): 495–513

Wang C, Shao J, Tian H, Li X, Ding Y, Li B Q. Step-controllable electric-field-assisted nanoimprint lithography for uneven large-area substrates. ACS Nano, 2016, 10(4): 4354–4363

Ahn S H, Guo L J. High-speed roll-to-roll nanoimprint lithography on flexible plastic substrates. Advanced Materials, 2008, 20(11): 2044–2049

Lee S H, Kim S W, Kang B S, Chang P S, Kwak M K. Scalable and continuous fabrication of bio-inspired dry adhesives with a thermosetting polymer. Soft Matter, 2018, 14(14): 2586–2593

Wong H C, Grenci G, Wu J, Viasnoff V, Low H Y. Roll-to-roll fabrication of residual-layer-free micro/nanoscale membranes with precise pore architectures and tunable surface textures. Industrial & Engineering Chemistry Research, 2018, 57(41): 13759–13768

Wang Z Z, Yi P Y, Peng L F, Lai X M, Ni J. Continuous fabrication of highly conductive and transparent Ag mesh electrodes for flexible electronics. IEEE Transactions on Nanotechnology, 2017, 16(4): 687–694

Yi P Y, Zhang C P, Peng L F, Lai X M. Flexible silver-mesh electrodes with moth-eye nanostructures for transmittance enhancement by double-sided roll-to-roll nanoimprint lithography. RSC Advances, 2017, 7(77): 48835–48840

Lee N, Yoo S, Kim C H, Lim J. Development of continuous metal patterns using two-dimensional atmospheric-pressure plasma-jet: On application to fabricate electrode on a flexible surface for film touch sensor. Journal of Micromechanics and Microengineering, 2019, 29(4): 045013

Wang L J, Zheng Y S, Wu C, Jia S L. Experimental investigation of photoresist etching by kHz AC atmospheric pressure plasma jet. Applied Surface Science, 2016, 385(1): 191–198

Zhou Y Q, Li M J, Shen L G, Ye H C, Wang J P, Huang S Z. Effect of resin accumulation on filling process in roll-to-roll UV imprint lithography. Journal of Vacuum Science & Technology B, Microelectronics and Nanometer Structures, 2017, 35(3): 031602

Tahir U, Kamran M A, Jeong M Y. Numerical study on the optimization of roll-to-roll ultraviolet imprint lithography. Coatings, 2019, 9(9): 573

Kotz F, Schneider N, Striegel A, Wolfschläger A, Keller N, Worgull M, Bauer W, Schild D, Milich M, Greiner C, Helmer D, Rapp B E. Glassomer-processing fused silica glass like a polymer. Advanced Materials, 2018, 30(22): e1707100

Leitgeb M, Nees D, Ruttloff S, Palfinger U, Götz J, Liska R, Belegratis M R, Stadlober B. Multilength scale patterning of functional layers by roll-to-roll ultraviolet-light-assisted nanoimprint lithography. ACS Nano, 2016, 10(5): 4926–4941

Koo S, Lee S H, Kim J D, Hong J G, Baac H W, Kwak M K, Ok J G. Controlled airbrush coating of polymer resists in roll-to-roll nanoimprinting with regimented residual layer thickness. International Journal of Precision Engineering and Manufacturing, 2016, 17(7): 943–947

Lee J H, Na M, Kim J, Yoo K, Park J, Kim J D, Oh D K, Lee S, Youn H, Kwak M K, Ok J G. Rapid and conformal coating of polymer resins by airbrushing for continuous and high-speed roll-to-roll nanopatterning: parametric quality controls and extended applications. Nano Convergence, 2017, 4(1): 11

Kodihalli Shivaprakash N, Ferraguto T, Panwar A, Banerjee S S, Barry C F, Mead J. Fabrication of flexible polymer molds for polymer microstructuring by roll-to-roll hot embossing. ACS Omega, 2019, 4(7): 12480–12488

Striegel A, Schneider M, Schneider N, Benkel C, Worgull M. Seamless tool fabrication for roll-to-roll microreplication. Microelectronic Engineering, 2018, 194(1): 8–14

Zhang X Q, Huang R, Liu K, Kumar A S, Shan X C. Rotating-tool diamond turning of Fresnel lenses on a roller mold for manufacturing of functional optical film. Precision Engineering, 2018, 51(1): 445–457

Lee Y H, Ke K C, Chang N W, Yang S Y. Development of an UV rolling system for fabrication of micro/nano structure on polymeric films using a gas-roller-sustained seamless PDMS mold. Microsystem Technologies, 2018, 24(7): 2941–2948

Lee C R, Ok J G, Jeong M Y. Nanopatterning on the cylindrical surface using an e-beam pre-mapping algorithm. Journal of Micromechanics and Microengineering, 2019, 29(1): 015004

Dumond J J, Low H Y, Lee H P, Fuh J Y H. Multi-functional silicone stamps for reactive release agent transfer in UV roll-to-roll nanoimprinting. Materials Horizons, 2016, 3(2): 152–160

Odom T W, Love J C, Wolfe D B, Paul K E, Whitesides G M. Improved pattern transfer in soft lithography using composite stamps. Langmuir, 2002, 18(13): 5314–5320

Kim S, Hyun S, Lee J, Lee K S, Lee W, Kim J K. Anodized aluminum oxide/polydimethylsiloxane hybrid mold for roll-to-roll nanoimprinting. Advanced Functional Materials, 2018, 28(23): 1800197

Ansari K, Kan J, Bettiol A A, Watt F. Stamps for nanoimprint lithography fabricated by proton beam writing and nickel electroplating. Journal of Micromechanics and Microengineering, 2006, 16(10): 1967–1974

Liu F, Tan K B, Malar P, Bikkarolla S K, van Kan J A. Fabrication of nickel molds using proton beam writing for micro/nano fluidic devices. Microelectronic Engineering, 2013, 102(1): 36–39

Lin X, Dou X, Wang X, Chen R T. Nickel electroplating for nanostructure mold fabrication. Journal of Nanoscience and Nanotechnology, 2011, 11(8): 7006–7010

Kwak M K, Ok J G, Lee S H, Guo L J. Visually tolerable tiling (VTT) for making a large-area flexible patterned surface. Materials Horizons, 2015, 2(1): 86–90

Ok J G, Ahn S H, Kwak M K, Guo L J. Continuous and high-throughput nanopatterning methodologies based on mechanical deformation. Journal of Materials Chemistry C, Materials for Optical and Electronic Devices, 2013, 1(46): 7681–7691

Ok J G, Shin Y J, Park H J, Guo L J. A step toward next-generation nanoimprint lithography: extending productivity and applicability. Applied Physics A, Materials Science & Processing, 2015, 121(2): 343–356

Ok J G, Park H J, Kwak M K, Pina-Hernandez C A, Ahn S H, Guo L J. Continuous patterning of nanogratings by nanochannel-guided lithography on liquid resists. Advanced Materials, 2011, 23(38): 4444–4448

Ahn S H, Guo L J. Dynamic nanoinscribing for continuous and seamless metal and polymer nanogratings. Nano Letters, 2009, 9 (12): 4392–4397

Oh D K, Nguyen D T, Lee S, Ko P, Heo G S, Yun C H, Ha T W, Youn H, Ok J G. Facile and scalable fabrication of flexible reattachable ionomer nanopatterns by continuous multidimensional nanoinscribing and low-temperature roll imprinting. ACS Applied Materials & Interfaces, 2019, 11(12): 12070–12076

Oh D K, Lee S, Lee S H, Lee W, Yeon G, Lee N, Han K S, Jung S, Kim D H, Lee D Y, Lee S H, Park H J, Ok J G. Tailored nanopatterning by controlled continuous nanoinscribing with tunable shape, depth, and dimension. ACS Nano, 2019, 13(10): 11194–11202

Ahn S H, Ok J G, Kwak M K, Lee K T, Lee J Y, Guo L J. Template-free vibrational indentation patterning (VIP) of micro/nanometer-scale grating structures with real-time pitch and angle tunability. Advanced Functional Materials, 2013, 23(37): 4739–4744

Ok J G, Panday A, Lee T, Jay Guo L. Continuous fabrication of scalable 2-dimensional (2D) micro- and nanostructures by sequential 1D mechanical patterning processes. Nanoscale, 2014, 6(24): 14636–14642

Ahiboz D, Manley P, Becker C. Adjustable large-area dielectric metasurfaces for near-normal oblique incident excitation. OSA Continuum, 2020, 3(4): 971–981

Zhu J, Wang Z, Lin S, Jiang S, Liu X, Guo S. Low-cost flexible plasmonic nanobump metasurfaces for label-free sensing of serum tumor marker. Biosensors & Bioelectronics, 2020, 150(1): 111905

Das Gupta T, Martin-Monier L, Yan W, Le Bris A, Nguyen-Dang T, Page A G, Ho K T, Yesilköy F, Altug H, Qu Y, Sorin F. Self-assembly of nanostructured glass metasurfaces via templated fluid instabilities. Nature Nanotechnology, 2019, 14(4): 320–327

Shneidman A V, Becker K P, Lukas M A, Torgerson N, Wang C, Reshef O, Burek M J, Paul K, McLellan J, Lončar M. All-polymer integrated optical resonators by roll-to-roll nanoimprint lithography. ACS Photonics, 2018, 5(5): 1839–1845

Zhang C, Yi P, Peng L, Lai X, Chen J, Huang M, Ni J. Continuous fabrication of nanostructure arrays for flexible surface enhanced Raman scattering substrate. Scientific Reports, 2017, 7(1): 39814

Suresh V, Ding L, Chew A B, Yap F L. Fabrication of large-area flexible SERS substrates by nanoimprint lithography. ACS Applied Nano Materials, 2018, 1(2): 886–893

Deng Y, Yi P, Peng L, Lai X, Lin Z. Experimental investigation on the large-area fabrication of micro-pyramid arrays by roll-to-roll hot embossing on PVC film. Journal of Micromechanics and Microengineering, 2014, 24(4): 045023

Højlund-Nielsen E, Clausen J, Mäkela T, Thamdrup L H, Zalkovskij M, Nielsen T, Li Pira N, Ahopelto J, Mortensen N A, Kristensen A. Plasmonic colors: toward mass production of metasurfaces. Advanced Materials Technologies, 2016, 1(7): 1600054

Murthy S, Pranov H, Feidenhans’l N A, Madsen J S, Hansen P E, Pedersen H C, Taboryski R. Plasmonic color metasurfaces fabricated by a high speed roll-to-roll method. Nanoscale, 2017, 9(37): 14280–14287

Ok J G, Youn H S, Kwak M K, Lee K T, Shin Y J, Guo L J, Greenwald A, Liu Y S. Continuous and scalable fabrication of flexible metamaterial films via roll-to-roll nanoimprint process for broadband plasmonic infrared filters. Applied Physics Letters, 2012, 101(22): 223102

Wi J S, Lee S, Lee S H, Oh D K, Lee K T, Park I, Kwak M K, Ok J G. Facile three-dimensional nanoarchitecturing of double-bent gold strips on roll-to-roll nanoimprinted transparent nanogratings for flexible and scalable plasmonic sensors. Nanoscale, 2017, 9(4): 1398–1402

Wi J S, Oh D K, Kwak M K, Ok J G. Size-dependent detection sensitivity of spherical particles sitting on a double-bent gold strip array. Optical Materials Express, 2018, 8(7): 1774–1779

Jeon S, Shir D J, Nam Y S, Nidetz R, Highland M, Cahill D G, Rogers J A, Su M F, El-Kady I F, Christodoulou C G, Bogart G R. Molded transparent photopolymers and phase shift optics for fabricating three dimensional nanostructures. Optics Express, 2007, 15(10): 6358–6366

Choi J H, Oh C M, Jang J W. Micro- and nano-patterns fabricated by embossed microscale stamp with trenched edges. RSC Advances, 2017, 7(51): 32058–32064

Yanagishita T, Murakoshi K, Kondo T, Masuda H. Preparation of superhydrophobic surfaces with micro/nano alumina molds. RSC Advances, 2018, 8(64): 36697–36704

Kim S J, Jung P H, Kim W, Lee H, Hong S H. Generation of highly integrated multiple vivid colours using a three-dimensional broadband perfect absorber. Scientific Reports, 2019, 9(1): 14859

Jeong H E, Lee J K, Kim H N, Moon S H, Suh K Y. A nontransferring dry adhesive with hierarchical polymer nanohairs. Proceedings of the National Academy of Sciences of the United States of America, 2009, 106(14): 5639–5644

Karageorgiev P, Neher D, Schulz B, Stiller B, Pietsch U, Giersig M, Brehmer L. From anisotropic photo-fluidity towards nanomanipulation in the optical near-field. Nature Materials, 2005, 4(9): 699–703

Choi J, Cho W, Jung Y S, Kang H S, Kim H T. Direct fabrication of micro/nano-patterned surfaces by vertical-directional photo-fluidization of azobenzene materials. ACS Nano, 2017, 11(2): 1320–1327

Choi J, Jo W, Lee S Y, Jung Y S, Kim S H, Kim H T. Flexible and robust superomniphobic surfaces created by localized photofluidization of azopolymer pillars. ACS Nano, 2017, 11(8): 7821–7828

Liu Z, Cui Q, Huang Z, Guo L J. Transparent colored display enabled by flat glass waveguide and nanoimprinted multilayer gratings. ACS Photonics, 2020, 7(6): 1418–1424

Kothari R, Beaulieu M R, Hendricks N R, Li S, Watkins J J. Direct patterning of robust one-dimensional, two-dimensional, and three-dimensional crystalline metal oxide nanostructures using imprint lithography and nanoparticle dispersion inks. Chemistry of Materials, 2017, 29(9): 3908–3918

Li W, Zhou Y, Howell I R, Gai Y, Naik A R, Li S, Carter K R, Watkins J J. Direct imprinting of scalable, high-performance woodpile electrodes for three-dimensional lithium-ion nanobatteries. ACS Applied Materials & Interfaces, 2018, 10(6): 5447–5454

Liu D M, Wang Q K, Wang Q. Transfer the multiscale texture of crystalline Si onto thin-film micromorph cell by UV nanoimprint for light trapping. Applied Surface Science, 2018, 439(1): 168–175

Choi J, Jia Z, Park S. Fabrication of polymeric dual-scale nanoimprint molds using a polymer stencil membrane. Microelectronic Engineering, 2018, 199(1): 101–105

Han K S, Hong S H, Kim K I, Cho J Y, Choi K W, Lee H. Fabrication of 3D nano-structures using reverse imprint lithography. Nanotechnology, 2013, 24(4): 045304

Kwon Y W, Park J, Kim T, Kang S H, Kim H, Shin J, Jeon S, Hong S W. Flexible near-field nanopatterning with ultrathin, conformal phase masks on nonplanar substrates for biomimetic hierarchical photonic structures. ACS Nano, 2016, 10(4): 4609–4617

Wang C, Shao J, Lai D, Tian H, Li X. Suspended-template electric-assisted nanoimprinting for hierarchical micro-nanostructures on a fragile substrate. ACS Nano, 2019, 13(9): 10333–10342

Chandramohan A, Sibirev N V, Dubrovskii V G, Petty M C, Gallant A J, Zeze D A. Model for large-area monolayer coverage of polystyrene nanospheres by spin coating. Scientific Reports, 2017, 7(1): 40888

Nakagawa M, Nakaya A, Hoshikawa Y, Ito S, Hiroshiba N, Kyotani T. Size-dependent filling behavior of UV-curable di(meth) acrylate resins into carbon-coated anodic aluminum oxide pores of around 20 nm. ACS Applied Materials & Interfaces, 2016, 8(44): 30628–30634

Hua F, Sun Y G, Gaur A, Meitl M A, Bilhaut L, Rotkina L, Wang J F, Geil P, Shim M, Rogers J A, Shim A. Polymer imprint lithography with molecular-scale resolution. Nano Letters, 2004, 4 (12): 2467–2471

Yim W, Park S J, Han S Y, Park Y H, Lee S W, Park H J, Ahn Y H, Lee S, Park J Y. Carbon nanotubes as etching masks for the formation of polymer nanostructures. ACS Applied Materials & Interfaces, 2017, 9(50): 44053–44059

Pi S, Lin P, Xia Q. Fabrication of sub-10 nm metal nanowire arrays with sub-1 nm critical dimension control. Nanotechnology, 2016, 27(46): 464004

Woo J Y, Jo S, Oh J H, Kim J T, Han C S. Facile and precise fabrication of 10-nm nanostructures on soft and hard substrates. Applied Surface Science, 2019, 484(1): 317–325

Lim S H, Saifullah M S, Hussain H, Loh W W, Low H Y. Direct imprinting of high resolution TiO2 nanostructures. Nanotechnology, 2010, 21(28): 285303

Menumerov E, Golze S D, Hughes R A, Neretina S. Arrays of highly complex noble metal nanostructures using nanoimprint lithography in combination with liquid-phase epitaxy. Nanoscale, 2018, 10(38): 18186–18194

Pina-Hernandez C, Fu P F, Guo L J. Ultrasmall structure fabrication via a facile size modification of nanoimprinted functional silsesquioxane features. ACS Nano, 2011, 5(2): 923–931

Yao Y H, Wang Y F, Liu H, Li Y R, Song B X, Wu W. Line width tuning and smoothening for periodical grating fabrication in nanoimprint lithography. Applied Physics A, Materials Science & Processing, 2015, 121(2): 399–403

Wang S S, Magnusson R. Theory and applications of guided-mode resonance filters. Applied Optics, 1993, 32(14): 2606–2613

Liu Z. One-step fabrication of crystalline metal nanostructures by direct nanoimprinting below melting temperatures. Nature Communications, 2017, 8(1): 14910

Bhadauriya S, Wang X, Pitliya P, Zhang J, Raghavan D, Bockstaller M R, Stafford C M, Douglas J F, Karim A. Tuning the relaxation of nanopatterned polymer films with polymergrafted nanoparticles: observation of entropy-enthalpy compensation. Nano Letters, 2018, 18(12): 7441–7447

Liu L, Zhang Q, Lu Y S, Du W, Li B, Cui Y S, Yuan C S, Zhan P, Ge H X, Wang Z L, Chen Y F. A high-performance and low cost SERS substrate of plasmonic nanopillars on plastic film fabricated by nanoimprint lithography with AAO template. AIP Advances, 2017, 7(6): 065205

Jung Y, Hwang I, Yu J, Lee J, Choi J H, Jeong J H, Jung J Y, Lee J. Fano metamaterials on nanopedestals for plasmon-enhanced infrared spectroscopy. Scientific Reports, 2019, 9(1): 7834

Yao Y H, Wu W. All-dielectric heterogeneous metasurface as an efficient ultra-broadband reflector. Advanced Optical Materials, 2017, 5(14): 1700090

Hemmati H, Magnusson R. Resonant dual-grating metamembranes supporting spectrally narrow bound states in the continuum. Advanced Optical Materials, 2019, 7(20): 1900754

Zhang C, Subbaraman H, Li Q, Pan Z, Ok J G, Ling T, Chung C J, Zhang X, Lin X, Chen R T, Guo L J. Printed photonic elements: nanoimprinting and beyond. Journal of Materials Chemistry C, Materials for Optical and Electronic Devices, 2016, 4(23): 5133–5153

Lee K T, Jang J Y, Park S J, Ji C G, Yang S M, Guo L J, Park H J. Angle-insensitive and CMOS-compatible subwavelength color printing. Advanced Optical Materials, 2016, 4(11): 1696–1702

Liu H, Yang H, Li Y R, Song B X, Wang Y F, Liu Z R, Peng L, Lim H, Yoon J, Wu W. Switchable all-dielectric metasurfaces for full-color reflective display. Advanced Optical Materials, 2019, 7 (8): 1801639

Joo W J, Kyoung J, Esfandyarpour M, Lee S H, Koo H, Song S, Kwon Y N, Song S H, Bae J C, Jo A, Kwon M J, Han S H, Kim S H, Hwang S, Brongersma M L. Metasurface-driven OLED displays beyond 10000 pixels per inch. Science, 2020, 370 (6515): 459–463

Yoon G, Kim K, Kim S U, Han S, Lee H, Rho J. Printable nanocomposite metalens for high-contrast near-infrared imaging. ACS Nano, 2021, 15(1): 698–706

Checcucci S, Bottein T, Gurioli M, Favre L, Grosso D, Abbarchi M. Multifunctional metasurfaces based on direct nanoimprint of titania sol-gel coatings. Advanced Optical Materials, 2019, 7(10): 1801406

Kim K, Yoon G, Baek S, Rho J, Lee H. Facile nanocasting of dielectric metasurfaces with sub-100 nm resolution. ACS Applied Materials & Interfaces, 2019, 11(29): 26109–26115

Yoon G, Kim K, Huh D, Lee H, Rho J. Single-step manufacturing of hierarchical dielectric metalens in the visible. Nature Communications, 2020, 11(1): 2268

Gopalan K K, Paulillo B, Mackenzie D M A, Rodrigo D, Bareza N, Whelan P R, Shivayogimath A, Pruneri V. Scalable and tunable periodic graphene nanohole arrays for mid-infrared plasmonics. Nano Letters, 2018, 18(9): 5913–5918

Zhao Z J, Lee M, Kang H, Hwang S, Jeon S, Park N, Park S H, Jeong J H. Eight inch wafer-scale flexible polarization-dependent color filters with Ag-TiO2 composite nanowires. ACS Applied Materials & Interfaces, 2018, 10(10): 9188–9196

Driencourt L, Federspiel F, Kazazis D, Tseng L T, Frantz R, Ekinci Y, Ferrini R, Gallinet B. Electrically tunable multicolored filter using birefringent plasmonic resonators and liquid crystals. ACS Photonics, 2020, 7(2): 444–453

Shin Y J, Pina-Hernandez C, Wu Y K, Ok J G, Guo L J. Facile route of flexible wire grid polarizer fabrication by angled-evaporations of aluminum on two sidewalls of an imprinted nanograting. Nanotechnology, 2012, 23(34): 344018

Matricardi C, Garcia-Pomar J L, Molet P, Perez L A, Alonso M I, Campoy-Quiles M, Mihi A. High-throughput nanofabrication of metasurfaces with polarization-dependent response. Advanced Optical Materials, 2020, 8(20): 2000786

Yoon G, Kim K, Kim S U, Han S, Lee H, Rho J. Printable nanocomposite metalens for high-contrast near-infrared imaging. ACS Nano, 2021, 15(1): 698–706

Yang Y, Yoon G, Park S, Namgung S D, Badloe T, Nam K T, Rho J. Revealing structural disorder in hydrogenated amorphous silicon for a low-loss photonic platform at visible frequencies. Advanced Materials, 2021, 33(9): e2005893

Oh D K, Jeong H, Kim J, Kim Y, Kim I, Ok J G, Rho J. Top-down nanofabrication approaches toward single-digit-nanometer scale structures. Journal of Mechanical Science and Technology, 20201, 35(3): 837–859

Stolt T, Kim J, Héron S, Vesala A, Yang Y, Mun J, Kim M, Huttunen M J, Czaplicki R, Kauranen M, Rho J, Genevet P. Backward phase-matched second-harmonic generation from stacked metasurfaces. Physical Review Letters, 2021, 126(3): 033901

Lee D, Go M, Kim M, Jang J, Choi C, Kim J K, Rho J. Multiple-patterning colloidal lithography-implemented scalable manufacturing of heat-tolerant titanium nitride broadband absorbers in the visible to near-infrared. Microsystems & Nanoengineering, 2021, 7(1): 14

Kim I, Ansari M A, Mehmood M Q, Kim W S, Jang J, Zubair M, Kim Y K, Rho J. Stimuli-responsive dynamic metaholographic displays with designer liquid crystal modulators. Advanced Materials, 2020, 32(50): e2004664

Chen Y, Ai B, Wong Z J. Soft optical metamaterials. Nano Convergence, 2020, 7(1): 18

Naveed M A, Ansari M A, Kim I, Badloe T, Kim J, Oh D K, Riaz K, Tauqeer T, Younis U, Saleem M, Anwar M S, Zubair M, Mehmood M Q, Rho J. Optical spin-symmetry breaking for high-efficiency directional helicity-multiplexed metaholograms. Microsystems & Nanoengineering, 2021, 7(1): 5


Glossary of Manipulatives

This glossary of hands-on manipulatives was created to help teachers learn about and use manipulatives in their regular classroom settings. Though there are dozens of different manipulatives that can be used to educate students, the pedagogical basis for using one is the same: firsthand interaction with manipulatives helps students understand mathematics. Manipulatives provide concrete ways for students to bring meaning to abstract mathematical ideas. They help students learn new concepts and relate new concepts to what they have already learned. They assist students with solving problems. When students explore with manipulatives, they have the opportunity to see mathematical relationships. They have tactile and visual models that help develop their understanding. Without these concrete references, students are too often lost in a morass of abstract symbols for which they have no concrete connection or comprehension. Teachers need to learn how to make use of concrete manipulatives so that students learn the how and why of mathematics concepts. Students’ thinking and reasoning must be the top priorities when they are engaged in learning with manipulatives. The concrete manipulatives and the activities for which they are used are only as valuable as the students’ reflection on the mathematical concepts.

AngLegs®

AngLegs enable students to study polygons, perimeter, area, angle measurement, side lengths, and more. The set includes 72 snap-together AngLegs pieces (12 each of six different lengths) and two snap-on View Thru® protractors.

Attribute Blocks

The Attribute Blocks set includes five basic shapes (triangle, square, rectangle, circle, and hexagon) displaying different attributes. The basic shapes come in three different colors, two different sizes, and two different thicknesses. Attribute Blocks can be used to teach sorting, patterns, and identifying attributes.

Base Ten Blocks

Base Ten Blocks are constructed in powers of ten, representing ones, tens, hundreds, and thousands. The materials include 1-centimeter unit cubes to represent ones, 10-centimeter rods to represent tens, and 10-centimeter square blocks to represent hundreds. They can be used to teach number and place value concepts, such as the use of regrouping in addition and subtraction. They can also be used to teach measurement concepts, such as area and volume. Place Value Mats serve as organizers.

Bug Counters

The set of Bug Counters contains counters in six different shapes (grasshopper, bumblebee, beetle, spider, dragonfly, and caterpillar) and six colors. Bugs can be used for sorting and counting activities.

Centimeter Cubes

These plastic Centimeter Cubes are 1 cm on a side and come in 10 colors. They can be used to teach counting, patterning, and spatial reasoning. They are suitable for measuring area and volume and may also be used to generate data for the study of probability.

Color Cubes

Color Cubes are available in manipulate® and wood, and six different colors in a set: red, orange, yellow, green, blue, and purple. They help children through hands-on exploration of basic mathematics and geometric relationships as they stack, count, sort, and work with patterns.

CountTEN® Sorting Tray

The CounTEN Sorting Tray is an egg carton-shaped ten-frame carton used for building basic numeracy as well as for sorting activities.

Cuisenaire® Rods

Cuisenaire Rods include Rods of 10 different colors, each corresponding to a specific length. White Rods, the shortest, are 1 cm long. Orange rods, the longest, are 10 cm long. Rods allow students to explore all fundamental math concepts, including addition and patterning, multiplication, division, fractions and decimals, and data analysis.

DecaDots®

The vertical ten-frame tiles provide an intuitive and visual representation of patterns for numbers up to 10. They can be used to learn shortcuts, such as counting the spaces remaining instead of counting the number of dots. They emphasize the importance of 10 in place value.

Fraction Circle Rings

These five plastic rings are used with the Deluxe Rainbow Fraction® Circles to make measurements related to circles and fractions of circles. The set consists of a Degree Measurement Ring, a Fraction Measurement Ring, a Decimal Measurement Ring, a Percent Measurement Ring, and a Time Measurement Ring.

Fraction Circles

Basic Fraction Circles have six circles that show halves, thirds, fourths, sixths, eighths, and one whole. Each circle is a different color, with plastic pieces that can be put together and taken apart to show different fractions. Circles are ideal for introducing students to basic fraction concepts.

Geared Clocks

These Geared Clocks are made of plastic and have hidden gears that reflect accurate hour and minute relationships. The hour and minute hands are color-coded to match hour and minute markings on the clock face. Clocks allow children to explore telling time on analog clocks and calculating elapsed time.

Geoboards

The double-sided Geoboard is 7.5 inch square and made of plastic. One side has a 5 &time 5 peg grid. The other has a circle with a 12-peg radius. Students stretch rubber bands from peg to peg to form geometric shapes. Geoboards can be used to study symmetry, congruency, area, and perimeter.

Inchworms™

Plastic Inchworms are 1 inch long. Pieces come in six different colors and can be snapped together to make a chain. Worms are ideal for children who are just starting to learn measurement with standard units, because the worms provide a transition to using a ruler. They can be used to measure length, width, and height.

Inchworms™ Ruler

The Inchworms Ruler is made of plastic. Each inch of the ruler is marked with an Inchworm to help children see the units of measurement clearly. The ruler can be used with compatible Inchworms products to explore using standard units to measure length, width, and height.

Link ‘N’ Learn® Links

Multicolored Link ‘N’ Learn Links are large and easy for children to interlock to make chains. The chains can be used to explore concepts such as number sense and operations. Use links to teach counting, addition, and subtraction. Links can also be used to explore measuring with nonstandard units.

Reflect-It™ Hinged Mirror

This mirror with hinge and clear protractor base allows you to see the multiple reflections created by controlling the angle size of the mirror. Create angles up to 180° using the base. Use the mirror without the base to hypothesize the properties of special angles then draw conclusions and discover symmetry.

Relational GeoSolids®

Relational GeoSolids are 14 three-dimensional shapes that can be used to teach about prisms, pyramids, spheres, cylinders, cones, and hemispheres. GeoSolids facilitate classroom demonstrations and experimentation. The shapes can be filled with water, sand, rice, or other materials to give students a concrete framework for the study of volume.

Spinners

Spinners enable students to study probability and to generate numbers and data lists for number operations and data analysis.

Tangrams

Tangrams are ancient Chinese puzzles made of seven three- and four-sided shapes. Each set of tangrams contains four tangram puzzles in four different colors. Each puzzle consists of five triangles (two small, one medium, and two large), a square, and a parallelogram. Tangrams can be used to solve puzzles in which all seven pieces must be put together to create a specified shape. Tangram puzzles teach many geometric concepts, including symmetry, congruency, transformations, and problem solving.

Three Bear Family® Counters

Three Bear Family Counters come in three different sizes and weights—Baby Bear™ (4 grams), Mama Bear™ (8 grams), and Papa Bear™ (12 grams). Bear Counters™ can be used to teach abstract concepts involving number sense and operations by allowing children to act them out. Use Bears to explore sorting and comparing sets, counting, estimating, addition and subtraction, and sequencing. Bears can be used to experiment with measuring mass, or to teach patterning concepts and early algebra.

Write-On/Wipe-Off Clocks

These 4.5-inch-square clocks are laminated so that students can write the digital time below the movable hands of the clock face. Clocks can be reused over and over again to give students plenty of hands-on practice measuring time. Clocks also help students practice addition, subtraction, and problem solving.

XY Coordinate Pegboards

XY Coordinate Pegboards can be used to graph coordinates in one, two, or four quadrants show translations of geometric figures display data in various forms and demonstrate numerous algebraic concepts and relationships.

Algebra Tiles

Algebra Tiles involve students in learning algebraic concepts, including adding and subtracting polynomials, factoring trinomials, the Zero Principle, and solving first and second degree equations. Each tile represents the quantities x, x2, and 1 along with their additive inverses.

Bucket Balance

The Bucket Balance features removable ½-liter buckets. The buckets are clear to help students see what they are measuring. Measures 16"L × 5.75"W × 5"H. The balance helps students explore the measurement of mass with accuracy to 1 gram.

Color Tiles

Color Tiles are a collection of square tiles, one inch on a side, in four colors–red, blue, yellow, and green. The tiles have applications in all areas of the math curriculum. They are useful for counting, estimating, measuring, building understanding of place value, investigating multiplication patterns, solving problems with fractions, exploring geometric shapes, carrying out probability experiments, and more. A supply of these tiles provides versatile assistance to math instruction at all grade levels.

Deluxe Rainbow Fraction® Circles

The set consists of nine color-coded, 3 ½ inch plastic circles representing a whole, halves, thirds, fourths, fifths, sixths, eighths, tenths, and twelfths. The circles enable students to explore fractions, fractional equivalences, the fractional components of circle graphs, and more.

Deluxe Rainbow Fraction® Squares

The set consists of nine color-coded, 10-cm plastic squares representing a whole, halves, thirds, fourths, fifths, sixths, eighths, tenths, and twelfths. The squares enable students to explore fractions, fractional equivalences, and more.

Fraction Tiles

Fraction tiles enable students to explore fractions, fractional equivalences, add and subtract fractions, work with mixed numbers, and more. Proportionally sized tiles help students compare fractional values.

Fraction Tower® Equivalency Cubes

Faction Tower Equivalency Cubes snap together to demonstrate fractions, decimals, and percentages. Each tower is divided into stacking cubes that represent a whole, halves, thirds, fourths, fifths, sixths, eighths, tenths, and twelfths. Each cube is labeled with the part of a whole that it represents. One side shows the fraction, another shows the decimal, and a third shows the percentage. The fourth side is blank. Students can turn the cubes or towers to see each of the representations of the same value. Towers, or portions of towers, can be compared with each other.

GeoReflector™ Mirror

This mirror is made of colored, transparent plastic so that the mirror image of an object placed in front of the mirror appears superimposed on the background behind the mirror. The mirror can be used to help students understand transformations, symmetry, and congruence.

Graphing Mat

Graphing Mats are double sided and have square grids or a Venn diagram for graphing. Both sides are ideal for activities that use manipulatives or other real objects. The mat can be used to introduce graphing data. It can also be used for activities such as sorting and classifying geometric shapes.

Pattern Blocks

Pattern Blocks are a collection of six shapes in six colors—green triangles, orange squares, blue parallelograms, tan rhombuses, red trapezoids, and yellow hexagons. The shapes are designed so that the sides are all the same length except for the trapezoid, which has one side that is twice as long. This feature makes it possible for the shapes to nest together and provides for a wide range of explorations.

Polyhedral Dice

These dice come in 4-, 6-, 8-, 10-, 12-, and 20-sided varieties and are most typically used for probability activities. They may be used to generate data for number and operations activities and for data analysis.

Rekenrek

A Rekenrek is an arithmetic frame designed to help children visualize addition and subtraction strategies. The 20-bead Rekenrek features two rows of 10 beads. Each of these sets of ten are broken into two sets of 5 beads using contrasting colors–red and white–to help children see numbers, as well as to visualize how numbers can be composed and decomposed. The Rekenrek combines features of the number line, individual counters, and base-ten models such as Base Ten Blocks. This model allows for children to think in groups of those benchmark numbers, 5 and 10.

Snap Cubes®

Each side of a Snap Cube can be connected to another cube. Cubes can be used to teach a variety of different math concepts. Use cubes to explore number sense and operations with activities involving counting, place value, addition, and subtraction. Or use cubes to show measuring using nonstandard units. Cubes can also be used to demonstrate patterning and basic geometry.

Sorting Circles

These collapsible Sorting Circles can be used to teach beginning algebraic thinking by having children sort objects into sets. They can also be used for classifying geometric shapes by attribute.

Two-Color Counters

These versatile Two-Color Counters are thicker than most other counters and easy for students to manipulate. They can be used to teach number and operations concepts, such as patterning, addition and subtraction, and multiplication and division. Counters can also be used to introduce students to basic ideas of probability.


Block Reason: Access from your area has been temporarily limited for security reasons.
Time: Sun, 4 Jul 2021 5:56:04 GMT

About Wordfence

Wordfence is a security plugin installed on over 3 million WordPress sites. The owner of this site is using Wordfence to manage access to their site.

You can also read the documentation to learn about Wordfence's blocking tools, or visit wordfence.com to learn more about Wordfence.

Generated by Wordfence at Sun, 4 Jul 2021 5:56:04 GMT.
Your computer's time: .


How to Solve the 15 Puzzle

These instructions provide one method for solving the 15 Puzzle. The instructions provided here are meant to be a step by step process outlining one algorithm for solving the 15 Puzzle. These instructions are not meant to be an exhaustive explanation of how to move the tiles around the 15 Puzzle board. If the reader would like to learn more about the mechanics of the 15 Puzzle game, they are encouraged to experiment with the puzzle to learn how the tiles move around. My purpose here is to give instruction on where to put the pieces after you know how to move them around the board.

The 15 Puzzle is a good form of entertainment that has been popular for over 100 years. The puzzle is simple enough that it can be solved by children, but adults can have a difficult time solving it at first if they aren't good at solving puzzles. This set of instructions will be easy, and will only take 1 - 2 minutes for someone who is familiar with how to move the pieces around on a 15 Puzzle board. For beginners, solving the puzzle with these instructions can take 10 minutes or longer. This puzzle is fun, simple, and entertaining. Once you have solved the puzzle you will gain a sense of accomplishment. The skills you gain will help you to be able to solve more difficult puzzles.

The 15 Puzzle is traditionally made up of the board shown in the picture above. However, sometimes a picture of a bird, a flower, or something else is swapped for the numbers, so instead of putting the numbers in order you try to put the image back together. In this version the numbers start out scrambled, and the goal is to slide the pieces around until you get them in order from 1 to 15 as shown in the picture above.

All of the pictures in this set of instructions are screenshots of me playing the 15 Puzzle on my computer. The version of the puzzle shown in the pictures comes with Windows 7 in the Desktop Gadgets.

Solving this puzzle is not hazardous in any way that I know of.


Solitaire

Start playing unlimited online games of solitaire for free. No download or email registration required, meaning you can start playing now. Our game is the fastest loading version on the internet, and is mobile-friendly.

Undo moves - The chances of winning are between 80 and 90%. However, even if you have a winnable game, if you make one wrong move, it may be the end of your game. If you're stuck, you can undo as many moves as you’d like to get yourself back in the game and win!

Change difficulty levels - You can play with turn 1 and turn 3 options. Turn 1 is when 1 card is drawn from the stockpile at a time and is an easier version. Turn 3 is when three cards are moved from the stockpile at time, and is harder because you can only play every third card.

Track your moves and time - If you're competitive, you’ll want to track how many moves it takes to win a game, how long it takes, and how many times you pass through the deck. You then challenge yourself to beat your record times and number of moves. Practice makes perfect!

Create a free account - If you’d like, you can register an account to save a game and pick up where you left off on any device. We’ll even track all the games you’ve played, including your time to completion and total number of moves. You’ll can see how you get better over time.

Play the game of the day - Everyday, we introduce a new winnable game. See how you perform compared to other players. Scroll below the game to see the current leaders, and try to beat their score. You can play as many times as you like, and leave comments and tips.

Play on your mobile phone or tablet - Our game works perfectly on any size phone or tablet device, both in vertical and horizontal orientations.

Enjoy a clean design, animations, and sounds - We’ve designed our playing cards to be classic and clean, so they are easy to read as you sequence cards, and our animations keep you engaged. You can also customize playing card designs, play with sounds, and play in fullscreen mode.

Solitaire rules and how to play

Game setup: After a 52-card deck is shuffled you’ll begin to set up the tableau by distributing the cards into seven columns face down, with each new card being placed into the next column.

The tableau increases in size from left to right, with the left-most pile containing one card and the right-most containing seven. As an example, this means the first seven cards will create the seven columns of the Tableau. The eighth card distributed will go into the second column, since the first column already has its one and only card.

After the piles are complete, they should be cascaded downwards such that they form a “reverse staircase” form towards the right. Ultimately, you will have seven piles, with the first pile containing one card, the second pile containing two cards, the third pile containing three cards etc. Only the last card in each of the Tableau columns is flipped over face up so you can see it’s suit, color and value. In our game, this is automatically done for you!

All leftover cards after the foundations are created become the “Stock,” where you can turn over the first card.

Goal: To win, you need to arrange all the cards into the four empty Foundations piles by suit color and in numerical order, starting from Ace all the way to King.

Tableau: This is the area where you have seven columns, with the first column containing one card and each sequential column containing one more additional card. The last card of every pile is turned over face up.

Stockpile: This is where you can draw the remaining cards, which can then be played in the game. If not used, the cards are put into a waste pile. Once all cards are turned over, the remaining cards that have not been moved to either the tableau or foundation can then be redrawn from the stockpile in the same order.


Sublimation Blanks

/>Puzzles 4 />Business Supplies 8 Coasters 10 />Compact Mirrors 10 Drinkables 100 Home Decor 48 />Key Chains 63 />Leather Cases 12 />Pet Gifts 19 />Phone Covers 71 />Photo Jewelries 68 />Photo Panels 46 Plates 9 Sleeves & Bags 30 Sublimation Fabrics 137 />Tablet Covers 8 Tiles 24


Watch the video: . Πατέντα για Οδηγό εκκίνησης σε πλακάκια μπάνιου (December 2021).