A website is provided for facilitating the design of a garden. The website allows a user to design a garden on-line, and then provide a visual simulation of the appearance of the garden through a time sequence spanning multiple growing seasons. The user designs the garden by selecting plants through an interactive user interface and positioning each selected plant onto an orthogonal-oriented “design plot”. The growths of the plants in the garden are then simulated on a perspective-oriented “simulation plot”. The simulation simultaneously displays images of each plant in the garden through different growth periods, which may include both blooming and non-blooming times. Through the simulation, the user may see what his or her garden would look like through the seasons prior to actual planting. The user may modify the garden design and rerun the simulation multiple times.
|
9. A system, comprising:
a server for:
receiving a selection of one or more plants and a placement of the selected plants in a design plot for the garden, the design plot displaying the garden without a depth of field, wherein a plurality of images and the placement of each selected plant is stored;
receiving a command to run a simulation of the garden, the simulation comprising a plurality of time periods;
in response to the command, adjusting, by the computing processor, a size and the placement of the plurality of images of each selected plant by translating the design plot display of the garden without the depth of field to the simulation plot display of the garden with a depth of field, the translating comprising:
determining design plot dimensions and simulation plot dimensions;
determining coordinates of the given plant on a first set of axes of the design plot and a plant size of the given plant;
determining coordinate adjustment factors for translating from the design plot display without the depth of field to the simulation plot display with the depth of field;
applying the coordinate adjustment factors to the coordinates of the given plant to obtain new coordinates of the given plant on a second set of axes of the simulation plot;
determining a placement scaling factor and a plant size scaling factor for the given plant for translating from the design plot display without the depth of field to the simulation plot display with the depth of field;
applying the plant size scaling factor to the plant size of the given plant to obtain a final plant size for the given plant; and
applying the placement scaling factors to the new coordinates of a given plant to obtain final coordinates of the given plant on the second set of axes of the simulation plot; and
for each selected plant, displaying in the simulation plot the adjusted images at the adjusted placements for each time period in the simulation.
1. A method for providing a simulation of a garden, comprising:
(a) receiving, by a computing processor, a selection of one or more plants and a placement of the selected plants in a design plot for the garden, the design plot displaying the garden without a depth of field;
(b) storing, by the computing processor, a plurality of images and the placement of each selected plant;
(c) receiving, by the computing processor, a command to run a simulation of the garden, the simulation comprising a plurality of time periods;
(d) in response to the command, adjusting, by the computing processor, a size and the placement of the plurality of images of each selected plant by translating the design plot display of the garden without the depth of field to the simulation plot display of the garden with a depth of field, the translating comprising:
(d1) determining design plot dimensions and simulation plot dimensions;
(d2) determining coordinates of the given plant on a first set of axes of the design plot and a plant size of the given plant;
(d3) determining coordinate adjustment factors for translating from the design plot display without the depth of field to the simulation plot display with the depth of field;
(d4) applying the coordinate adjustment factors to the coordinates of the given plant to obtain new coordinates of the given plant on a second set of axes of the simulation plot;
(d5) determining a placement scaling factor and a plant size scaling factor for the given plant for translating from the design plot display without the depth of field to the simulation plot display with the depth of field;
(d6) applying the plant size scaling factor to the plant size of the given plant to obtain a final plant size for the given plant; and
(d7) applying the placement scaling factors to the new coordinates of a given plant to obtain final coordinates of the given plant on the second set of axes of the simulation plot; and
(e) for each selected plant, displaying in the simulation plot, by the computing processor, the adjusted images at the adjusted placements for each time period in the simulation.
5. A computer program product comprising a non-transitory computer readable medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
(a) receive a selection of one or more plants and a placement of the selected plants in a design plot for the garden, the design plot displaying the garden without a depth of field;
(b) store a plurality of images and the placement of each selected plant;
(c) receive a command to run a simulation of the garden, the simulation comprising a plurality of time periods;
(d) in response to the command, adjusting, by the computing processor, a size and the placement of the plurality of images of each selected plant by translating the design plot display of the garden without the depth of field to the simulation plot display of the garden with a depth of field, the translating comprising:
(d1) determine design plot dimensions and simulation plot dimensions;
(d2) determine coordinates of the given plant on a first set of axes of the design plot and a plant size of the given plant;
(d3) determine coordinate adjustment factors for translating from the design plot display without the depth of field to the simulation plot display with the depth of field;
(d4) apply the coordinate adjustment factors to the coordinates of the given plant to obtain new coordinates of the given plant on a second set of axes of the simulation plot;
(d5) determine a placement scaling factor and a plant size scaling factor for the given plant for translating from the design plot display without the depth of field to the simulation plot display with the depth of field;
(d6) apply the plant size scaling factor to the plant size of the given plant to obtain a final plant size for the given plant; and
(d7) applying the placement scaling factors to the new coordinates of a given plant to obtain final coordinates of the given plant on the second set of axes of the simulation plot; and
(e) for each selected plant, display in the simulation plot the adjusted images at the adjusted placements for each time period in the simulation.
2. The method of
(a1) determining that a given plant is selected by a user and placed within the design plot;
(a2) determining the placement of the given plant within the design plot;
(a3) retrieving a plurality of images of the given plant from a database comprising information for a plurality of plants; and
(a4) storing the plurality of images and the placement of the given plant prior to running the simulation.
3. The method of
(a1i) receiving one or more search filter attributes for characteristics of the plurality of plants, comprising one or more of the following: category; subcategory; color; light; height; zone; and blooming period;
(a1ii) applying the one or more search filter attributes to the database; and
(a1iii) displaying information for one or more plants in the database that satisfy the one or more search filters.
4. The method of
(f) receiving an upload of a plurality of images of a given plant; and
(g) receiving a configuration of an image timeline for the given plant, comprising the uploaded plurality of images of the given plant, wherein during the simulation, the plurality of images of the given plant are displayed as configured in the image timeline.
6. The computer program product of
(a1) determine that a given plant is selected by a user and placed within the design plot;
(a2) determine the placement of the given plant within the design plot;
(a3) retrieve a plurality of images of the given plant from a database comprising information for a plurality of plants; and
(a4) store the plurality of images and the placement of the given plant prior to running the simulation.
7. The computer program product of
(a1i) receive one or more search filter attributes for characteristics of the plurality of plants, comprising one or more of the following: category; subcategory; color; light; height; zone; and blooming period;
(a1ii) apply the one or more search filter attributes to the database; and
(a1iii) display information for one or more plants in the database that satisfy the one or more search filters.
8. The computer program product of
(f) receive an upload of a plurality of images of a given plant; and
(g) receive a configuration of an image timeline for the given plant, comprising the uploaded plurality of images of the given plant, wherein during the simulation, the plurality of images of the given plant are displayed as configured in the image timeline.
10. The system of
determining that a given plant is selected by a user and placed within the design plot;
determining the placement of the given plant within the design plot;
retrieving a plurality of images of the given plant from a database comprising information for a plurality of plants; and
storing the plurality of images and the placement of the given plant prior to running the simulation.
11. The system of
receiving one or more search filter attributes for characteristics of the plurality of plants, comprising one or more of the following: category; subcategory; color; light; height; zone; and blooming period;
applying the one or more search filter attributes to the database; and
displaying information for one or more plants in the database that satisfy the one or more search filters.
12. The system of
receiving an upload of a plurality of images of a given plant; and
receiving a configuration of an image timeline for the given plant, comprising the uploaded plurality of images of the given plant, wherein during the simulation, the plurality of images of the given plant are displayed as configured in the image timeline.
|
Electronic garden planners exist as tools for gardeners in designing a garden. However, current garden planners are static, using drawings or photographs to show the garden at one point in time during the season, and do not take into account what the garden may look like at other times of the year. For example, a plant may bloom for two weeks during the season but may have vegetation for the entire year. Thus, displaying the look of the garden during the two-week blooming period would not give the gardener a view of the garden during the non-blooming stage. Further, many current garden planners do not account for the differing bloom times of plants. Instead, they display a garden as if all plants bloom at the same time.
According to one embodiment of the present invention, in providing a simulation of a garden, a selection of one or more plants and a placement of the selected plants in a design plot for the garden are received, where the design plot displaying the garden with an orthogonal view. The plurality of images and the placement of each selected plant are stored. A command to run a simulation of the garden is received, where the simulation comprising a plurality of time periods. In response to the command, adjusting a size and the placement of the plurality of images of each selected plant for display in a simulation plot, the simulation plot displaying the garden in a perspective view. For each selected plant, the adjusted images at the adjusted placements for each time period in the simulation are displaying in the simulation plot.
In one aspect of the present invention, for a given plant of the plurality of plants, the adjusting of the size and the placement comprises: determining design plot dimensions and simulation plot dimensions; determining coordinates of the given plant in the design plot and a plant size of the given plant; determining coordinate adjustment factors for translation from the orthogonal design plot display to the perspective simulation plot display; applying the coordinate adjustment factors to the coordinates of the given plant to obtain new coordinates of the given plant; determining a placement scaling factor and a plant size scaling factor for the given plant for depth of field translation from the orthogonal design plot display to the perspective simulation plot display; applying the plant size scaling factor to the plant size of the given plant to obtain a final plant size for the given plant; and applying the placement scaling factors to the new coordinates of the given plant to obtain final coordinates of the given plant.
In one aspect of the present invention, when it is determined that a given plant is selected by a user and placed within the design plot, the placement of the given plant within the design plot is determined, and a plurality of images of the given plant are retrieved from a database comprising information for a plurality of plants. The plurality of images and the placement of the given plant are then stored prior to running the simulation.
In one aspect of the present invention, one or more search filter attributes for characteristics of the plurality of plants are received, comprising one or more of the following: category; subcategory; color; light; height; zone; and blooming period. The one or more search filter attributes are applied to the database, and information for one or more plants in the database that satisfy the one or more search filters are displayed.
In one aspect of the present invention, an upload of a plurality of images of a given plant is received. A configuration of an image timeline for the given plant is also received, comprising the uploaded plurality of images of the given plant. During the simulation, the plurality of images of the given plant are displayed as configured in the image timeline.
System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
The following description is presented to enable one of ordinary skill in the art to make and use the present invention and is provided in the context of a patent application and its requirements. Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
Embodiments of the present invention provide a website for facilitating the design of a garden. The website allows a user to design a garden on-line, and then provide a visual simulation of the appearance of the garden through a time sequence spanning multiple growing seasons. The user designs the garden by selecting plants through an interactive user interface and positioning each selected plant onto a “design plot”, which provides an orthogonal view of the garden design. The growths of the plants in the garden are then simulated on a “simulation plot”, which provides a perspective view of the growth cycles of garden as a whole. The simulation simultaneously displays images of each plant in the garden through different growth periods, which may include both blooming and non-blooming times. Through the simulation, the user may see what his or her garden would look like through the season(s) prior to actual planting. The user may modify the garden design and rerun the simulation multiple times.
Upon finding the desired plant, the user may add the plant to the garden by dragging the plant from the search results view 304 and dropped onto a position within the design plot 301. While dragging, visual cues are displayed which indicate that the plant is being actively dragged. For example, an image of the plant may be displayed as the plant is being dragged. The scale of the image of the plant is shown in proportion to the size of the design plot. This ensures an accurate representation of the relative sizing and placement of plants within the context of a real world garden plot represented by the design plot 301. The user may move or change the placement or positioning of a plant within the design plot 301 by dragging and dropping the plant to another position within the design plot 301. During dragging, the user is again presented with visual cues to identify the plant as being actively moved. To remove a plant, the user drags and drops the plant from its current position within the design plot 301 to the compost bin 306. The entire garden design may be removed by double-clicking on the compost bin 306.
The inventory of plants and their attributes are maintained in a database and managed by an administrator. Once a user with administrative permissions logs into the system and is authenticated, a user interface for managing plant inventory is displayed.
Plant information may be edited at any time by selecting the Edit Plant button 508 in the managing plant inventory user interface (see
To add or manage the photos of the plant to be used during the garden simulation, the Photos button 509 in the Plant Controls 506 (see
Returning to the designing of the garden illustrated in
Referring to both
According to embodiments of the present invention, the simulation is a loop of the four seasons in the year with twelve weeks in each season. Other manners of determining the time periods in the simulation may be used. Certain images appear and then fade out as soon as the next step in the loop takes place. As each image is displayed, the sizing and placement are taken into account as set forth above. The sizing and placement adjustments are calculated for every plant in the simulation in parallel so there are multiple iterations of the simulation logic running in parallel. Options to pause and resume the simulation may be provided to the user via a pause and resume buttons on the user interface.
Although the present invention is described above with the illustrated shape of the design and simulation plots, other shapes may be used. Further, the garden simulation tool may be provided as an on-line tool or an off-line tool without departing from the spirit and scope of the present invention.
The present invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the present invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including but not limited to keyboards, displays, point devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified local function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.
Henry, Craig, Rowe, Kenneth S., Duhaime, Chris, Capers, Ryan
Patent | Priority | Assignee | Title |
11017449, | Jul 06 2016 | Flowerbed sales order system and plant arrangement planning support program | |
11461823, | Aug 16 2017 | Flowerbed sales order system, flowerbed sales order program, and flowerbed sales order method | |
11810173, | Jul 06 2016 | Flowerbed sales order system and plant arrangement planning support program | |
11893619, | Aug 16 2017 | Flowerbed sales order system, flowerbed sales order program, and flowerbed sales order method |
Patent | Priority | Assignee | Title |
20070255502, | |||
20100030578, | |||
20100114535, | |||
20110054921, | |||
20120124687, | |||
20140012732, | |||
20140297242, | |||
20140330542, | |||
20150112595, | |||
20150347544, | |||
20160057922, | |||
WO2013059468, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 21 2013 | HENRY, CRAIG | ROWE, KENNETH S | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031494 | /0054 | |
Oct 24 2013 | CAPERS, RYAN | ROWE, KENNETH S | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031494 | /0054 | |
Oct 25 2013 | DUHAIME, CHRIS | ROWE, KENNETH S | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031494 | /0054 | |
Oct 28 2013 | Kenneth S., Rowe | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jan 14 2020 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Mar 11 2024 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Date | Maintenance Schedule |
Nov 22 2019 | 4 years fee payment window open |
May 22 2020 | 6 months grace period start (w surcharge) |
Nov 22 2020 | patent expiry (for year 4) |
Nov 22 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 22 2023 | 8 years fee payment window open |
May 22 2024 | 6 months grace period start (w surcharge) |
Nov 22 2024 | patent expiry (for year 8) |
Nov 22 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 22 2027 | 12 years fee payment window open |
May 22 2028 | 6 months grace period start (w surcharge) |
Nov 22 2028 | patent expiry (for year 12) |
Nov 22 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |