Information processing system, information processing method, and information processing program
The information processing system uses dual force fields to manage point movements, preventing scattering and maintaining cohesion, mimicking artificial life forms in virtual spaces.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- KK TOYOTA CHUO KENKYUSHO
- Filing Date
- 2022-08-31
- Publication Date
- 2026-05-26
AI Technical Summary
In virtual spaces, representing objects as collections of points requires setting appropriate force fields to prevent scattering and disappearance, particularly for single living bodies.
An information processing system that sets a first force field causing target points to move away from a specific point and a second force field attracting target points closer together, with the magnitude of the second force field increasing with distance, to manage the movement and cohesion of points.
The system effectively maintains the cohesion and movement of points, mimicking autonomous behavior similar to artificial life forms, enhancing the representation of objects in virtual spaces.
Smart Images

Figure 0007865150000001 
Figure 0007865150000002 
Figure 0007865150000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing system, an information processing method, and an information processing program.
Background Art
[0002] Patent Document 1 discloses an animation generation method for intuitively and efficiently generating particle animations.
[0003] The animation generation method described in Patent Document 1 includes a step of storing a line segment image of particle behavior input using a handwriting input device, and a step of generating an animation that displays the behavior of particles based on the stored line segment image.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] By the way, in a virtual space, an object may be represented as a collection of points. In this case, it is necessary to set an appropriate force field according to the behavior of the object. In particular, in order to represent the behavior of an object such as a single living body as a collection of points, it is preferable to suppress the scattering and disappearance of the collection of points.
Means for Solving the Problems
[0006] According to one aspect of the present invention, an information processing system is provided. This information processing system comprises at least one processor capable of executing a program so as to perform the following steps: In the acquisition step, the position coordinates of a plurality of target points in a virtual space are acquired. In the setting step, a predetermined specific point is set in the virtual space. A target force field is set, which includes a first force field configured to cause the plurality of target points to move away from the set specific point, and a second force field configured to cause two target points to attract each other. The magnitude of the second force field increases with increasing distance between the two target points. In the update step, the acquired position coordinates of the target points are updated based on the amount of movement of the acquired plurality of target points, calculated based on the acquired position coordinates of the target points, and the set target force field. [Brief explanation of the drawing]
[0007] [Figure 1] This is a diagram showing the configuration of Information Processing System 1. [Figure 2] This is a block diagram showing the hardware configuration of the information processing device 2. [Figure 3] This is a block diagram showing the hardware configuration of user terminal 3. [Figure 4] This figure shows an example of the functional components of the processor 23. [Figure 5] This is an activity diagram showing an example of the first information processing flow executed in information processing system 1. [Figure 6] This is an activity diagram showing the flow of the force field setting process. [Figure 7] This diagram qualitatively explains the case where the first force field F1 acts repulsively on the target point P1. [Figure 8] This diagram qualitatively explains the case where the first force field F1 acts attractively on the target point P1. [Figure 9] This diagram illustrates the behavior of the second force field F2 when the two target points P1 are separated. [Figure 10]This diagram illustrates the behavior of the second force field F2 when two target points P1 approach each other. [Figure 11] This figure shows the initial state of point P1. [Figure 12] Figure 11 shows how the target point P1, which constitutes the object, moves over time in the virtual space SP. [Figure 13] Figure 11 shows how the target point P1, which constitutes the object, moves over time in the virtual space SP. [Figure 14] Figure 11 shows how the target point P1, which constitutes the object, moves over time in the virtual space SP. [Figure 15] This is an activity diagram showing the flow of the second information processing performed in information processing system 1. [Figure 16] This figure shows the initial state of point P1. [Figure 17] This is a diagram showing an example of a virtual space SP containing particle P2, as displayed on the display unit 34. [Figure 18] This is a diagram showing an example of a virtual space SP containing particle P2, as displayed on the display unit 34. [Figure 19] This is a diagram showing an example of a virtual space SP containing particle P2, as displayed on the display unit 34. [Modes for carrying out the invention]
[0008] Embodiments of the present invention will be described below with reference to the drawings. The various features shown in the embodiments below can be combined with each other.
[0009] Incidentally, the program for realizing the software appearing in the present embodiment may be provided as a non-transitory computer-readable medium that can be read by a computer, may be provided so as to be downloadable from an external server, or may be provided so that the program is started on an external computer to realize its functions on a client terminal (so-called cloud computing).
[0010] In addition, in the present embodiment, the "unit" may include, for example, hardware resources implemented by a circuit in a broad sense and information processing of software that can be specifically realized by these hardware resources. Also, in the present embodiment, various kinds of information are handled, and these information are represented, for example, by physical values of signal values representing voltage and current, the high and low of signal values as a set of binary bits composed of 0 or 1, or quantum superposition (so-called quantum bits), and communication and calculation can be executed on a circuit in a broad sense.
[0011] In addition, the circuit in a broad sense is a circuit realized by appropriately combining at least a circuit, circuitry, a processor, a memory, etc. That is, it includes an application specific integrated circuit (ASIC), programmable logic devices (for example, a simple programmable logic device (SPLD), a complex programmable logic device (CPLD), and a field programmable gate array (FPGA)), etc.
[0012] 1. Hardware Configuration In this section, the hardware configuration will be described.
[0013] <Information Processing System 1> FIG. 1 is a configuration diagram showing an information processing system 1. The information processing system 1 includes an information processing apparatus 2 and a user terminal 3. The information processing apparatus 2 and the user terminal 3 are configured to be communicable through a telecommunication line. In one embodiment, the information processing system 1 consists of one or more devices or components. For example, if it consists only of the information processing apparatus 2, the information processing system 1 can be the information processing apparatus 2. Hereinafter, these components will be described.
[0014] <Information Processing Apparatus 2> FIG. 2 is a block diagram showing the hardware configuration of the information processing apparatus 2. The information processing apparatus 2 includes a communication unit 21, a storage unit 22, and a processor 23, and these components are electrically connected via a communication bus 20 inside the information processing apparatus 2. Each component will be further described.
[0015] The communication unit 21 preferably uses wired communication means such as USB, IEEE1394, Thunderbolt (registered trademark), wired LAN network communication, etc., but may include wireless LAN network communication, mobile communication such as 3G / LTE / 5G, Bluetooth (registered trademark) communication, etc. as needed. That is, it is more preferable to implement it as a set of these plural communication means. That is, the information processing apparatus 2 may communicate various information from the outside via the communication unit 21 and the network.
[0016] The memory unit 22 stores various types of information as defined above. This can be implemented, for example, as a storage device such as a solid-state drive (SSD) that stores various programs related to the information processing device 2 executed by the processor 23, or as memory such as random access memory (RAM) that stores temporarily necessary information (arguments, arrays, etc.) related to program calculations. The memory unit 22 stores various programs and variables related to the information processing device 2 executed by the processor 23.
[0017] The processor 23 performs processing and control of the overall operation related to the information processing device 2. The processor 23 is, for example, a central processing unit (CPU) not shown. The processor 23 realizes various functions related to the information processing device 2 by reading predetermined programs stored in the memory unit 22. That is, information processing by software stored in the memory unit 22 can be concretely realized by the processor 23, which is an example of hardware, and executed as each functional unit included in the processor 23. These will be described in more detail in the next section. Note that the processor 23 is not limited to being a single unit, and may be implemented with multiple processors 23 for each function, or a combination thereof.
[0018] <User Terminal 3> Figure 3 is a block diagram showing the hardware configuration of the user terminal 3. The user terminal 3 comprises a communication unit 31, a storage unit 32, a processor 33, a display unit 34, and an HMI device 35, and these components are electrically connected within the user terminal 3 via a communication bus 30. The descriptions of the communication unit 31, storage unit 32, and processor 33 are the same as the descriptions of each part in the information processing device 2, so they are omitted here.
[0019] The display unit 34 may be included in the user terminal 3 housing or it may be an external component. The display unit 34 displays a graphical user interface (GUI) screen that can be operated by the user. This is preferably done by using different display devices such as a CRT display, liquid crystal display, organic EL display, and plasma display, depending on the type of user terminal 3.
[0020] The HMI device 35 is a human-machine interface device. The HMI device 35 may be included in the housing of the user terminal 3 or it may be an external device. For example, the HMI device 35 may be implemented as a touch panel integrated with the display unit 34. If it is a touch panel, the user can input tap operations, swipe operations, etc. Of course, instead of a touch panel, a switch button, mouse, QWERTY keyboard, voice recognition device, gesture detection device, gaze detection device, biosignal detection device, imaging device, etc. may be used. In other words, the HMI device 35 receives operation input made by the user. In response, the HMI device 35 transmits a signal corresponding to the operation input to the processor 33 via the communication bus 30. The processor 33 can perform predetermined controls and calculations as needed. The HMI device 35 can also be said to include an input unit configured to accept input from the user.
[0021] 2. Functional configuration of the information processing device 2 Figure 4 shows an example of the functional units of the processor 23. As shown in Figure 4, the processor 23 includes an acquisition unit 231, a calculation unit 232, a setting unit 233, an update unit 234, and a display processing unit 235. This section will describe the outline of these functional units. Details of each functional unit will be explained later in conjunction with the information processing described below.
[0022] The acquisition unit 231 is configured to acquire information from the user terminal 3 or other devices. The acquisition unit 231 is configured to execute acquisition steps. For example, the acquisition unit 231 acquires information about the target point P1 transmitted from the processor 33. The acquisition unit 231 is also configured to acquire various information by reading various information stored in the storage area, which is at least a part of the memory unit 22, and writing the read information to the work area, which is at least a part of the memory unit 22. The storage area is, for example, the area of the memory unit 22 that is implemented as a storage device such as an SSD. The work area is, for example, the area that is implemented as memory such as RAM. The acquisition by the acquisition unit 231 includes acquiring the output results of each functional unit included in the processor 23.
[0023] The calculation unit 232 is configured to calculate various types of information based on the results obtained by the acquisition unit 231.
[0024] The setting unit 233 is configured to be able to set various information based on the acquisition results from the acquisition unit 231 and the calculation results from the calculation unit 232.
[0025] The update unit 234 is updated to allow updating of various information acquired by the acquisition unit 231 and various information calculated by the calculation unit 232.
[0026] The display processing unit 235 is configured to display various types of information. This information can be presented to the user via the display unit 34 of the user terminal 3 or other devices. In such cases, for example, the display processing unit 235 controls the display unit 34 of the user terminal 3 to display visual information such as screens, images including still images or videos, icons, and messages. The display processing unit 235 may generate only rendering information for displaying the visual information on the user terminal 3. The display processing unit 235 may also present the outputted information to the user without going through the user terminal 3 or other devices.
[0027] 3. Regarding the first information processing This chapter describes the first information processing performed in the aforementioned information processing system 1.
[0028] 3.1. Information Processing Flow Figure 5 is an activity diagram showing an example of the flow of the first information processing performed in information processing system 1. Note that this information processing may include any exception handling not shown. Exception handling includes interrupting the information processing or omitting individual processes. The selections or inputs made in this information processing may be based on user operation or may be performed automatically without user operation.
[0029] [Activity A1] In Activity A1, the processor 33 of the user terminal 3 transmits target data D to the processor 23 of the information processing device 2. The target data D includes information about an object that can be represented in the virtual space. More specifically, the target data D includes information about the shape of the object. In this embodiment, the target data D includes position data relating to the position coordinates r1 of a plurality of target points P1 that represent the object. More specifically, the target data D is represented, for example, as point cloud data composed of a plurality of target points P1. Hereinafter, for the sake of convenience, the processor 23 of the information processing device 2 will be simply referred to as processor 23, and the processor 33 of the user terminal 3 will be simply referred to as processor 33.
[0030] [Activity A2] Next, the process proceeds to Activity A2, where the acquisition unit 231 executes the acquisition process. This allows the acquisition unit 231 to acquire the position coordinates r1 of multiple target points P1 in the virtual space SP. In Activity A2, which follows Activity A1, the acquisition unit 231 acquires at least the position coordinates r1 of the target points P1 based on the target data D transmitted in Activity A1. In other words, in Activity A2, which follows Activity A1, the acquisition unit 231 acquires the initial state of the position coordinates r. While the dimensions of the virtual space SP in this embodiment are 3, it is not limited to this and can be any dimension as long as it can be displayed by the display unit 34. Each target point P1 may be assigned an identification number in advance. The processing of Activity A2 may include the acquisition step in this embodiment.
[0031] In this embodiment, the acquisition unit 231 further acquires the mass m of the target point P1. The mass m may be a different value for each target point P1, or it may be the same value for all target points P1. In this embodiment, for the sake of explanation, the mass m of the target points P1 is assumed to be equal to each other. If the acquisition unit 231 cannot acquire the mass m, the acquisition unit 231 may acquire a pre-set mass m.
[0032] [Activity A3, Activity A4] Next, the process proceeds to activity A3, and the display processing unit 235 executes the first display process. As a result, the display processing unit 235 transmits a signal to display the virtual space SP, which includes the acquired target point P1, on the display unit 34. Next, the process proceeds to activity A4, and the processor 33 displays the virtual space SP, which includes the target point P1, on the display unit 34 based on the signal transmitted as a result of the first display process in activity A3. Specifically, the display processing unit 235 displays multiple target points P1 connected to each other by straight lines on the display unit 34 as a result of the first display process. As a result, the user can view multiple target points P1 included in the virtual space SP through the display unit 34. The manner in which these straight lines are connected is arbitrary, but for example, the display processing unit 235 connects the target points P1 with straight lines in the order of their identification numbers so that they form a single line as a whole. The display processing unit 235 may also change the display manner of these straight lines based on the position coordinates r1 of the target points P1. The display characteristics of a straight line may include, for example, color, outline, thickness, and shape. The processing of Activity A4 may include the first display processing step in this embodiment.
[0033] Subsequently, the processor 23 determines whether or not to terminate the information processing based on predetermined termination conditions. If the termination conditions are met, the processor 23 terminates the information processing. On the other hand, if the termination conditions are not met, the processor 23 continues the information processing, and the process proceeds to activity A6. The termination conditions are arbitrary and may include the number of iterations of the information processing, the elapsed time in the virtual space SP being greater than or equal to a predetermined value, or a predetermined termination operation being performed by the user.
[0034] [Activity A5] If information processing continues, the process proceeds to activity A5, and the calculation unit 232 calculates the amount of movement dr of the target point P1 based on the acquired position coordinates r of the target point P1. The calculation unit 232 calculates the amount of movement dr by, for example, comparing the position coordinates r before and after the update process in activity A7 described later. The amount of movement dr can be expressed using any basis that can represent the position in the virtual space SP, such as the Cartesian coordinate system or the polar coordinate system.
[0035] [Activity A6] Next, the process proceeds to activity A6, where the setting unit 233 executes the force field setting process. This allows the setting unit 233 to set a specific point P0 and the target force field F acting on the target point P1. Details of the force field setting process will be described later. The processing of activity A6 may include the setting step in this embodiment.
[0036] [Activity A7] Next, the process proceeds to activity A7, and the update unit 234 executes the update process. As a result, the update unit 234 updates the position coordinates r1 of the target point P1 based on the calculated movement amount dr. After that, the process returns to activity A3, and the display processing unit 235 executes the display process again based on the updated position coordinates r1 of the target point P1. As a result, the display processing unit 235 sequentially displays the virtual space SP containing the target point P1 before the update, and the virtual space SP containing the target point P1 after the update, based on the position coordinates r1 of the target point P1.
[0037] 3.2. Force Field Setting Process This section describes the details of the force field setting process in Activity A6 of Section 3.1. Figure 6 is an activity diagram showing the flow of the force field setting process.
[0038] [Activity A61] First, in Activity A61, the setting unit 233 performs spatial division processing. This causes the setting unit 233 to virtually divide the virtual space SP into multiple sub-regions SP1. If the dimensions of the virtual space SP are 2 or greater, the setting unit 233 virtually divides the virtual space SP projected onto a predetermined two-dimensional region S into multiple sub-regions SP1. The two-dimensional region S includes the display region S1 displayed on the display unit 34. In this embodiment, the two-dimensional region S is a plane. In the region division processing of this embodiment, the setting unit 233 divides the display region S1 displayed on the display unit 34 into multiple sub-regions SP1 in Activity A4. That is, it divides the display region S1 as the virtual space SP displayed on the display unit 34 into multiple sub-regions SP1. At this time, the acquisition unit 231 acquires information indicating the boundaries between the sub-regions SP1 (for example, functions or coordinates indicating the boundaries). Note that the division results of the virtual space SP do not need to be displayed on the display unit 34.
[0039] [Activity A62] Next, the process proceeds to activity A62, where the setting unit 233 calculates the number of target points P1 included in the subdivided subregion SP1 in activity A62. The setting unit 233 determines which subregion SP1 each target point P1 belongs to by comparing, for example, the position coordinates r1 of the target point P1 obtained in activity A1 with the information indicating the boundary between the subregions SP1 obtained in activity A61. The setting unit 233 calculates the number of target points P1 included in the subregion SP1 by aggregating the results of this determination. In this embodiment, the setting unit 233 calculates the number of target points P1 included in the subregion SP1 by determining which subregion SP1 each target point P1, i.e., the target point P1 included in the display region S1, belongs to. As a result, if the virtual space SP is three dimensions or greater, the number of parameters and determination conditions required to calculate the number of target points P1 included in the subregion SP1 can be reduced, thereby reducing the processing load on the processor 23.
[0040] [Activity A63] Next, the process proceeds to activity A63, where the setting unit 233 sets a predetermined specific point P0 within the virtual space SP. More specifically, the setting unit 233 sets a specific point P0 within the virtual space SP based on the position coordinates r1 of at least one target point P1. In this embodiment, the setting unit 233 sets a specific point P0 by comparing the number of target points P1 included in the partial region SP1. More specifically, the setting unit 233 sets a specific point P0 by comparing the number of target points P1 included in the two-dimensional region S (particularly the display region S1). If the partial region SP1 is a closed region of equal size, it can also be said that the setting unit 233 sets a specific point P0 based on the number density of target points P1 in the two-dimensional region S. Furthermore, in this embodiment, the setting unit 233 sets one of the target points P1 as the specific point P0.
[0041] Specifically, the setting unit 233 identifies the sub-region SP1 with the largest number of target points P1 by comparing the number of target points P1 among multiple sub-regions SP1. The setting unit 233 sets one of the target points P1 included in the identified sub-region SP1 as specific point P0. At this time, it is preferable for the setting unit 233 to preferentially set as specific point P0 a target point P1 located in a region of the identified sub-region SP1 with a high number density of target points P1. This results in a larger displacement dr of the target point P1 due to the first force field F1, which will be described later.
[0042] [Activity A64] Next, the process proceeds to activity A64, where the setting unit 233 sets the target force field F. The target force field F acts on the target point P1 in the virtual space. This causes an acceleration a at the target point P1, which in turn changes the position coordinate r. The change in the position coordinate r due to the action of the target force field F can be calculated using known analytical mechanics relationships. The target force field F includes at least a first force field F1 and a second force field F2.
[0043] <First force field F1> Figure 7 is a diagram for qualitatively explaining the case where the first force field F1 acts repulsively on the target point P1. The first force field F1 is configured such that multiple target points P1 move away from a specific point P0 set in activity A63. Therefore, the first force field F1 is configured to act at least repulsively between the target points P1 and the specific point P0. As a result, the first force field F1 functions to diffuse the target points P1 from the specific point P0. The direction of the first force field F1 is parallel to the direction r01 from the specific point P0 toward the target point P1 on which the first force field F1 acts. This direction r01 can be expressed in vector notation as r1-r0, where r0 is the position coordinate r of the specific point P0 and r1 is the position coordinate r1 of the target point P1.
[0044] In this embodiment, the magnitude of the first force field F1 acting on the target point P1 is set according to the positional relationship between a specific point P0 and the target point P1. For example, the magnitude of the first force field F1 acting on the target point P1 decreases as the distance between the specific point P0 and the target point P1 increases. That is, as the distance between the specific point P0 and the target point P1 decreases, the specific point P0 and the target point P1 repel each other more strongly. In this embodiment, the first force field F1 is configured as a central force centered on the specific point P0. Note that if the target point P1 has a finite size in the virtual space SP, the above distance may be the distance between the centers of each point or the distance between the surfaces of each point.
[0045] Figure 8 is a diagram for qualitatively explaining the case where the first force field F1 acts attractively on the target point P1. The first force field F1 acting on the target point P1 is configured to change over time in the virtual space SP. Specifically, the first force field F1 acting on the target point P1 is configured to alternately switch between repulsive and attractive forces on the target point P1 over time. As a result, multiple target points P1 can not only expand due to repulsive forces but also contract due to attractive forces. Therefore, the representation of the movement of multiple target points P1 becomes more diverse.
[0046] In this embodiment, the first force field F1 acting on the target point P1 is configured to change periodically with respect to time. This reduces the amount of information required to set the first force field F1 acting on the target point P1, thereby reducing the processing load on the processor 23. The specific manner in which the first force field F1 changes over time is arbitrary, but for example, the waveform of the first force field F1 can be any, such as a square wave, triangular wave, sawtooth wave, or sine wave, with time t as a parameter. The period T of the first force field F1 is arbitrary, but it is preferable that it is longer than the elapsed time in the virtual space SP due to performing activities A2 to A7 in the above information processing. This improves the ability of the target point P1 to follow changes in the first force field F1. In this embodiment, the first force field F1 increases so as time progresses in the virtual space SP that it switches almost continuously from an attractive force to a repulsive force on the target point P1. Subsequently, when the first force field F1 reaches a predetermined value, the sign of the first force field F1 is reversed. The waveform of such a first force field F1 is, for example, a sawtooth wave.
[0047] <Second force field F2> Figure 9 illustrates the behavior of the second force field F2 when two target points P1 move apart. Figure 10 illustrates the behavior of the second force field F2 when two target points P1 move closer together. Using the first target point P11 and the second target point P12 as the two target points P1, we will explain how the second force field F2 acts on the first target point P11 and the second target point P12. For the sake of explanation, we will assume that the amount of movement of the first target point P11 is negligibly small compared to the amount of movement dr of the second target point P12. In Figures 9 and 10, the second target point P12 before movement is denoted as P12a, and the second target point P12 after movement is denoted as P12b. Furthermore, the position coordinate r of the first target point P11 is denoted as r11, the position coordinate r of the second target point P12a before movement is denoted as r12a, and the position coordinate r of the second target point P12b after movement is denoted as r12b.
[0048] As shown in Figure 9, the second force field F2 is configured to attract the two target points P1 to each other. In other words, the second force field F2 acts attractively between the two target points P1. The magnitude of the second force field F2 increases with increasing distance between the two target points P1. More specifically, the second force field F2 is configured to attract the two target points P1 to each other when they move away from each other. In this embodiment, the orientation of the second force field F2 is parallel to the orientation from one target point P1 to the other. In other words, the second force field F2 functions as a reaction force that inhibits the two target points P1 from moving away from each other. In this embodiment, the change in distance between the first target point P11 and the second target point P12 is equal to the displacement dr of the second target point P12. Therefore, it can also be said that the magnitude of the second force field F2 increases with increasing displacement dr of the target point P1. The relationship between the second force field F2 and the displacement dr of the second target point P12 is arbitrary, but for example, it can be expressed as F2 = k × dr using a coefficient k. As a result, the second force field F2 acts like a spring between the first target point P11 and the second target point P12, suppressing the dispersal of the first target point P11 and the second target point P12. The second force field F2 may also include higher-order terms with respect to dr. In this embodiment, the second force field F2 acts on both the first target point P11 and the second target point P12 in an almost antiparallel direction. When both the first target point P11 and the second target point P12 move, the second force field F2 can be applied by making the displacement dr of the second target point P12 the relative displacement between the first target point P11 and the second target point P12.
[0049] As shown in Figure 10, in this embodiment, the second force field F2 does not act repulsively between the two target points P1. In other words, the second force field F2 is configured to act only attractively between the two target points P1. For example, when the displacement dr of the second target point P12 relative to the first target point P11 is negative, the second force field F2 ≥ 0 (specifically, the second force field F2 = 0). This prevents the first target point P11 and the second target point P12 from diffusing due to the reaction force of the second force field F2.
[0050] 3.3. An example of the first display process This section describes an example of the result of the first display process performed based on the information processing described in sections 3.1 and 3.2.
[0051] Figure 11 shows the initial state of the target point P1. In activity A1, the processor 33 transmits target data D, which includes an object as shown in Figure 11. The object represented by target data D includes three three-dimensional solids, including a cylindrical surface and a torus surface. The target data D is CAD data that includes a point cloud composed of multiple target points P1. Next, in activity A2, the acquisition unit 231 acquires the initial state of the position coordinate r1 of the target point P1 from the target data D.
[0052] Figures 12 to 14 show how the target point P1, which constitutes the object shown in Figure 11, moves over time in the virtual space SP. Note that in Figure 11, the target point P1 is represented using a polygon, while in Figures 12 and 13, it is represented using a wire composed of straight lines.
[0053] As time progresses from the state shown in Figure 11, the distribution of target points P1 changes sequentially to the states shown in Figures 12, 13, and 14. In Figures 12 and 13, the target points P1 constituting the three three-dimensional solids move in three groups corresponding to each three-dimensional solid due to the action of the target force field F. Therefore, the distribution of target points P1 shown in Figure 12 can be said to retain some resemblance to the distribution of target points P1 shown in Figure 11. As time progresses further from the state shown in Figure 12, the three groups of target points P1 gradually approach each other due to the reactive force of the second force field F2, while repeatedly expanding and contracting due to the action of the first force field F1. As a result, finally, as shown in Figure 14, the three groups of target points P1 merge into a single group of target points P1, and this single group moves within the virtual space SP while repeatedly expanding and contracting. This distribution of target points P1 and its movement creates behavior similar to that of an artificial life form that moves autonomously within the virtual space SP.
[0054] 4. Regarding the second information processing This chapter describes the second information processing performed in the aforementioned information processing system 1. Note that the explanation of parts of the second information processing that are similar to those of the first information processing may be omitted by using the same or corresponding symbols.
[0055] 4.1. Regarding the second information processing flow Figure 15 is an activity diagram showing the flow of the second information processing performed in information processing system 1. The second information processing differs from the first information processing in that it includes processing related to particle P2 (activity A8) and includes the second display processing (activity A9) instead of the first display processing (activity A3).
[0056] As shown in Figure 15, the information processing system 1 performs the processing of activities A1 and A2 and obtains the position coordinates r1 of the target point P1. In the second information processing, at least one of the multiple target points P1 is configured to generate at least one particle P2 in the virtual space SP.
[0057] [Activity A8] Next, the process proceeds to activity A8, where processor 23 performs processing on particle P2. This causes processor 23 to generate particle P2 from target point P1 within the virtual space SP. In this embodiment, one particle P2 is generated from one target point P1 each time activity A8 is processed. The generated particle P2 is fixed in its generated position and is configured not to move within the virtual space SP.
[0058] Furthermore, particle P2 is configured to disappear after a predetermined period of time has elapsed since its generation from the target point P1. This period can also be called the lifetime of particle P2. For the sake of explanation, the predetermined period from when particle P2 is generated from the target point P1 until it disappears will be referred to as the lifespan of particle P2.
[0059] Next, the process proceeds to activity A9, where the display processing unit 235 executes a second display process. This causes the display processing unit 235 to transmit a signal to the display unit 34 to display the virtual space SP containing the generated particles P2. Next, the process proceeds to activity A4, where the processor 33, based on the signal transmitted as a result of the second display process in activity A9, causes the display unit 34 to display the virtual space SP containing the particles P2. Specifically, the display processing unit 235 displays the particles P2, which are represented as points, on the display unit 34 through the second display process. This allows the user to visually perceive the particles P2 contained in the virtual space SP through the display unit 34. The display mode of the particles P2 is not limited to this and is arbitrary. The processing of activity A9 may include the second display processing step in this embodiment.
[0060] If processing continues thereafter, activities A5 to A7 are performed, similar to the first information processing, and the position coordinates r1 of the target point P1 are updated. Then, activities A2 and A8 are performed again. As a result, in addition to the particles P2 generated from the target point P1 before the update, particles P2 from the updated target point P1 are generated in the virtual space SP. In addition, the processor 23 eliminates particles P2 that have exceeded their lifespan in activity A8.
[0061] Subsequently, activities A9 and A4 are performed again, and the particles P2 remaining in the virtual space SP are displayed via the display unit 34. As a result, the display processing unit 235 sequentially displays the virtual space SP containing the particles P2 before the update, and the virtual space SP containing the particles P2 after the update, based on the position coordinates of the particles P2. Consequently, the particles P2 are displayed on the display unit 34 as something like the trajectory of the target point P1 during their lifespan. Note that the process of eliminating particles P2 may include a process of not displaying particles P2 on the display unit 34, or a process of displaying particles P2 in a manner that makes them invisible through the display unit 34.
[0062] 4.2. An example of the second display process This section describes an example of the result of the second display process performed based on the information processing explained in the previous section.
[0063] Figure 16 shows the initial state of the target point P1. The processing of the target point P1 differs from that in Section 3.3, in that the object represented by the target data D is the side surface of a cylinder. Note that the target point P1 shown in Figure 16 is not necessarily displayed on the display unit 34 together with the particle P2.
[0064] Figures 17 to 19 show an example of a virtual space SP containing particle P2, as displayed on the display unit 34. The content displayed on the display unit 34 changes in the order of Figure 17, Figure 18, and Figure 19 as time progresses within the virtual space SP. As shown in Figures 17 to 19, particle P2 is displayed on the display unit 34, but the target point P1 is not displayed.
[0065] The target point P1, which is not displayed on the display unit 34, moves within the virtual space SP as the target force field F acts upon it, generating particles P2. This movement of the particles P2, displayed on the display unit 34, is then generated through the movement of the target point P1. The target point P1 repeatedly expands and contracts due to the first force field F1, while simultaneously attempting to coalesce due to the second force field F2. The changes in the particles P2 reflect the trajectory of this movement of the target point P1. As a result, the particles P2 gradually fold from a band-like shape, such as the side of a cylinder, to a unified shape, like a single protein. The number of particles P2 reaches a predetermined steady state through the sequential cycle of generation and annihilation.
[0066] In this way, by applying a target force field F to the target point P1 through the first or second information processing, the target point P1 or the group of particles P2 becomes more likely to exhibit autonomous or spontaneous movements that mimic artificial life.
[0067] Furthermore, the information processing device 2 can generate video information that mimics the autonomously changing movements of living organisms, which are neither completely random nor movements following a predetermined pattern, through the above information processing. In addition, the display processing device 235 can create an atmosphere that matches the movements mimicking artificial life by applying drawing effects such as drawing lines or drawing movement trajectories to the target point P1 or particle P2.
[0068] Furthermore, if the virtual space SP is a metaverse, users may participate in the metaverse by disguising themselves as avatars. However, not all objects existing in the metaverse are necessarily avatars. By applying the above information processing to the processes executed in the metaverse, the information processing device 2 can enable objects other than the user's avatar (e.g., characters) to move autonomously and with a sense of life when generating such objects in the metaverse. Therefore, the process of generating characters in the metaverse can be simplified.
[0069] 5. Others The above-described method of information processing is merely an example and is not limited to it.
[0070] The order of processing shown by the activities during the first and second information processing can be changed as long as it does not conflict with the technical requirements. For example, the order of processing in activity A6 and the processing in activity A6 is arbitrary. Also, each display process may be performed after the update process of activity A7.
[0071] In the first display process, only the target point P1 is displayed on the display unit 34, and in the second display process, only the particle P2 is displayed on the display unit 34. However, both the target point P1 and the particle P2 may be displayed on the display unit 34. In this case, the display modes of the target point P1 and the display modes of the particle P2 may be configured to be visually distinguishable. In other words, the first display process and the second display process may be performed within a single information processing operation.
[0072] In the first and second display processes, the display processing unit 235 does not need to continuously display the display content before and after the update. The display processing unit 235 may display the display content before and after the update in a list on the display unit 34. Furthermore, if the position coordinates r1 of the target point P1 have been updated in the information processing system 1, the target point P1 or particle P2 in the virtual space SP does not need to be displayed on the display unit 34.
[0073] In this embodiment, the two-dimensional region S was a plane that included the display region S1, but it does not have to include the display region S1. Furthermore, the two-dimensional region S is not limited to a plane but may be a curved surface. Also, the shape of the curved surface may be a distorted plane, or it may be the surface of any solid, such as a torus or a cylindrical surface. Moreover, the two-dimensional region S does not have to be composed of a single smooth surface; for example, it may be composed by connecting multiple planes or curved surfaces.
[0074] The target force field F may include force fields other than the first force field F1 and the second force field F2. For example, the target force field F may include force fields representing disturbances. These force fields may be generated or fluctuate probabilistically within the virtual space SP. This allows for the generation of diverse movements of target point P1 from a single target data D, thereby broadening the range of representation within the virtual space SP.
[0075] The specific configuration of the second force field F2 can be any configuration as long as it functions as a reaction force that suppresses the movement of two target points P1 toward each other. For example, the second force field F2 may be configured to act repulsively when two target points P1 move toward each other. Alternatively, the second force field F2 may act on two target points P1 only when they are less than or equal to a predetermined distance apart. Furthermore, the two target points P1 on which the second force field F2 acts may be determined based on an identification number. This reduces the processing load on the processor 23 compared to the case where the second force field F2 is applied to all combinations of target points P1.
[0076] The magnitude of the first force field F1 may be constant regardless of the distance between the specific point P0 and the target point P1. The first force field F1 may act only as a repulsive force from the specific point P0 on the target point P1.
[0077] The setting unit 233 allows for arbitrary methods of setting a specific point P0, and does not necessarily have to be based on a partial region SP1. For example, the setting unit 233 may set a specific point P0 based on the position coordinate r1 of a target point P1 that is included in the entire virtual space SP that has not undergone division processing. For example, the setting unit 233 may set a specific point P0 based on the number density of target points P1 in a two-dimensional region S or in the virtual space SP.
[0078] The specified point P0 does not have to coincide with one of the target points P1. The specified point P0 may be the average value of the position coordinates r1 of multiple target points P1, or the centroid coordinate of a target point P1. Furthermore, the specified point P0 may be set at any predetermined position, independent of the target points P1. In addition, the specified point P0 may be a fixed point or an updatable movable point.
[0079] As in the embodiment described above, the target data D is not limited to point cloud data, and any format can be used as long as it can represent the target. For example, the target data D may be raster image data such as a jpg file, jpeg file, or png file, or vector image data such as an svg file, emf file, or eps file. If the target data D is raster image data or vector image data, the processor 23 can perform any image processing to associate each pixel of the region representing the target contained in the target data D with the target point P1. In this case, the processor 23 may extract the region representing the target from the acquired image data and obtain the position coordinates r1 of the target point P1 by performing depth estimation on the pixels contained in that region. Therefore, the dimension of the information about the target contained in the target data D may differ from the dimension of the virtual space SP.
[0080] The setting unit 233 may increase the magnitude of the repulsive force acting on the target point P1 when the first force field F1 switches from an attractive force to a repulsive force. This makes it easier to create a movement in which the target point P1 diffuses from a specific point P0 due to the first force field F1. Therefore, the movement of multiple target points P1 can be depicted in a more dynamic way.
[0081] The setting unit 233 may increase the magnitude of the repulsive force by virtually shortening the distance between the target point P1 and the specific point P0 when the first force field F1 switches from an attractive force to a repulsive force. Specifically, if the size of the specific point P0 is configured to be configurable, and the distance between the target point P1 and the specific point P0 is the distance from the surface of the specific point P0 to the target point P1, the setting unit 233 may increase the magnitude of the repulsive force acting on the target point P1 by changing the size of the specific point P0. More specifically, if the first force field F1 in the previous step was an attractive force and the first force field F1 in the current step is a repulsive force, the setting unit 233 makes the size of the specific point P0 larger than the size of the specific point P0 in the previous step. As a result, the distance between the target point P1 and the specific point P0 becomes shorter, and the repulsive force of the first force field F1 acting on the target point P1 becomes larger.
[0082] However, the method for increasing the magnitude of the repulsive force acting on the target point P1 is not limited to this. For example, when the first force field F1 switches from an attractive force to a repulsive force, the setting unit 233 may increase the magnitude of the repulsive force by changing the distance between a specific point P0 in the virtual space SP used to set the first force field F1 and the target point P1.
[0083] The information processing device 2 may be on-premise or in a cloud-based configuration. In the case of a cloud-based information processing device 2, for example, the above-mentioned functions and processing may be provided in the form of SaaS (Software as a Service) or cloud computing.
[0084] In the above embodiment, the information processing device 2 performed various storage and control functions, but instead of the information processing device 2, multiple external devices may be used. That is, various information and programs may be stored in a distributed manner across multiple external devices using blockchain technology or the like.
[0085] The above embodiment is not limited to the information processing system 1, but may also be an information processing method or an information processing program. The information processing method includes each step of the information processing system 1. The information processing program causes at least one computer to execute each step of the information processing system 1.
[0086] The above-mentioned information processing system 1, etc., may be provided in any of the following embodiments.
[0087] (1) An information processing system comprising at least one processor capable of executing a program such that the following steps are performed: an acquisition step in which the position coordinates of a plurality of target points in a virtual space are acquired; a setting step in which a predetermined specific point is set in the virtual space and a target force field is set which includes a first force field configured to move away from the set specific point and a second force field configured to pull two of the target points together, wherein the magnitude of the second force field increases with increasing distance between the two of the target points; and an update step in which the acquired position coordinates of the target points are updated based on the acquired amount of movement of the plurality of target points, calculated based on the acquired position coordinates of the target points, and the set target force field.
[0088] In this configuration, multiple target points diffuse within the virtual space starting from a specific point due to the first force field. This allows a group of multiple target points to deform like a single independent living organism. On the other hand, if the multiple target points continue to diffuse due to the first force field, the group of target points dissipates. As a result, the group of target points disappears without deforming like a living organism. Therefore, by setting up a second force field in which two target points attract each other as they move, the dissipation of the target points within the virtual space is suppressed. This makes it easier for the group of target points to continue deforming like a single independent living organism. Consequently, it becomes easier to represent artificial life-like movements in the virtual space using target points.
[0089] (2) In the information processing system described in (1) above, in the setting step, one of the target points is set as the specific point.
[0090] This configuration makes it easier to simulate the movement of multiple target points as if they were artificial life with one of the target points as its core.
[0091] (3) In the information processing system described in (1) or (2) above, the setting step is to set the specific point based on the number density of the target points in the virtual space.
[0092] With this configuration, specific points are set at locations where the target points are concentrated, making more target points more susceptible to the influence of the first force field. Therefore, the movement of multiple target points can be portrayed in a more dynamic way.
[0093] (4) In the information processing system described in (3) above, the setting step is to set the specific point based on the number density of the target point in the virtual space projected onto a predetermined two-dimensional region.
[0094] With this configuration, the amount of information subject to number density processing is reduced, thus alleviating the processing load when setting specific points.
[0095] (5) In the information processing system described in (4) above, the two-dimensional area includes the display area displayed on the display unit.
[0096] With this configuration, the first force field acts more easily on target points located within the display area than on target points located outside the display area. Therefore, the processing load required when generating the movement of the display content can be reduced.
[0097] (6) In the information processing system described in any one of (1) to (5) above, the setting step involves dividing the virtual space into a plurality of sub-regions and setting the specific point by comparing the number of target points included in each sub-region.
[0098] This configuration can reduce the processing load when setting specific points.
[0099] (7) In the information processing system described in any one of (1) to (6) above, the second force field does not act repulsively between the two target points.
[0100] With this configuration, it is possible to suppress the scattering of the target point due to the action of the second force field.
[0101] (8) In an information processing system described in any one of (1) to (7) above, the magnitude of the first force field acting on the target point decreases as the distance between the specific point and the target point increases.
[0102] With this configuration, the movement of target points becomes easier to unify around a specific point, making it easier to represent movements similar to those of artificial life using the target points.
[0103] (9) In an information processing system described in any one of (1) to (8) above, the first force field acting on the target point is configured such that, over time, the repulsive force and attractive force with respect to the target point alternate.
[0104] This configuration helps to prevent the movement produced by multiple points from becoming monotonous.
[0105] (10) In the information processing system described in (9) above, the setting step increases the magnitude of the repulsive force acting on the target point when the first force field switches from an attractive force to a repulsive force.
[0106] With this configuration, the first force field makes it easier to generate a diffusive movement of target points from a specific point. Therefore, the movement of multiple target points can be portrayed in a more dynamic way.
[0107] (11) In an information processing system described in any one of (1) to (10) above, the first display processing step further displays, based on the position coordinates of the target point, the virtual space including the target point before updating and the virtual space including the target point after updating, in that order.
[0108] With this configuration, the movement of the target point can be continuously represented as artificial life.
[0109] (12) In an information processing system according to any one of (1) to (11) above, at least one of the plurality of target points is configured to generate at least one particle in the virtual space, wherein the particle is configured to disappear after a predetermined period of time has elapsed since it was generated from the target point.
[0110] With this configuration, the generation and annihilation of particles from the target point create a steady-state movement in the particle aggregate. Therefore, the movement of artificial life can be made more diverse.
[0111] (13) In the information processing system described in (12) above, the second display processing step further displays, based on the position coordinates of the particles, the virtual space containing the particles before updating and the virtual space containing the particles after updating in order.
[0112] With this configuration, the movement of particles can be continuously represented as artificial life.
[0113] (14) An information processing method comprising each step of an information processing system described in any one of (1) to (13) above.
[0114] (15) An information processing program that causes at least one computer to perform each step of the information processing system described in any one of (1) to (13) above. Of course, this is not always the case.
[0115] Finally, while various embodiments relating to this disclosure have been described, these are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be implemented in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents. [Explanation of Symbols]
[0116] 1: Information Processing System 2: Information Processing Device 3: User terminal 20: Communications bus 21: Communications Department 22: Storage section 23: Processor 30: Communications bus 31: Communications Department 32: Storage section 33: Processor 34:Display section 35: HMI devices 231: Acquisition Department 232: Calculation section 233: Settings Section 234: Update section 235: Display Processing Unit D: Target data F: Target force field F1: First force field F2: Second force field P0:Specific point P1: Target point P11: First point of interest P12: Second point of interest P12a: Second target point before movement P12b: Second target point after movement P2: Particle S: Two-dimensional area S1:Display area SP: Virtual Space dr: amount of movement r :Position coordinates r01 :Direction r1: Position coordinates r11: Position coordinates of the first target point r12a: Position coordinates of the second target point before movement r12b: Position coordinates of the second target point after movement
Claims
1. An information processing system, The system comprises at least one processor capable of executing a program so that each of the following steps is performed, In the acquisition step, the position coordinates of multiple target points in the virtual space are obtained. In the setup step, Based on the number density of the target points in the virtual space, a predetermined specific point is set within the virtual space. A first force field configured such that multiple target points move away from a set specific point, A target force field is set up that includes a second force field configured to attract the two aforementioned target points to each other, The update step updates the acquired position coordinates of the target points based on the amount of movement of the acquired multiple target points, which is calculated based on the acquired position coordinates of the target points, and the set target force field.
2. In the information processing system described in claim 1, In the setting step described above, one of the target points is set as the specific point.
3. In the information processing system described in Claim 1, In the setting step, the specific point is set based on the number density of the target points in the virtual space projected onto a predetermined two-dimensional region.
4. In the information processing system described in Claim 3, The aforementioned two-dimensional region includes the display area displayed on the display unit.
5. An information processing system, The system comprises at least one processor capable of executing a program so that each of the following steps is performed, In the acquisition step, the position coordinates of multiple target points in the virtual space are obtained. In the setup step, A predetermined specific point is set within the virtual space, A first force field configured such that multiple target points move away from a set specific point, A target force field is set up that includes a second force field configured to attract the two aforementioned target points to each other, In the update step, the acquired position coordinates of the target points are updated based on the acquired displacement amounts of the multiple target points, which are calculated based on the acquired position coordinates of the target points, and the set target force field. In the setting step described above, the virtual space is divided into multiple sub-regions, and the specific point is set by comparing the number of target points included in each sub-region.
6. In the information processing system described in claim 1, The second force field described above does not act repulsively between the two target points.
7. In the information processing system described in claim 1, The magnitude of the first force field acting on the target point decreases as the distance between the specific point and the target point increases.
8. An information processing system, The system comprises at least one processor capable of executing a program so that each of the following steps is performed, In the acquisition step, the position coordinates of multiple target points in the virtual space are obtained. In the setup step, A predetermined specific point is set within the virtual space, A first force field configured such that multiple target points move away from a set specific point, A target force field is set up that includes a second force field configured to attract the two aforementioned target points to each other, In the update step, the acquired position coordinates of the target points are updated based on the acquired displacement amounts of the multiple target points, which are calculated based on the acquired position coordinates of the target points, and the set target force field. The first force field acting on the target point is configured such that, over time, the repulsive force and the attractive force with respect to the target point alternate.
9. In the information processing system described in Claim 8, In the setting step described above, when the first force field switches from an attractive force to a repulsive force, the magnitude of the repulsive force acting on the target point is increased.
10. In the information processing system described in claim 1, Furthermore, in the first display processing step, the virtual space including the target point before the update and the virtual space including the target point after the update are displayed in order, based on the position coordinates of the target point.
11. An information processing system, The system comprises at least one processor capable of executing a program so that each of the following steps is performed, In the acquisition step, the position coordinates of multiple target points in the virtual space are obtained. In the setup step, A predetermined specific point is set within the virtual space, A first force field configured such that multiple target points move away from a set specific point, A target force field is set up that includes a second force field configured to attract the two aforementioned target points to each other, In the update step, the acquired position coordinates of the target points are updated based on the acquired displacement amounts of the multiple target points, which are calculated based on the acquired position coordinates of the target points, and the set target force field. At least one of the plurality of target points is configured to generate at least one particle in the virtual space, where, The aforementioned particles are configured to disappear after a predetermined period of time has elapsed since their generation from the target point.
12. In the information processing system described in Claim 11, Furthermore, in the second display processing step, the virtual space containing the particle before it was updated and the virtual space containing the particle after it was updated are displayed in order, based on the position coordinates of the particle.
13. Information processing method, A method comprising each step of the information processing system described in any one of claims 1 to 12.
14. It is an information processing program, A device that causes at least one computer to perform each step of the information processing system described in any one of claims 1 to 12.