1460948704-a2fa776e-7b85-4e64-86a3-9d089352a756

1. A computer-implemented method, comprising:
tessellating a surface bounded by a closed two-dimensional boundary to generate an initial tessellated surface, wherein the initial tessellated surface is bounded by the boundary;
specifying a mean curvature constraint value at one or more boundary vertices of the initial tessellated surface;
inflating the initial tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices while maintaining the boundary to generate an inflated surface that provides a three-dimensional geometric effect, wherein said inflating the initial tessellated surface is performed by solving a single linear system; and
displaying the boundary and the three-dimensional geometric effect as an inflated three-dimensional object.
2. The computer-implemented method as recited in claim 1, wherein said tessellating comprises triangulating the surface bounded by the closed two-dimensional boundary, and wherein the initial tessellated surface is a triangle mesh.
3. The computer-implemented method as recited in claim 1, further comprising:
specifying an internal boundary on the inflated surface; and
generating a new inflated surface that provides a different three-dimensional geometric effect according to the internal boundary and the specified mean curvature constraint values at the one or more boundary vertices.
4. The computer-implemented method as recited in claim 3, wherein said generating a new inflated surface comprises:
flattening the initial inflated surface;
computing the 2D position of the internal boundary;
tessellating the surface subject to the internal boundary to generate a new tessellated surface;
specifying a mean curvature constraint value at one or more vertices of the new tessellated surface at the internal boundary; and
inflating the new tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices and the mean curvature constraint values at the one or more vertices of the new tessellated surface at the internal boundary.
5. The computer-implemented method as recited in claim 4, further comprising moving the internal boundary to its original 2D position.
6. The computer-implemented method as recited in claim 3, wherein said specifying an internal boundary on the inflated surface comprises receiving user input via a user interface, wherein the user input indicates the internal boundary on the displayed inflated three-dimensional object.
7. The computer-implemented method as recited in claim 1, wherein said specifying a mean curvature constraint value at one or more boundary vertices of the initial tessellated surface further comprises receiving user input indicating the mean curvature constraint values at the one or more boundary vertices.
8. The computer-implemented method as recited in claim 1, further comprising:
specifying a flow direction for the surface bounded by the closed two-dimensional boundary; and
inflating the initial tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices and the flow direction for the surface while maintaining the boundary to generate an inflated surface that provides a three-dimensional geometric effect, wherein the three-dimensional geometric effect flows in the specified flow direction.
9. The computer-implemented method as recited in claim 1, wherein said linear system does not require the tessellation to extend beyond the boundary.
10. The computer-implemented method as recited in claim 1, further comprising:
specifying a position constraint on the inflated surface;
specifying a smoothness value for the position constraint, wherein the smoothness value indicates a sharp position constraint or a smooth position constraint; and
generating a new inflated surface that provides a different three-dimensional geometric effect according to the position constraint and the specified smoothness value, wherein the new inflated surface passes through the position constraint but does not maintain geometric smoothness across the position constraint if the smoothness value indicates a sharp position constraint, and wherein the new inflated surface passes through the position constraint while maintaining smoothness across the position constraint curve if the smoothness value indicates a smooth position constraint.
11. A system, comprising:
at least one processor;
a display device; and
a memory comprising program instructions, wherein the program instructions are executable by the at least one processor to implement a surface inflation tool configured to:
tessellate a surface bounded by a closed two-dimensional boundary to generate an initial tessellated surface, wherein the initial tessellated surface is bounded by the boundary;
specify a mean curvature constraint value at one or more boundary vertices of the initial tessellated surface;
inflate the initial tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices while maintaining the boundary to generate an inflated surface that provides a three-dimensional geometric effect, wherein, to inflate the initial tessellated surface, the surface inflation tool is configured to perform the inflation by solving a single linear system; and
display the boundary and the three-dimensional geometric effect as an inflated three-dimensional object on the display device.
12. The system as recited in claim 11, wherein, to tessellate, the surface inflation tool is configured to triangulate the surface bounded by the closed two-dimensional boundary, and wherein the initial tessellated surface is a triangle mesh.
13. The system as recited in claim 11, wherein the surface inflation tool is configured to:
specify an internal boundary on the inflated surface; and
generate a new inflated surface that provides a different three-dimensional geometric effect according to the internal boundary and the specified mean curvature constraint values at the one or more boundary vertices.
14. The system as recited in claim 13, wherein, to generate a new inflated surface, the surface inflation tool is configured to:
flatten the initial inflated surface;
compute the 2D position of the internal boundary;
tessellate the surface subject to the internal boundary to generate a new tessellated surface;
specify a mean curvature constraint value at one or more vertices of the new tessellated surface at the internal boundary; and
inflate the new tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices and the mean curvature constraint values at the one or more vertices of the new tessellated surface at the internal boundary.
15. The system as recited in claim 14, wherein the surface inflation tool is further configured to move the internal boundary to its original 2D position.
16. The system as recited in claim 13, wherein, to specify an internal boundary on the inflated surface, the surface inflation tool is configured to receive user input via a user interface, wherein the user input indicates the internal boundary on the displayed inflated three-dimensional object.
17. The system as recited in claim 11, wherein, to specify a mean curvature constraint value at one or more boundary vertices of the initial tessellated surface, the surface inflation tool is configured to receive user input indicating the mean curvature constraint values at the one or more boundary vertices.
18. The system as recited in claim 11, wherein the surface inflation tool is configured to:
specify a flow direction for the surface bounded by the closed two-dimensional boundary; and
inflate the initial tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices and the flow direction for the surface while maintaining the boundary to generate an inflated surface that provides a three-dimensional geometric effect, wherein the three-dimensional geometric effect flows in the specified flow direction.
19. The system as recited in claim 11, wherein said linear system does not require the tessellation to extend beyond the boundary.
20. The system as recited in claim 11, wherein the surface inflation tool is configured to:
specify a position constraint on the inflated surface;
specify a smoothness value for the position constraint, wherein the smoothness value indicates a sharp position constraint or a smooth position constraint; and
generate a new inflated surface that provides a different three-dimensional geometric effect according to the position constraint and the specified smoothness value, wherein the new inflated surface passes through the position constraint but does not maintain geometric smoothness across the position constraint if the smoothness value indicates a sharp position constraint, and wherein the new inflated surface passes through the position constraint while maintaining smoothness across the position constraint curve if the smoothness value indicates a smooth position constraint.
21. A non-transitory computer-readable storage medium storing program instructions, wherein the program instructions are computer-executable to implement:
tessellating a surface bounded by a closed two-dimensional boundary to generate an initial tessellated surface, wherein the initial tessellated surface is bounded by the boundary;
specifying a mean curvature constraint value at one or more boundary vertices of the initial tessellated surface;
inflating the initial tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices while maintaining the boundary to generate an inflated surface that provides a three-dimensional geometric effect, wherein said inflating the initial tessellated surface is performed by solving a single linear system; and
displaying the boundary and the three-dimensional geometric effect as an inflated three-dimensional object.
22. The non-transitory computer-readable storage medium as recited in claim 21, wherein, in said tessellating, the program instructions are computer-executable to implement triangulating the surface bounded by the closed two-dimensional boundary, and wherein the initial tessellated surface is a triangle mesh.
23. The non-transitory computer-readable storage medium as recited in claim 21, wherein the program instructions are computer-executable to implement:
specifying an internal boundary on the inflated surface; and
generating a new inflated surface that provides a different three-dimensional geometric effect according to the internal boundary and the specified mean curvature constraint values at the one or more boundary vertices.
24. The non-transitory computer-readable storage medium as recited in claim 23, wherein, in said generating a new inflated surface, the program instructions are computer-executable to implement:
flattening the initial inflated surface;
computing the 2D position of the internal boundary;
tessellating the surface subject to the internal boundary to generate a new tessellated surface;
specifying a mean curvature constraint value at one or more vertices of the new tessellated surface at the internal boundary; and
inflating the new tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices and the mean curvature constraint values at the one or more vertices of the new tessellated surface at the internal boundary.
25. The non-transitory computer-readable storage medium as recited in claim 24, wherein the program instructions are further computer-executable to implement moving the internal boundary to its original 2D position.
26. The non-transitory computer-readable storage medium as recited in claim 23, wherein, in said specifying an internal boundary on the inflated surface, the program instructions are computer-executable to implement receiving user input via a user interface, wherein the user input indicates the internal boundary on the displayed inflated three-dimensional object.
27. The non-transitory computer-readable storage medium as recited in claim 21, wherein, in said specifying a mean curvature constraint value at one or more boundary vertices of the initial tessellated surface, the program instructions are computer-executable to implement receiving user input indicating the mean curvature constraint values at the one or more boundary vertices.
28. The non-transitory computer-readable storage medium as recited in claim 21, wherein the program instructions are computer-executable to implement:
specifying a flow direction for the surface bounded by the closed two-dimensional boundary; and
inflating the initial tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices and the flow direction for the surface while maintaining the boundary to generate an inflated surface that provides a three-dimensional geometric effect, wherein the three-dimensional geometric effect flows in the specified flow direction.
29. The non-transitory computer-readable storage medium as recited in claim 21, wherein said linear system does not require the tessellation to extend beyond the boundary.
30. The non-transitory computer-readable storage medium as recited in claim 21, wherein the program instructions are computer-executable to implement:
specifying a position constraint on the inflated surface;
specifying a smoothness value for the position constraint, wherein the smoothness value indicates a sharp position constraint or a smooth position constraint; and
generating a new inflated surface that provides a different three-dimensional geometric effect according to the position constraint and the specified smoothness value, wherein the new inflated surface passes through the position constraint but does not maintain geometric smoothness across the position constraint if the smoothness value indicates a sharp position constraint, and wherein the new inflated surface passes through the position constraint while maintaining smoothness across the position constraint curve if the smoothness value indicates a smooth position constraint.
31. A non-transitory computer-readable storage medium storing program instructions, wherein the program instructions are computer-executable to implement:
tessellating a surface bounded by a closed two-dimensional boundary to generate an initial tessellated surface, wherein the initial tessellated surface is bounded by the boundary;
specifying a mean curvature constraint value at one or more boundary vertices of the initial tessellated surface;
inflating the initial tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices while maintaining the boundary to generate an inflated surface that provides a three-dimensional geometric effect;
displaying the boundary and the three-dimensional geometric effect as an inflated three-dimensional object;
specifying an internal boundary on the inflated surface; and
generating a new inflated surface that provides a different three-dimensional geometric effect according to the internal boundary and the specified mean curvature constraint values at the one or more boundary vertices, wherein, in said generating a new inflated surface, the program instructions are computer-executable to implement:
flattening the initial inflated surface;
computing the 2D position of the internal boundary;
tessellating the surface subject to the internal boundary to generate a new tessellated surface;
specifying a mean curvature constraint value at one or more vertices of the new tessellated surface at the internal boundary; and
inflating the new tessellated surface according to the specified mean curvature constraint values at the one or more boundary vertices and the mean curvature constraint values at the one or more vertices of the new tessellated surface at the internal boundary.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A television receiver connecting to a program distribution server so as to receive and play back past program data, the television receiver comprising:
a broadcast data reception unit for receiving currently broadcast program data and program information, the program information containing server identification information which identifies the program distribution server;
an IP data reception unit for receiving the past program data from the program distribution server;
a remote control reception unit for receiving viewing program information as a remote control signal, the viewing program information containing viewing channel information andor viewing date-and-time information;
a storage unit for storing at least the program information received; and
a control unit for determining whether program data indicated by the viewing program information is past program data based on the viewing date-and-time information when the remote control reception unit has received the viewing program information, wherein
when determining that the program data indicated by the viewing program information is past program data, the control unit obtains the server identification information contained in the program information stored in the storage unit, and controls the IP data reception unit to connect to the program distribution server indicated by the server identification information and then to receive the program data identified by the viewing channel information andor the viewing date-and-time information; and
when determining that the program data indicated by the viewing program information is not past program data, the control unit controls the broadcast data reception unit to receive the program data identified by the viewing program information.
2. The television receiver of claim 1, wherein
the server identification information is connection URL information of the program distribution server corresponding to one channel.
3. The television receiver of claim 1, wherein
the server identification information is connection URL information of the program distribution server corresponding to one piece of program data.
4. The television receiver of claim 1, further comprising:
a video recording unit for recording the currently broadcast program data, wherein
when the remote control reception unit has received the viewing program information, the control unit determines whether the program data indicated by the viewing program information is past program data, based on the viewing date-and-time information;
when determining that the program data indicated by the viewing program information is past program data, the control unit determines whether the program data indicated by the viewing program information has been recorded in the video recording unit; and
when determining that the program data indicated by the viewing program information has been recorded in the video recording unit, the control unit controls the recorded program data indicated by the viewing program information to be played back.
5. The television receiver of claim 1, wherein
the control unit controls an electronic program guide corresponding to the viewing date-and-time information received by the remote control reception unit to be displayed; specific past program data to be selected from the electronic program guide corresponding to the viewing date-and-time information; and the selected past program data to be received by the IP data reception unit.
6. A method for receiving program data by connecting a television receiver to a program distribution server so as to receive and play back past program data, the method comprising:
a program information storing step for receiving currently broadcast program data, and receiving and storing program information containing server identification information which identifies the program distribution server;
a viewing program information receiving step for receiving viewing program information from a remote control, the viewing program information containing viewing channel information andor viewing date-and-time information;
a past program determining step for determining, based on the viewing date-and-time information, whether program data indicated by the viewing program information is past program data;
a first program data receiving step for, when the program data indicated by the viewing program information is determined to be past program data, obtaining the server identification information contained in the program information stored in the program information storing step; connecting to the program distribution server indicated by the server identification information; and receiving the program data identified by the viewing channel information andor the viewing date-and-time information; and
a second program data receiving step for, when the program data indicated by the viewing program information is determined not to be past program data, receiving the program data identified by the viewing program information.