center3Pose

by Tim C. Lueth, SG-Lib Toolbox: SolidGeometry 5.6 - 4Bar/Linkages
Introduced first in SolidGeometry 4.4, Creation date: 2019-01-01, Last change: 2025-09-14

return center points for 3 poses (position and orientation)

Description

center3Pose is a very powerful function for the design of fourbar linkages under a variety of optimization criterias.
k stands for the distance of the coupler point to the poses
r stands for the radius of the crank
C stands for the base of the crank
d stands for the distance of coupler to pose
w stand for angle deviation of coupler to pose
e stands for the distance error of the found solution
For a fourbar linkage it is necessary to select two k points to get two center points for crank and follower.
======================================================================
THIS FUNCTION IS PART OF THE SEQUENCE
1. Create Poses as List of Startpoints A and Endpoints B uses Posesample or Poseui:
>> PS=Poseui(3,.2); SGfigure; Poseplot(PS);
>> PS.A=[-0.00 0.00; 0.00 1.00; 1.00 3.00]; PS.B=[ 1.00 0.00; 1.00 1.00; 1.71 2.29];
2. Calculate a set of parameter variations for possible Solutions:
>> center3Pose(PS.A,PS.B,-20:20,-20:5:20,-3:.2:3); S=ans; whos C;
3. Calculate and analyze all possible permutations of the parameter variation:
>> checkfourbar3Posepermutation(PS.A,PS.B,S); FP=ans;
4. Limit the Solution to your needs by limiting the permutations, for example
FULL ROTATION 'u',0 DIMENSION 'l1l2rd',[5 8]
checkfourbar3Posepermutation(PS.A,PS.B,FP,'','u',0,'l1l2rd',[2 4]);
OR FULL ROTATION 'u',0 BASES INSIDE AN AREA
checkfourbar3Posepermutation(PS.A,PS.B,FP,'','cpl',PLcircle(2)+[3 3],'l1l2rd',[0 3]);
======================================================================
All those functions are based on
invkinplan2 - that calculates both configurations for a planar 2bar linkage

See Also: center3P , center3Poseeffektorgrid , checkfourbar3Pose , Posesample , Poseplot , TofPose , Posenorm , Poseui , KDWPosevariation

Example Illustration

 missing image of center3Pose(A,B,k,dall,wall,CPL);

Syntax

[S,rs,Sall,PSall,dw]=center3Pose([A,B,k,dall,wall,CPL]);

Input Parameter

A: List of at least 3 points that define a pose
B: List of at least 3 points that define a direction in combination with A
k: list of checking values for a point along the line A+k*(B-A)/|(B-A)|
dall: displacement orthogonal to pose line; default is 0
wall: turning angle of the pose relative to pose; default is 0;
CPL: Optional area for solutions

Output Parameter

S: [k C r d w]
rs: real solutions if CPL is used
Sall: All Solutions S=Sall(rs,:)
PSall: All Poses
dw:

Examples


k=-2:0.2:2; center3Pose([0 0;6 0; 6 5],'',k)
close all; k=-10:0.4:10; center3Pose([0 0;6 0; 6 5],'',k'); S=ans
close all; center3Pose('','',-30:30,'','',PLsquare(10,8)+[-10 0]); S=ans




Copyright 2019-2025 Tim C. Lueth. All rights reserved. The code is the property of Tim C. Lueth and may not be redistributed or modified without explicit written permission. This software may be used free of charge for academic research and teaching purposes only. Commercial use, redistribution, modification, or reverse engineering is strictly prohibited. Access to source code is restricted and granted only under specific agreements. For licensing inquiries or commercial use, please contact: Tim C. Lueth

Last html export of this page out of FM database by TL: 2025-09-21