CN100479360C - Restraining method of control points of using marginal effect - Google Patents

Restraining method of control points of using marginal effect Download PDF

Info

Publication number
CN100479360C
CN100479360C CNB2006100520976A CN200610052097A CN100479360C CN 100479360 C CN100479360 C CN 100479360C CN B2006100520976 A CNB2006100520976 A CN B2006100520976A CN 200610052097 A CN200610052097 A CN 200610052097A CN 100479360 C CN100479360 C CN 100479360C
Authority
CN
China
Prior art keywords
control point
last
flag
prediction
unitlength
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006100520976A
Other languages
Chinese (zh)
Other versions
CN1874212A (en
Inventor
陈纯
卜佳俊
杨建旭
姜波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNB2006100520976A priority Critical patent/CN100479360C/en
Publication of CN1874212A publication Critical patent/CN1874212A/en
Application granted granted Critical
Publication of CN100479360C publication Critical patent/CN100479360C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

Based on moving speed, acceleration of object, and distance of dragged control point, the invention adjusts predicted result dynamically. Based on distance between position of initial dragged control point of user and initial predicted position, the invention adjusts predicted weight. The more faraway the distance is, the more obvious of restriction is. Restriction is amplified in exponential. The invention compensates unfavored result brought by wobble of network, restricts prediction of movement of control point so as to raise precision of prediction for movement of control point, and reach better effect of prediction.

Description

Adopt the control point constrained procedure of marginal effect
Technical field
The present invention relates to the collaborative perception field of computer supported cooperative work, particularly relate to a kind of control point constrained procedure that adopts marginal effect.
Background technology
One of 20th century mankind's outstanding achievement computer technology has been brought human society into the information age.Be accompanied by deepening continuously of IT application process, the communication technology, computer and network technology merge mutually, have produced a new research field-computer supported cooperative work CSCW (Computer SupportedCooperative Work).
As collaborative design person during in co-operation, the monitoring Long-distance Control locus of points can help the user to understand preferably and predict other designers' intention.The change procedure that represents long-range pattern objects is for supporting that collaborative work is of great value means.Yet usually there is the instability of delay in network, also is called shake (jitter), and this may cause representing under the real time environment the inaccurate of remote participant activity.Shake can cause the discontinuous of Long-distance Control point motion track, causes the user to misread or even operating collision.In order to relax the negative effect brought of shake, adopt usually based on known historical position and predict that Long-distance Control puts the method for next position, with the track of skimulated motion, reach level and smooth natural effect.
There is certain limitation in track following (Tracing) technology at present, the main mutual effect that adopts the Dead-reckoning method to improve player and distributed objects in the Internet game on-line.The Dead-reckoning method has been utilized speed, the acceleration parameter of object, shows good effect in the moving process based on the strong inertial mass of mechanics.The Dead-reckoning Forecasting Methodology is applied to equally cuts down the shake effect that move at the control point, experimental results show that this prediction can improve in the group system immediacy and naturality mutual between the user.
Yet when the shake time was longer, the prediction accuracy of Dead-reckoning under this is used can obviously descend.Its reason is that generally the designer only can pay close attention to the editing area of fixing around it in a period of time.When the control point moved to other positions, new position was more approaching on distance with initial position probably.And the possibility that user's control point moves to outside the screen is also little, and the Dead-reckoning method is not considered this effect that marginalizes.
Summary of the invention
The object of the present invention is to provide a kind of control point constrained procedure that adopts marginal effect.
The technical scheme that the present invention solves its technical problem employing is as follows:
1) the Long-distance Control point of the nearest N of record within second is in the shift position of each millisecond;
2) when network jitter takes place, for the shift position of PREDICTIVE CONTROL point, at first calculation control point is used aveVelocity at the present speed of directions X and Y direction XAnd aveVelocity YRepresent; Approximate velocity is by from current nearest T LastPosition coordinates (X constantly Last, Y Last) and the preceding T of M millisecond FlagPosition coordinates (the X that constantly receives Flag, Y Flag) calculate;
aveVelocit y X = ( X last - X flag ) / ( T last - T flag ) aveVelocit y Y = ( Y last - Y flag ) / ( T last - T flag )
3) calculation control point is used aveAcceleration in the current acceleration of directions X and Y direction XAnd aveAcceleration YRepresent; Approximate acceleration is by from current nearest T Last(X constantly Last, Y Last) speed and the T of position Flag(X constantly Flag, Y Flag) another speed of position calculates;
aveAcceleratio n X = ( Velocity Xlast - Velocity Xflag ) / ( T last - T flag ) aveAcceleratio n Y = ( Velocity Ylast - V elocity Yflag ) / ( T last - T flag )
4) calculate the initial predicted position
The current location note at control point is (X Current, Y Current), and the next position note at control point is X Next, Y Next), when network jitter takes place, (X Next, Y Next) prediction calculate by following formula:
X next = X current + aveVelocit y X * T + aveAccelerati on X * T 2 Y next = Y current + ave Velocity Y * T + aveAcceleratio n Y * T 2
Wherein:
T is current shake time-delay;
5) calculate the prediction weight
Initially drag the position at control point and the distance between the initial predicted position according to the user, calculate the prediction weight; Distance is far away more, retrains obvious more;
&alpha; = 1 , Length &le; UnitLength ( Length / UnitLength ) b , 0 < b < 1 , Length > UnitLength
Wherein:
Length is that the user initially drags the position at control point and the distance between the initial predicted position;
UnitLength can decide according to different systems and application;
B is greater than 0 constant less than 1;
The position that is initially dragged by the user is the center of circle, and UnitLength is that radius forms a scope, if the position of initial predicted in this scope, system keeps the position of original prediction not change, i.e. α=1; When the position of initial prediction exceeds this scope, system adopts (Length/UnitLength) bAs weight;
6) carry out the constraint that predict at the control point
Utilize the prediction weight to the initial predicted result constraint that further marginalizes, the initial predicted position is (X Next, Y Next), the control point marginalize the result note of constraint do (X ' Next, Y ' Next),
X &prime; next = X next + UnitLength * &alpha; * sin &beta; Y &prime; next = Y next + UnitLength * &alpha; * cos &beta;
Wherein:
Sin β represents the component of control point in the x direction;
Cos β represents the component of control point in the y direction;
7) with Long-distance Control point according to marginalize the constraint the result (X ' Next, Y ' Next) be plotted on user's the screen;
8) wipe the control point of previous prediction, draw the control point of up-to-date prediction, the rest may be inferred, and complete in the control point of all predictions in dither process.
The present invention compares with background technology, and the useful effect that has is:
Traditional Forecasting Methodology is not considered the effect that marginalizes, and the movement locus at dynamic prediction of the present invention control point initially drags the position at control point and the distance between the initial predicted position according to the user, adjusts the prediction weight.Far away more from initial position, the constraint that marginalizes is obvious more, and constraint presents index and strengthens.This prediction result more meets human operating habit.The present invention can be applied in the real-time perception problem of working in coordination with fields such as design preferably.
Embodiment
The specific implementation flow process of the control point constrained procedure of employing marginal effect is as follows.
1) the Long-distance Control point of the nearest N of record within second is in the shift position of each millisecond;
For example, can write down position data within nearest 2 seconds.
2) when network jitter takes place, for the shift position of PREDICTIVE CONTROL point, at first calculation control point is used aveVelocity at the present speed of directions X and Y direction XAnd aveVelocity YRepresent; Approximate velocity is by from current nearest T LastPosition coordinates (X constantly Last, Y Last) and the preceding T of M millisecond FlagPosition coordinates (the X that constantly receives Flag, Y Flag) calculate;
aveVelocit y X = ( X last - X flag ) / ( T last - T flag ) aveVelocit y Y = ( Y last - Y flag ) / ( T last - T flag )
For example, the M value is got 100 milliseconds, promptly 0.1 second.T LastPosition coordinates constantly is (310,320), T FlagThe position coordinates that constantly receives is (300,300), coordinate all with pixel as unit.
aveVelocit y X = ( X last - X flag ) / 100 = ( 310 - 300 ) / 0.1 = 100 aveVelocit y Y = ( Y last - Y flag ) / 100 = ( 320 - 300 ) / 0.1 = 200 (pixel/s)
3) calculation control point is used aveAcceleration in the current acceleration of directions X and Y direction XAnd aveAcceleration YRepresent; Approximate acceleration is by from current nearest T Last(X constantly Last, Y Last) speed and the T of position Flag(X constantly Flag, Y Flag) another speed of position calculates;
aveAcceleratio n X = ( Velocity Xlast - Velocit y Xflag ) / ( T last - T flag ) ave Acceleration Y = ( Velocity Ylast - V elocity Yflag ) / ( T last - T flag )
Suppose T Last(X constantly Last, Y Last) speed of position is (100,100), acceleration calculation is as follows so:
aveAcceleratio n X = ( 100 - 100 ) / 0.1 = 0 aveAcceleratio n Y = ( 200 - 100 ) / 0.1 = 1000 (pixel/s 2)
4) calculate the initial predicted position
The current location note at control point is (X Current, Y Current), and the next position note at control point is (X Next, Y Next), when network jitter takes place, (X Next, Y Next) prediction calculate by following formula:
X next = X current + aveVelocit y X * T + aveAccelerati on X * T 2 Y next = Y current + ave Velocity Y * T + aveAcceleratio n Y * T 2
Wherein:
T is current shake time-delay;
As above example is supposed T=100 (ms)
X next = 310 + 100 * 0.1 = 320 Y next = 320 + 200 * 0.1 + 1000 * 0.1 2 = 350
5) calculate the prediction weight
Initially drag the position at control point and the distance between the initial predicted position according to the user, calculate the prediction weight.Distance is far away more, retrains obvious more;
&alpha; = 1 , Length &le; UnitLength ( Length / UnitLength ) b , 0 < b < 1 , Length > UnitLength
Wherein:
Length is that the user initially drags the position at control point and the distance between the initial predicted position.
UnitLength can decide according to different systems and application.
B is greater than 0 constant less than 1;
The position that is initially dragged by the user is the center of circle, and UnitLength is that radius forms a scope.If the position of initial predicted is in this scope, system keeps the position of original prediction not change, i.e. α=1.When the position of initial prediction exceeds this scope, system adopts (Length/UnitLength) bAs weight.
For example, Length=200 pixel, UnitLength=100 pixel, b=1/2.Because Length>UnitLength,
&alpha; = ( Length / UnitLength ) b = ( 200 / 100 ) 1 2 = 2 1 2
6) carry out the constraint that predict at the control point
Utilize the prediction weight to the initial predicted result constraint that further marginalizes.The initial predicted position is (X Next, Y Next), the control point marginalize the result note of constraint do (X ' Next, Y ' Next),
X &prime; next = X next + UnitLength * &alpha; * sin &beta; Y &prime; next = Y next + UnitLength * &alpha; * cos &beta;
Wherein:
Sin β represents the component of control point in the x direction;
Cos β represents the component of control point in the y direction.
As above example is supposed
X &prime; next = 320 + 100 * 2 1 2 * 1 5 = 383 Y &prime; next = 350 + 100 * 2 1 2 * 2 5 = 426
7) with Long-distance Control point according to marginalize the constraint the result (X ' Next, Y ' Next) be plotted on user's the screen;
8) wipe the control point of previous prediction, draw the control point of up-to-date prediction, the rest may be inferred, and complete in the control point of all predictions in dither process.

Claims (1)

1. control point constrained procedure that adopts marginal effect is characterized in that:
1) the Long-distance Control point of the nearest N of record within second is in the shift position of each millisecond;
2) when network jitter takes place, for the shift position of PREDICTIVE CONTROL point, at first calculation control point is used aveVelocity at the present speed of directions X and Y direction XAnd aveVelocity YRepresent; Present speed is by from current nearest T LastPosition coordinates (X constantly Last, Y Last) and the preceding T of M millisecond FlagPosition coordinates (the X that constantly receives Flag, Y Flag) calculate;
ave Velocity X = ( X last - X flag ) / ( T last - T flag ) ave Velocity Y = ( Y last - Y flag ) / ( T last - T flag )
3) calculation control point is used aveAcceleration in the current acceleration of directions X and Y direction XAnd aveAcceleration YRepresent; Current acceleration is by from current nearest T Last(X constantly Last, Y Last) speed and the T of position Flag(X constantly Flag, Y Flag) another speed of position calculates;
ave Acceleration X = ( Velocity Xlast - Velocity Xflag ) / ( T last - T flag ) aveAcceleration Y = ( Velocity Ylast - Velocity Yflag ) / ( T last - T flag )
4) calculate the initial predicted position
The current location note at control point is (X Current, Y Current), and the initial predicted position at control point note is (X Next, Y Next), when network jitter takes place, (X Next, Y Next) prediction calculate by following formula:
X next = X current + ave Velocity X * T + ave Acceleration X * T 2 Y next = Y current + aveVelocity Y * T + aveAcceleration Y * T 2
Wherein:
T is current shake time-delay;
5) calculate the prediction weight
Initially drag the position at control point and the distance between the initial predicted position according to the user, calculate the prediction weight; Distance is far away more, retrains obvious more;
&alpha; = 1 , Length &le; UnitLength ( Length / UnitLength ) b , 0 < b < 1 , Length > UnitLength
Wherein:
Length is that the user initially drags the position at control point and the distance between the initial predicted position;
UnitLength can decide according to different systems and application;
B is greater than 0 constant less than 1;
The position that initially drags the control point with the user is the center of circle, and UnitLength is that radius forms a scope, if the position of initial predicted in this scope, system keeps the position of original prediction not change, i.e. α=1; When the position of initial prediction exceeds this scope, system adopts (Length/UnitLength) bAs weight;
6) carry out the constraint that marginalizes that predict at the control point
Utilize the prediction weight to the constraint that further marginalizes of initial predicted position, the initial predicted position is (X Next, Y Next), the control point marginalize the result note of constraint do (X ' Next, Y ' Next),
X &prime; next = X next + UnitLength * &alpha; * sin &beta; Y &prime; next = Y next + UnitLength * &alpha; * cos &beta;
Wherein:
β is the described present speed at control point and the angle of Y direction;
7) with Long-distance Control point according to marginalize the constraint the result (X ' Next, Y ' Next) be plotted on user's the screen;
8) wipe the control point of previous prediction, draw the control point of up-to-date prediction, the rest may be inferred, and complete in the control point of all predictions in dither process.
CNB2006100520976A 2006-06-23 2006-06-23 Restraining method of control points of using marginal effect Expired - Fee Related CN100479360C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100520976A CN100479360C (en) 2006-06-23 2006-06-23 Restraining method of control points of using marginal effect

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100520976A CN100479360C (en) 2006-06-23 2006-06-23 Restraining method of control points of using marginal effect

Publications (2)

Publication Number Publication Date
CN1874212A CN1874212A (en) 2006-12-06
CN100479360C true CN100479360C (en) 2009-04-15

Family

ID=37484502

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100520976A Expired - Fee Related CN100479360C (en) 2006-06-23 2006-06-23 Restraining method of control points of using marginal effect

Country Status (1)

Country Link
CN (1) CN100479360C (en)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
基于预测的图案协同设计中智能锁研究. 卢刚,惠怀海,卜佳俊,陈纯.重庆大学学报(自然科学版),第28卷第5期. 2005
基于预测的图案协同设计中智能锁研究. 卢刚,惠怀海,卜佳俊,陈纯.重庆大学学报(自然科学版),第28卷第5期. 2005 *
结合一种面-面碰撞检测算法的服装动态模拟. 顾尔丹,许端清,王靖滨,陈纯.计算机辅助设计与图形学学报,第14卷第11期. 2002
结合一种面-面碰撞检测算法的服装动态模拟. 顾尔丹,许端清,王靖滨,陈纯.计算机辅助设计与图形学学报,第14卷第11期. 2002 *

Also Published As

Publication number Publication date
CN1874212A (en) 2006-12-06

Similar Documents

Publication Publication Date Title
Park et al. ITOMP: Incremental trajectory optimization for real-time replanning in dynamic environments
Bruder et al. Arch-explore: A natural user interface for immersive architectural walkthroughs
Kirby Social robot navigation
CN112074383A (en) Robot navigation using 2D and 3D path planning
Sakuma et al. Psychological model for animating crowded pedestrians
KR20210091263A (en) Test method, apparatus, medium and device of trajectory tracking controller
Bowman Principles for the design of performance-oriented interaction techniques
CN111506063B (en) Mobile robot map-free navigation method based on layered reinforcement learning framework
CN102216879A (en) Method and device for inputting a user&#39;s instructions based on movement sensing
CN108762253A (en) A kind of man-machine approach to formation control being applied to for people&#39;s navigation system
CN108639061B (en) Active anti-carsickness auxiliary driving control method for automatic driving vehicle
CN103631419A (en) Cursor positioning method and system based on remote control touch pad
Debada et al. Occlusion-aware motion planning at roundabouts
CN100479360C (en) Restraining method of control points of using marginal effect
CN116643572A (en) Local path planning method, electronic equipment and medium for indoor complex environment
Pan et al. Additional planning with multiple objectives for reinforcement learning
Mirsky et al. Conflict Avoidance in Social Navigation-a Survey
CN1916969A (en) Method for generating reaction accompany movement based on hybrid control
CN113589809B (en) Work track planning method and device for obstacle-avoidance excavator working device
Liu Implementation of SLAM and path planning for mobile robots under ROS framework
CN106775093A (en) A kind of contact action control method and device
Mayne Some engineering aspects of the mechanism of body control
CN100416551C (en) Control point smoothing method based on preceding deviation
Hostetler et al. Strolling down the avenue with a few close friends
Jeon et al. A sketch interface to empower novices to create 3D animations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090415

Termination date: 20160623

CF01 Termination of patent right due to non-payment of annual fee