#looptime
Explore tagged Tumblr posts
Text
I got oop time, im sure that means nothing
the first three words you see will describe your 2024 🥰
21K notes
·
View notes
Note
I'm just asking this because I read a book about time loops but What would each romance option do if stuck in a time loop? What would their plan be to escape?
Kay - I think does increasingly crazy stuff to see if she can make it break. Like "how off the rails does this shit have to get for it to detonate"
CG - Making copious mental notes. Gets the 'routine' down to a t in order to maximise her chances of doing something. Testing one theory at a time to try and fix it.
Teddie - Step one is always telling Kay. Then he goes from there. He'd hate it so bad though especially if there's a bad bone he has to break every time.
Alistair - searches online "stuck in a timeloop help". Uhh I generally think he'd be kinda bad at it because he would feel awful like- if he has done any volunteering based stuff over the course of the loop it'd take him a long time to bring himself to not do it each and every time so he'd cost himself a lot of looptime.
Wil -Tries to keep it together but eventually veers towards the Kay method or having kind of a breakdown.
Mal - Genuinely I am not sure. Probably the most likely to spend at least a couple loops on fucking around/wish fulfilment.
Beth - Methodically tries to work out what's going on. Very similar to CG, actually.
#drink your villain juice#ask#kay (dyvj)#teddie (dyvj)#beth (dyvj)#wil (dyvj)#alistair (dyvj)#mal (dyvj)#cg (dyvj)
30 notes
·
View notes
Text
Steps in After Effects after the cut.
(instagram)
Created my illustration in Adobe Illustrator at first but then remade a few elements on After Effects because it's easier to animate it.
Created a solid layer, slapped some looping texture over it.
To create those circling lines:
I created one line with a Pen Tool and added a Repeater animator to it;
Went to Contents → Repeater 1 → Set Copies to 42;
Then went to Transform: Repeater 1 and set the Position to 0.0 and Rotation to +10;
And animated its rotation from the center;
To create moving circles:
I created some random sized circles on one shape layer in the places I wanted. Now the fun part is to make them move around randomly on a 10 second loop (or however long you want it to be);
I found the Position parameter of every circle I created (you can use search function) and added this expression to one of them:
freq = 1; amp = 30; loopTime = 10; t = time % loopTime; wiggle1 = wiggle(freq, amp, 1, 0.5, t); wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime); linear(t, 0, loopTime, wiggle1, wiggle2)
Then Left-Clicked on it and selected Copy Expression Only;
And then pasted it onto the rest of the Positions;
Then search for the Scale parameter and do the same but with the amplitude of 50 this time (amp = 50);
Copy the expression and paste it on the rest of the Scales;
To create twinkling lights:
Created a circle, added Pucker & Bloat animator, set the Amount to -85;
Added some keyframes on Scale animation so it would go from 100% to 0% to a 100% again every 20 frames;
Added loopOut() expression to Scale so it would twinkle forever;
Added the same expression to Position parameter as I did on the circles (amp 30) so it would randomly move around;
Also added these effects on a circles layer to style it a little:
Echo - Echo Time (seconds) -0.020; Number Of Echoes - 3; Echo Operator - Composite In Back; (creates copies of my animation and spreads them out over time which creates this light trailing effect);
Roughen Edges - Border 6; Edge Sharpness 10; Fractal Influence 0.2; Scale 10; Complexity 2; (gives them more organic look);
And then I added Adjustment Layer over the whole project and added these effects:
Noise - Amount 5%;
Posterize Time - 12;
Roughen Edges - Border 2; Edge Sharpness 5; Fractal Influence 0.2; Scale 10; Complexity 2;
Turbulent Displace - Amount 2; Size 100; Complexity 1;
Turbulent Displace 2 - Amount 30; Size 2; Complexity 2;
#art#drawing#illustration#artists on tumblr#artwork#animation#2d#2d animation#2d art#2d artwork#motion design#mograph#looping animation#animated#women in art#artists#digital art#my art#original illustration#drawings#animated illustration#animated gif#eye animation#eye#animated eye#illuminati#digital arwork#after effects#adobe after effects#motion graphics tutorial
15 notes
·
View notes
Photo

Hallo & herzlich Willkommen zu unserem Loop 🥰⠀ ⠀ Du möchtest mehr aktive Follower und bei unserem Loop dabei sein? Kein Problem, was du tun musst: ⠀ ⠀ Folge unserer Loopseite Folge den Admins: @viki_ha @_wintermami_ @vlora_seli Und @nailsandbeauty4soul Und folge allen in der rechten Spalte ❤️⠀ Wenn du das alles erledigt hast, kommentiere 𝐔𝐍𝐓𝐄𝐑 𝐃𝐄𝐌 𝐁𝐄𝐈𝐓𝐑𝐀𝐆 bei @loop_foreveryone ERLEDIGT ✅ ⠀ Jeden Sonntag geht der Loop in die neue Runde, es wird in den Gruppen den Text und das Bild geben. Um 20:00 Uhr wird im Feed gepostet. 😊 ⠀ #looplove #loopfun #follow4follow #looptime #loopday #likeforlikes #gemeinsamwachsen #mamaleben #loopfüralle #instalike #potd #loopforeveryone #blogger_de #germanblogger_de #happylooping #supportistkeinmord #supportsunday #together (hier: DalysNails Nails,Lashes&Beauty4Soul) https://www.instagram.com/p/CEheZNNFKZv/?igshid=iohi4w9gp74p
#looplove#loopfun#follow4follow#looptime#loopday#likeforlikes#gemeinsamwachsen#mamaleben#loopfüralle#instalike#potd#loopforeveryone#blogger_de#germanblogger_de#happylooping#supportistkeinmord#supportsunday#together
0 notes
Link
106 మంది ప్రయాణికులతో బయల్దేరిన ఆ రైలు సొరంగంలోకి వెళ్లగానే ఏమైంది? ఆ రైలు నుంచి కిందికి దూకిన ఇద్దరు ప్రయాణికులు ఏం చెప్పారు? ఆ మిస్సింగ్ రైలు ఇప్పుడు ఎక్కడు ఉంది? మీరు ‘హ్యారీ పో���ర్’ సినిమా చూశారా? అందులో ఓ చిత్రమైన రైల్వే స్టేషన్ ఉంటుంది. అందులో ప్లాట్ఫాం మీద ఉండే స్తంభంలోకి వెళ్తే.. ఓ మాయా రైలు వచ్చి ప్రయాణికులకు మాయాలోకానికి తీసుకెళ్తుంది. అయితే, మాయలు.. మంత్రాలు.. తంత్రాలు అనేవి కల్పితాలేనని మనకు తెలుసు. పుస్తకాల్లో వాటి గురించి చదివినా, సినిమాల్లో చూసినా భలే థ్రిల్గా అనిపిస్తాయి. కానీ, నిజ జీవితంలో అలాంటి వింతలు చోటుచేసుకుంటే? ఆ హ్యారిపోటర్ సినిమా తరహాలోనే ఒక రైలు ప్రయాణికులతో సహా మాయమైపోతే? Facts Telugu Mysterious Disappearing of Train in Tunnel - మిస్సింగ్ ట్రైన్ మిస్టరీ.. ప్రయాణికులతో సహా మాయమైన రైలు | missing train in tunnel Please watch Missing train mystery@ https://youtu.be/wups2B-d2uk Please watch my previous video @ https://youtu.be/lVg2qxyCl78
1 note
·
View note
Note
yooooo my mind is high as fuck in meds and is giving me looptime vibes!! DSMP where everone but dream remembers and is weird because nothing changes except how early things happens. the thing is tha nothing changes cause they never treat dream different and some even hate him from the beginning so every time Dream dies the loop starts again and they are just confuse!
the first part of this killed me omg
every time the loop restarts they act more and more hostile towards c!dream, blaming him for the actions of someone else, someone who isn't even him anymore, and poor c!dream has no idea whats going on. he's isolated and hated from the beginning, and well, if everyone hates you no matter what you do, then whats the point in bothering to be good?
27 notes
·
View notes
Text
After effects code for looping animation on y-axis
To apply this code: 1) Go to any transform>position or just press "P" on your keyboard.
2) Hold Alt and left click the time icon on the left side of "Position" the code section will go out and just copy paste the code.
freq = 2; // this is where you change the value (0.1 0.2… 1-100+) amp = 50; // animation's amplitude, the distance you want your object to go to the y axis loopTime = 2; // Loop's duration the higher the value, the slower the animation
y = amp * Math.sin(freq * 2 * Math.PI * (time - inPoint) / loopTime); value + [0, y];
0 notes
Text
Path tracking code
Find the skeleton and the pantograph codes below:
SKELETON
/** ********************************************************************************************************************** * @file sketch_2_Hello_Wall.pde * @author Steve Ding, Colin Gallacher, Antoine Weill--Duflos * @version V1.0.0 * @date 09-February-2021 * @brief PID example with random position of a target ********************************************************************************************************************** * @attention * * ********************************************************************************************************************** */
/* library imports *****************************************************************************************************/ import processing.serial.*; import static java.util.concurrent.TimeUnit.*; import java.util.concurrent.*; import controlP5.*; /* end library imports *************************************************************************************************/
/* scheduler definition ************************************************************************************************/ private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); /* end scheduler definition ********************************************************************************************/
ControlP5 cp5;
/* device block definitions ********************************************************************************************/ Board haplyBoard; Device widgetOne; Mechanisms pantograph;
byte widgetOneID = 5; int CW = 0; int CCW = 1; boolean renderingForce = false; /* end device block definition *****************************************************************************************/
/* framerate definition ************************************************************************************************/ long baseFrameRate = 120; /* end framerate definition ********************************************************************************************/
/* elements definition *************************************************************************************************/
/* Screen and world setup parameters */ float pixelsPerMeter = 4000.0; float radsPerDegree = 0.01745;
/* pantagraph link parameters in meters */ float l = 0.07; float L = 0.09;
/* end effector radius in meters */ float rEE = 0.006;
/* generic data for a 2DOF device */ /* joint space */ PVector angles = new PVector(0, 0); PVector torques = new PVector(0, 0); PVector oldangles = new PVector(0, 0); PVector diff = new PVector(0, 0);
/* task space */ PVector posEE = new PVector(0, 0); PVector fEE = new PVector(0, 0);
/* device graphical position */ PVector deviceOrigin = new PVector(0, 0);
/* World boundaries reference */ final int worldPixelWidth = 1000; final int worldPixelHeight = 650;
float x_m,y_m;
// used to compute the time difference between two loops for differentiation long oldtime = 0; // for changing update rate int iter = 0;
/// PID stuff
float P = 0.0; // for I float I = 0; float cumerrorx = 0; float cumerrory = 0; // for D float oldex = 0.0f; float oldey = 0.0f; float D = 0;
//for exponential filter on differentiation float diffx = 0; float diffy = 0; float buffx = 0; float buffy = 0; float smoothing = 0.80;
float xr = 0; float yr = 0; float xO = 0; float yO = 0; int last = 0; int m = 0 ;
// checking everything run in less than 1ms long timetaken= 0;
// set loop time in usec (note from Antoine, 500 is about the limit of my computer max CPU usage) int looptime = 500;
/* graphical elements */ PShape pGraph, joint, endEffector; PShape wall; PShape target; PFont f; /* end elements definition *********************************************************************************************/
/* setup section *******************************************************************************************************/ void setup(){ /* put setup code here, run once: */
/* screen size definition */ size(1000, 700);
/* GUI setup */ smooth(); cp5 = new ControlP5(this); cp5.addTextlabel("Prop") .setText("Gain for P(roportional)") .setPosition(0,0) .setColorValue(color(255,0,0)) .setFont(createFont("Georgia",20)) ; cp5.addKnob("P") .setRange(0,2) .setValue(0) .setPosition(50,25) .setRadius(50) .setDragDirection(Knob.VERTICAL) ; cp5.addTextlabel("Int") .setText("Gain for I(ntegral)") .setPosition(0,125) .setColorValue(color(255,0,0)) .setFont(createFont("Georgia",20)) ; cp5.addKnob("I") .setRange(0,2) .setValue(0) .setPosition(50,150) .setRadius(50) .setDragDirection(Knob.VERTICAL) ; cp5.addTextlabel("Deriv") .setText("Gain for D(erivative)") .setPosition(0,250) .setColorValue(color(255,0,0)) .setFont(createFont("Georgia",20)) ; cp5.addKnob("D") .setRange(0,4) .setValue(0) .setPosition(50,275) .setRadius(50) .setDragDirection(Knob.VERTICAL) ; cp5.addTextlabel("Deriv filt") .setText("Exponential filter for Diff") .setPosition(0,375) .setColorValue(color(255,0,0)) .setFont(createFont("Georgia",20)) ; cp5.addSlider("smoothing") .setPosition(10,400) .setSize(200,20) .setRange(0,1) .setValue(0.8) ; cp5.addTextlabel("Loop time") .setText("Loop time") .setPosition(0,420) .setColorValue(color(255,0,0)) .setFont(createFont("Georgia",20)) ; cp5.addSlider("looptime") .setPosition(10,450) .setWidth(200) .setRange(250,4000) // values can range from big to small as well .setValue(500) .setNumberOfTickMarks(16) .setSliderMode(Slider.FLEXIBLE) ; cp5.addButton("RandomPosition") .setValue(0) .setPosition(10,500) .setSize(200,50) ; cp5.addButton("ResetIntegrator") .setValue(0) .setPosition(10,560) .setSize(200,50) ; cp5.addButton("ResetDevice") .setValue(0) .setPosition(10,620) .setSize(200,50) ;
/* device setup */
/** * The board declaration needs to be changed depending on which USB serial port the Haply board is connected. * In the base example, a connection is setup to the first detected serial device, this parameter can be changed * to explicitly state the serial port will look like the following for different OS: * * windows: haplyBoard = new Board(this, "COM10", 0); * linux: haplyBoard = new Board(this, "/dev/ttyUSB0", 0); * mac: haplyBoard = new Board(this, "/dev/cu.usbmodem1411", 0); */ haplyBoard = new Board(this, "COM3", 0); widgetOne = new Device(widgetOneID, haplyBoard); pantograph = new Pantograph();
widgetOne.set_mechanism(pantograph);
widgetOne.add_actuator(1, CCW, 2); widgetOne.add_actuator(2, CW, 1);
widgetOne.add_encoder(1, CCW, 241, 10752, 2); widgetOne.add_encoder(2, CW, -61, 10752, 1);
widgetOne.device_set_parameters();
/* visual elements setup */ background(0); deviceOrigin.add(worldPixelWidth/2, 0);
/* create pantagraph graphics */ create_pantagraph();
target = createShape(ELLIPSE, 0,0, 20, 20); target.setStroke(color(0));
/* setup framerate speed */ frameRate(baseFrameRate); f = createFont("Arial",16,true); // STEP 2 Create Font
/* setup simulation thread to run at 1kHz */ thread("SimulationThread"); } /* end setup section ***************************************************************************************************/
public void RandomPosition(int theValue) {
xO = random(-0.3,0.3); yO = random(-0.3,0.3);
} public void ResetIntegrator(int theValue) { cumerrorx= 0; cumerrory= 0; } public void ResetDevice(int theValue) { widgetOne.device_set_parameters();
}
/* Keyboard inputs *****************************************************************************************************/
/// Antoine: this is specific to qwerty keyboard layout, you may want to adapt
void keyPressed() { if (key == 'q') { P += 0.005; } else if (key == 'a') { P -= 0.005; } else if (key == 'w') { I += 0.00001; } else if (key == 's') { I -= 0.00001; } else if (key == 'e') { D += 0.1; } else if (key == 'd') { D -= 0.1; } else if (key == 'r') { looptime += 100; } else if (key == 'f') { looptime -= 100; } else if (key == 't') { smoothing += 0.01; } else if (key == 'g') { smoothing -= 0.01; } else if (key == ' ') { cumerrorx= 0; cumerrory= 0; } else if (key == 'i') { widgetOne.device_set_parameters(); } else if (key == 'b') { xr = random(-0.5,0.5); yr = random(-0.5,0.5); } }
/* draw section ********************************************************************************************************/ void draw(){ /* put graphical code here, runs repeatedly at defined framerate in setup, else default at 60fps: */ if(renderingForce == false){ background(255); update_animation(angles.x*radsPerDegree, angles.y*radsPerDegree, posEE.x, posEE.y);
} } /* end draw section ****************************************************************************************************/
int noforce = 0; long timetook = 0; long looptiming = 0;
/* simulation section **************************************************************************************************/ public void SimulationThread(){ while(1==1) { long starttime = System.nanoTime(); long timesincelastloop=starttime-timetaken; iter+= 1; // we check the loop is running at the desired speed (with 10% tolerance) if(timesincelastloop >= looptime*1000*1.1) { float freq = 1.0/timesincelastloop*1000000.0; println("caution, freq droped to: "+freq + " kHz"); } else if(iter >= 1000) { float freq = 1000.0/(starttime-looptiming)*1000000.0; println("loop running at " + freq + " kHz"); iter=0; looptiming=starttime; }
timetaken=starttime;
renderingForce = true;
if(haplyBoard.data_available()){ /* GET END-EFFECTOR STATE (TASK SPACE) */ widgetOne.device_read_data();
noforce = 0; angles.set(widgetOne.get_device_angles());
posEE.set(widgetOne.get_device_position(angles.array()));
posEE.set(device_to_graphics(posEE));
//m = (millis()-last); // if(millis() > last+20000){ // last = millis(); //}
//if (m <= 2000){ // xr = xO ; // yr = yO ; //}
//if (m > 2000 & m <= 8000){ // xr = xr + 0.0001 ; // yr = yr ; //}
//if (m > 8000 & m <= 11000){ // xr = xr ; // yr = yr - 0.00012; //}
//if (m > 11000 & m <= 17000){ // xr = xr - 0.0001 ; // yr = yr ; //}
//if (m > 17000){ // xr = xr ; // yr = yr + 0.00012; //}
x_m = xO*300 ; y_m = yO*300+350;
// Torques from difference in endeffector and setpoint, set gain, calculate force float xE = pixelsPerMeter * posEE.x; float yE = pixelsPerMeter * posEE.y; long timedif = System.nanoTime()-oldtime;
float dist_X = x_m-xE; cumerrorx += dist_X*timedif*0.000000001; float dist_Y = y_m-yE; cumerrory += dist_Y*timedif*0.000000001; //println(dist_Y*k + " " +dist_Y*k); // println(timedif); if(timedif > 0) { buffx = (dist_X-oldex)/timedif*1000*1000; buffy = (dist_Y-oldey)/timedif*1000*1000;
diffx = smoothing*diffx + (1.0-smoothing)*buffx; diffy = smoothing*diffy + (1.0-smoothing)*buffy; oldex = dist_X; oldey = dist_Y; oldtime=System.nanoTime(); }
// Forces are constrained to avoid moving too fast
fEE.x = constrain(P*dist_X,-4,4) + constrain(I*cumerrorx,-4,4) + constrain(D*diffx,-8,8);
fEE.y = constrain(P*dist_Y,-4,4) + constrain(I*cumerrory,-4,4) + constrain(D*diffy,-8,8);
if(noforce==1) { fEE.x=0.0; fEE.y=0.0; } widgetOne.set_device_torques(graphics_to_device(fEE).array()); //println(f_y); /* end haptic wall force calculation */
}
widgetOne.device_write_torques();
renderingForce = false; long timetook=System.nanoTime()-timetaken; if(timetook >= 1000000) { println("Caution, process loop took: " + timetook/1000000.0 + "ms"); } else { while(System.nanoTime()-starttime < looptime*1000) { //println("Waiting"); } }
} }
/* end simulation section **********************************************************************************************/
/* helper functions section, place helper functions here ***************************************************************/ void create_pantagraph(){ float lAni = pixelsPerMeter * l; float LAni = pixelsPerMeter * L; float rEEAni = pixelsPerMeter * rEE;
pGraph = createShape(); pGraph.beginShape(); pGraph.fill(255); pGraph.stroke(0); pGraph.strokeWeight(2);
pGraph.vertex(deviceOrigin.x, deviceOrigin.y); pGraph.vertex(deviceOrigin.x, deviceOrigin.y); pGraph.vertex(deviceOrigin.x, deviceOrigin.y); pGraph.vertex(deviceOrigin.x, deviceOrigin.y); pGraph.endShape(CLOSE);
joint = createShape(ELLIPSE, deviceOrigin.x, deviceOrigin.y, rEEAni, rEEAni); joint.setStroke(color(0));
endEffector = createShape(ELLIPSE, deviceOrigin.x, deviceOrigin.y, 2*rEEAni, 2*rEEAni); endEffector.setStroke(color(0,0,255)); strokeWeight(5);
}
PShape create_wall(float x1, float y1, float x2, float y2){ x1 = pixelsPerMeter * x1; y1 = pixelsPerMeter * y1; x2 = pixelsPerMeter * x2; y2 = pixelsPerMeter * y2;
return createShape(LINE, deviceOrigin.x + x1, deviceOrigin.y + y1, deviceOrigin.x + x2, deviceOrigin.y+y2); }
void update_animation(float th1, float th2, float xE, float yE){ background(255); pushMatrix(); float lAni = pixelsPerMeter * l; float LAni = pixelsPerMeter * L;
xE = pixelsPerMeter * xE; yE = pixelsPerMeter * yE;
th1 = 3.14 - th1; th2 = 3.14 - th2;
pGraph.setVertex(1, deviceOrigin.x + lAni*cos(th1), deviceOrigin.y + lAni*sin(th1)); pGraph.setVertex(3, deviceOrigin.x + lAni*cos(th2), deviceOrigin.y + lAni*sin(th2)); pGraph.setVertex(2, deviceOrigin.x + xE, deviceOrigin.y + yE);
shape(pGraph); shape(joint); float[] coord;
translate(xE, yE); shape(endEffector); popMatrix(); arrow(xE,yE,fEE.x,fEE.y); textFont(f,16); // STEP 3 Specify font to be used fill(0); // STEP 4 Specify font color
x_m = xO*300+500; y_m = yO*300+350;//mouseY; pushMatrix(); translate(x_m, y_m); shape(target); popMatrix();
}
PVector device_to_graphics(PVector deviceFrame){ return deviceFrame.set(-deviceFrame.x, deviceFrame.y); }
PVector graphics_to_device(PVector graphicsFrame){ return graphicsFrame.set(-graphicsFrame.x, graphicsFrame.y); }
void arrow(float x1, float y1, float x2, float y2) { x2=x2*10.0; y2=y2*10.0; x1=x1+500; x2=-x2+x1; y2=y2+y1;
line(x1, y1, x2, y2); pushMatrix(); translate(x2, y2); float a = atan2(x1-x2, y2-y1); rotate(a); line(0, 0, -10, -10); line(0, 0, 10, -10); popMatrix(); }
/* end helper functions section ****************************************************************************************/
PANTOGRAPH
/** ********************************************************************************************************************** * @file Pantograph.java * @author Steve Ding, Colin Gallacher * @version V3.0.0 * @date 15-January-2021 * @brief Mechanism extension example ********************************************************************************************************************** * @attention * * ********************************************************************************************************************** */
import static java.lang.Math.*;
public class Pantograph extends Mechanisms{
private float l, L, d; private float th1, th2; private float tau1, tau2; private float f_x, f_y; private float x_E, y_E; private float pi = 3.14159265359f; private float JT11, JT12, JT21, JT22; private float gain = 1.0f;
public Pantograph(){ this.l = 0.07f; this.L = 0.09f; this.d = 0.0f; } public void torqueCalculation(float[] force){ f_x = force[0]; f_y = force[1];
tau1 = JT11*f_x + JT12*f_y; tau2 = JT21*f_x + JT22*f_y; tau1 = tau1*gain; tau2 = tau2*gain; } public void forwardKinematics(float[] angles){ float l1 = l; float l2 = l; float L1 = L; float L2 = L;
th1 = pi/180*angles[0]; th2 = pi/180*angles[1];
// Forward Kinematics float c1 = (float)cos(th1); float c2 = (float)cos(th2); float s1 = (float)sin(th1); float s2 = (float)sin(th2); float xA = l1*c1; float yA = l1*s1; float xB = d+l2*c2;
float yB = l2*s2; float hx = xB-xA; float hy = yB-yA; float hh = (float) pow(hx,2) + (float) pow(hy,2); float hm = (float)sqrt(hh); float cB = - ((float) pow(L2,2) - (float) pow(L1,2) - hh) / (2*L1*hm);
float h1x = L1*cB * hx/hm; float h1y = L1*cB * hy/hm; float h1h1 = (float) pow(h1x,2) + (float) pow(h1y,2); float h1m = (float) sqrt(h1h1); float sB = (float) sqrt(1-pow(cB,2));
float lx = -L1*sB*h1y/h1m; float ly = L1*sB*h1x/h1m;
float x_P = xA + h1x + lx; float y_P = yA + h1y + ly;
float phi1 = (float)acos((x_P-l1*c1)/L1); float phi2 = (float)acos((x_P-d-l2*c2)/L2);
float c11 = (float) cos(phi1); float s11 =(float) sin(phi1); float c22= (float) cos(phi2); float s22 = (float) sin(phi2);
float dn = L1 *(c11 * s22 - c22 * s11); float eta = (-L1 * c11 * s22 + L1 * c22 * s11 - c1 * l1 * s22 + c22 * l1 * s1) / dn; float nu = l2 * (c2 * s22 - c22 * s2)/dn;
JT11 = -L1 * eta * s11 - L1 * s11 - l1 * s1; JT12 = L1 * c11 * eta + L1 * c11 + c1 * l1; JT21 = -L1 * s11 * nu; JT22 = L1 * c11 * nu;
x_E = x_P; y_E = y_P; } public void forceCalculation(){ } public void positionControl(){ } public void inverseKinematics(){ } public void set_mechanism_parameters(float[] parameters){ this.l = parameters[0]; this.L = parameters[1]; this.d = parameters[2]; } public void set_sensor_data(float[] data){ } public float[] get_coordinate(){ float temp[] = {x_E, y_E}; return temp; } public float[] get_torque(){ float temp[] = {tau1, tau2}; return temp; } public float[] get_angle(){ float temp[] = {th1, th2}; return temp; }
}
0 notes
Photo

Möchtest du auch in den Loop kommen und an Followern und Reichweite gewinnen? Dann folge bitte @time_to_loop @vanycars @mamamarionsreise @ti.mbooo Sowie der kompletten rechten Spalte des @time_to_loop und schicke @time_to_loop anschließend einen Nachweis per Bildschirmvideo. Gerne kannst du auch unseren freiwilligen Supportchat beitreten. Melde dich diesbezüglich bitte noch einmal separat bei mir. #timetoloop #loop #follow #like #looptime #blogger #influencer #followloop #likeforlike #kommentar #kommentieren #folgenfürfolgen #followtrain #followforfollow #followme #likes #followback #gemeinsamwachsen #real #gemeinsamgroßwerden #instagood #picoftheday #zusammenwachsen #zusammengroßwerden #bleibtgesund https://www.instagram.com/p/CWiIenSMZ1y/?utm_medium=tumblr
#timetoloop#loop#follow#like#looptime#blogger#influencer#followloop#likeforlike#kommentar#kommentieren#folgenfürfolgen#followtrain#followforfollow#followme#likes#followback#gemeinsamwachsen#real#gemeinsamgroßwerden#instagood#picoftheday#zusammenwachsen#zusammengroßwerden#bleibtgesund
0 notes
Photo

_carinaslife_: ANZEIGE| WERBUNG 🌿 Willkommen zum All Blogger 12h Loop 🌿 . Ihr wollt neue Leute kennenlernen, sei es Beauty‘s, Hobbyfotografen, Handmade oder Eltern? Dann bist du bei uns genau Richtig. 🤗 . Was du tun musst um dabei zu sein? . . 🔽 ✖️Folge der Seite @allblogger12hloop ✖️Folge den Admins @_carinaslife_ und @kkucmummy ✖️Folge ALLEN die der Loop abonniert hat. (rechte Spalte) . Danach kommentiert ihr auf der Loop Seite unter dem Foto mit„ Check ✔️“ und die Seite wird euch aufnehmen. Ihr bekommt eine Nachricht von uns mit einem Link wo alles weitere statt findet. Für den Loop wird die App ‚Telegramm‘ benötigt. . Wir wünschen euch viel Spaß 🙂 . . . #blogger #bloggerloop #12hloop #neueleutekennenlernen #iloveloops #looptime #elternloop #beauty #handmade #fotografen #allesineinem #instagramverbindet #allblogger #like #gemeinsamaneinemstrangziehen #loveloops #loopforever (hier: Bruckmühl) https://www.instagram.com/p/BtgxIY9FpHc/?utm_source=ig_tumblr_share&igshid=1nfwvf9d3fmfi
#blogger#bloggerloop#12hloop#neueleutekennenlernen#iloveloops#looptime#elternloop#beauty#handmade#fotografen#allesineinem#instagramverbindet#allblogger#like#gemeinsamaneinemstrangziehen#loveloops#loopforever
0 notes
Text
Burden of Rulership
Golden staff that rains damage on enemies, complete with a melee secondary. Made by Photoloss
Demo: https://gfycat.com/MedicalSolidBumblebee
/spawnitem rarebroadsword 1 '{"level":6, "shortdescription":"Burden of Rulership", "description":"Not quite as heavy as the Burden of Choice.", "category":"Sceptre", "tooltipKind":"base", "rarity":"Legendary", "elementalType":"fire", "animationCustom":{"animatedParts":{"stateTypes":{"charge":{"default":"idle", "states":{"idle":{}, "charge":{ "frames":13, "cycle":1.3, "mode":"transition", "transition":"spark"}, "spark":{"frames":3, "cycle":0.3, "mode":"transition", "transition":"charged"}, "charged":{"frames":4, "cycle":0.5, "mode":"loop"}, "discharge":{"frames":3, "cycle":0.3, "mode":"transition", "transition":"idle"}}}}, "parts":{"blade":{"properties":{"zLevel":2, "image":"/items/active/weapons/melee/broadsword/handle/15.png?replace;e9e9e9=e9e9e900;b1b1b1=b1b1b100;676767=67676700;555555=55555500;383838=38383800;151515=15151500;60b9ff=60b9ff00;2992bc=2992bc00;0964a0=0964a000;ff7060=ffd84d;e5323b=e2af20;890900=b97c01", "offset":[0.0625,3.9375]}}, "blade2":{"properties":{"zLevel":3, "centered":true, "image":"/items/active/weapons/wand/generated/handle/1.png?replace;e35f5d=fff48f;b22042=e2af20;871132=b97c01", "offset":[-0.0625,4.75], "transformationGroups":["weapon"], "rotationCenter":[0,0]}}, "cross":{"properties":{"zLevel":0, "centered":true, "image":"/items/active/weapons/melee/shortsword/handle/9.png?replace;60b9ff=fff48f;2992bc=e2af20;0964a0=b97c01", "offset":[0.0625,5.75], "transformationGroups":["weapon"], "rotationCenter":[0,0]}}, "handle":{"properties":{"zLevel":1, "image":"/items/active/weapons/melee/hammer/handle/28.png?replace;e9e9e9=fff48f;b1b1b1=ffd84d;676767=b97c01", "offset":[-0.125,1.875]}}, "stone":{"properties":{"zLevel":0, "centered":true, "fullbright":true, "image":"/projectiles/uniquemonster/orbideball/orbideball.png?flipx?saturation=-100?scale=1.25", "offset":[0,2.875], "focalPoint":[0.0,1.25], "transformationGroups":["weapon"]}}, "butt":{"properties":{"zLevel":2, "centered":true, "image":"/objects/arttrophies/goldenegg/goldenegg.png?flipxy", "offset":[0,-1], "transformationGroups":["weapon"], "rotationCenter":[0,0]}}, "swoosh":{"partStates":{"swoosh":{"fire":{"properties":{"image":"/items/active/weapons/melee/hammer/swoosh/physicalswoosh.png:<frame>?hueshift=-140", "offset":[0,2.5], "damageArea":[[-3.5,2], [-2.5,3], [1,3], [3,1.75], [4,-0.25], [4,-2.25], [3,-3.25], [0,-2.5]]}}}}}, "chargeEffect":{"properties":{"zLevel":4, "fullbright":true, "centered":true, "offset":[-0.0625,2.0625], "transformationGroups":["weapon"]}, "partStates":{"charge":{"charge":{"properties":{"image":"/items/active/weapons/staff/generated/glow/poison.png:charging.<frame>?replace;e3f4b7=ffedad;bcd773=fcd54e;869e45=b97c01"}}, "spark":{"properties":{"image":"/items/active/weapons/staff/generated/glow/poison.png:spark.<frame>?replace;e3f4b7=ffedad;bcd773=fcd54e;869e45=b97c01"}}, "charged":{"properties":{"image":"/items/active/weapons/staff/generated/glow/poison.png:loop.<frame>?replace;e3f4b7=ffedad;bcd773=fcd54e;869e45=b97c01"}}, "discharge":{"properties":{"image":"/items/active/weapons/staff/generated/glow/poison.png:discharge.<frame>?replace;e3f4b7=ffedad;bcd773=fcd54e;869e45=b97c01"}}}}}}}, "lights":{"glow":{"active":true, "position":[0,3.0], "color":[50,50,50], "transformationGroups":["weapon"]}}, "particleEmitters":{"fireswoosh":{"emissionRate":0, "burstCount":0, "particles":[]}, "firecharge":{"active":false, "transformationGroups":["weapon"], "emissionRate":10, "offsetRegion":[-0.5,2.0,0.5,3.5], "particles":[{"particle":"lighttrail"}, {"particle":"lighttrail"}, {"particle":"lighttrail"}]}}, "sounds":{"firecharge":["/sfx/melee/charge_up8.ogg"], "firefullcharge":["/sfx/melee/elemental_aura_activate.ogg"], "firechargedloop":["/sfx/melee/charge_full_hold2.ogg"], "firedischarge":["/sfx/melee/elemental_aura_deactivate1.ogg"], "fireactivate":["/sfx/melee/charge_full_swing1.ogg"]}}, "inventoryIcon":[{"image":"/items/active/weapons/melee/shortsword/handle/9.png?replace;60b9ff=fff48f;2992bc=e2af20;0964a0=b97c01", "position":[1.5,31]}, {"image":"/projectiles/uniquemonster/orbideball/orbideball.png?flipx?saturation=-100?scale=1.25", "position":[1,8]}, {"image":"/items/active/weapons/melee/hammer/handle/28.png?replace;e9e9e9=fff48f;b1b1b1=ffd84d;676767=b97c01", "position":[0,0]}, {"image":"/objects/arttrophies/goldenegg/goldenegg.png?flipxy", "position":[1,-25]}, {"image":"/items/active/weapons/melee/broadsword/handle/15.png?replace;e9e9e9=e9e9e900;b1b1b1=b1b1b100;676767=67676700;555555=55555500;383838=38383800;151515=15151500;60b9ff=60b9ff00;2992bc=2992bc00;0964a0=0964a000;ff7060=ffd84d;e5323b=e2af20;890900=b97c01", "position":[1,17]}, {"image":"/items/active/weapons/wand/generated/handle/1.png?replace;e35f5d=fff48f;b22042=e2af20;871132=b97c01", "position":[0.5,22]}], "primaryAbilityType":"broadswordcombo", "primaryAbility":{"stances":{"idle":{"armRotation":-90, "weaponRotation":0}, "windup1":{"duration":0.1, "armRotation":90, "weaponRotation":-10}, "preslash1":{"duration":0.025, "armRotation":55, "weaponRotation":-45}, "fire1":{"duration":0.15, "armRotation":-45, "weaponRotation":-55}}, "comboSteps":1, "fireTime":1.25, "damageConfig":{"damageSourceKind" : "hammer", "statusEffects":[{"effect":"coloryellow", "duration":10}, {"effect":"tarslow", "duration":10}, {"effect":"staffslow", "duration":10}]}}, "altAbilityType":"elementrain", "altAbility":{"projectileType":"fireelementcloud", "projectileParameters":{"processing":"?replace;e6e6e64d=e4b119bf;b5b5b54d=977510bf;8383834d=634c0bbf", "periodicActions":[{"time":0.2, "action":"loop", "count":5, "body":[{"action":"particle", "specification":{"type":"animated", "animation":"/animations/icecloudpuff/icecloudpuff.animation", "position":[0,0], "finalVelocity":[0,0], "approach":[3.5,3.5], "destructionAction":"fade", "destructionTime":0.85, "fade":1, "size":0.8, "layer":"middle", "timeToLive":0.45, "variance":{"size":0.3, "position":[2.3,1.0], "initialVelocity":[2.0,2.0]}}}, {"action":"particle", "specification":{"type":"animated", "animation":"/animations/sparkles/sparkle5.animation", "position":[0,0], "finalVelocity":[0,0], "approach":[1.0,1.0], "destructionAction":"fade", "destructionTime":0.35, "fade":1, "size":0.4, "layer":"back", "timeToLive":0.35, "variance":{"position":[3.0,1.0], "initialVelocity":[2.5,2.5]}}}]}, {"time":0.05, "repeat":true, "action":"projectile", "type":"yellowglobeexplosion", "inheritDamageFactor":0, "fuzzAngle":360, "config":{"processing":"?0", "speed":10, "bounces":0, "timeToLive":0.1, "actionOnReap":[{"action":"applySurfaceMod", "newMod":"gold", "radius":1}]}}, {"time":0.2, "repeat":true, "action":"sound", "options":["/sfx/objects/coinstack_small1.ogg", "/sfx/objects/coinstack_small2.ogg", "/sfx/objects/coinstack_small3.ogg"]}], "timedActions":[{"delayTime":0.5, "loopTime":0.2, "loopTimeVariance":0.05, "action":"projectile", "type":"money", "config":{"damageKind":"breath"}, "inheritDamageFactor":0.15, "direction":[0,-1], "offsetRange":[-1.75,-0.5,1.75,-0.5]}, {"delayTime":0.6, "loopTime":0.2, "loopTimeVariance":0.05, "action":"projectile", "type":"money", "config":{"damageKind":"breath"}, "inheritDamageFactor":0.15, "direction":[0,-1], "offsetRange":[-1.75,-0.5,1.75,-0.5]}]}}, "stances":{"idle":{"armRotation":0, "weaponRotation":0, "weaponOffset":[0,0], "twoHanded":false, "allowRotate":false, "allowFlip":true}, "charge":{"duration":1.4, "armRotation":20, "weaponRotation":-20, "weaponOffset":[0,0], "twoHanded":true, "allowRotate":false, "allowFlip":true}, "charged":{"armRotation":20, "weaponRotation":-20, "weaponOffset":[0,0], "twoHanded":true, "allowRotate":false, "allowFlip":true}, "discharge":{"duration":0.5, "armRotation":-10, "weaponRotation":-50, "twoHanded":true, "allowRotate":true, "allowFlip":true}, "cooldown":{"duration":0.5, "armRotation":-45, "weaponRotation":0, "weaponOffset":[0,0], "twoHanded":true, "allowRotate":false, "allowFlip":true}}}'
1 note
·
View note
Text
LISTEN AGAIN | Soul-Identity Radio Show – Friday 24 March 2017
Weekly Fridays 5pm-7pm (GMT) on Likwid London (http://www.likwid.london). Soul-Identity Music.
We kick off your weekend in style this week as we ease you into Friday evening with new sounds from 79.5, Onra, Hector Plimmer and Steve Lacy to name a few. Elsewhere, there’s killer jazz from Henry Wu and Gerardo Frisina, a touch of broken beat from Nubian Mindz and Inverse Cinematics, and a whole heap of underground house from the likes of Jovonn, Ron Trent, Isolée and Alton Miller.
Originally aired Friday 24th March 2017.
TRACKLIST
1. Brian Owens & The Deacons of Soul – Prayers for My Children (Nia Music) 2. 79.5 – Terrorize My Heart Pt 1 & 2 (Big Crown) 3. Kiefer – Evil Eye (feat Castelluzzo) (Leaving Records) 4. Onra – Autumn Moon Shining Over The Calm Lake (All City Records) 5. Hector Plimmer – Kalimba (Albert’s Favourites) 6. Vibration Black Finger – Sawalha (Enid Records) 7. Henry Wu – Boards and Skins (Eglo Records) 8. Gerardo Frisina – Blue Latin (Schema Records) 9. DR.MAD & ZéFIRE – Alicia Sky (Self Released) 10. Oddisee – This Girl I know (Mello Music Group) 11. Otis Junior & Dr Dundiff – Let It Go (Jakarta Records) 12. Steve Lacy – Looks (Three Quarter) 13. The PLAYlist featuring Glenn Lewis – 1995 (Playlist Music) 14. Omar – Doobie Doobie Doo (Freestyle Records) 15. Spank – Love Sample (Ropeadope Records) 16. LeLe Patrice – Testify (Madison Music Group) 17. Maleke O’Ney – Pentecostal Girl (Dreamcatcher’s Guild)
18. Nital Hershkovits – My Turn (feat Kurt Rosenwinkel) (Raw Tapes Records) 19. Nubian Mindz – Black Science (Restless Soul Looptime Mix) (Archive) 20. Inverse Cinematics – Detroit Jazzin’ (Pulver Records) 21. Cotonete – Inside Outside (Phil Asher Restless Soul Fun Band Mix) (Heaveny Sweetness) 22. Deep Tenor City & DJ Romain – Henderson’s Groove (Deep Tenor City’s Inspirational Mix) (BBE Records) 23. Jovonn – Jus Luv (Clone Classic Cuts) 24. Ron Trent – I Feel The Rhythm (Rush Hour) 25. Soulphiction – Blues Theory (Churchapella) (Philpot) 26. Isolée – Mangroove (Maeve) 27. Josh Milan – I WIll Wait (Honeycomb Vocal Mix) (Honeycomb Music) 28. Alton Miller – Rise (Alton’s Funk Lab Mix) (feat Rachel Claudio) (Fatsouls Records)
LISTEN AGAIN
LISTEN AGAIN | Soul-Identity Radio Show – Friday 24 March 2017 was originally published on Soul-Identity Music
0 notes
Text
STEP 5
Play with the controller update rates, and with introducing delays. Hint: use the “looptime” parameter. How does this change the system? What happens if you sample faster or slower? What happens if it’s random (this would require some coding)?
An increase of the loop time (sampling) makes the system more responsive and eventually runs into the problems already described in this blog. For the first 3 steps of this lab, it was set at 1000. Higher values made the tuning more complicated. It was reduced to 500 for the path tracking program.
Finally, I have some insights to share about the Haply. I believe it is not a good device to test a PID controller, given its geometry and materials. Every time it runs into stability issues and vibrations escalate, we are creating internal micro-fractures inside the arms and linkages, that eventually will lead to failure. Overall, I was a little hesitant about playing too much with the PID parameters for this lab, as I did not want to potentially damage or break apart the Haply. We need it for the final project.
0 notes
Photo

🌿1. Folgt den: @princessmelimel @elisa_naselli Unbekannter Mann (Mr.MIB) 🌿2. Folge unserer Loop Seite @love.for.follow 🌿3. Abboniere die gesamte rechte Spalte! 🌿4. Kommentiere dieses Bild mit einem Herz (🤍)! 🌿5. Wenn du fertig bist, sende unserer Seite ein Screenshot/video von deinen follows Wir posten dich in unserer Story📬 #loop #love #mehrreichweite #followforfollow #zusammenwachsen #beautiful #follow #growtogether #looptime #photooftheday #ınstagood #network #buisness #instaverbindet #bloggerloop #influencers #supportsmallbusiness #support #beauty #cute #liketime #reichweitesteigern #reichweite #mama #mamablogger_de #loveforfollow #looplove #instainspo #flowers #happy https://www.instagram.com/p/CWVDwsMMT3N/?utm_medium=tumblr
#loop#love#mehrreichweite#followforfollow#zusammenwachsen#beautiful#follow#growtogether#looptime#photooftheday#ınstagood#network#buisness#instaverbindet#bloggerloop#influencers#supportsmallbusiness#support#beauty#cute#liketime#reichweitesteigern#reichweite#mama#mamablogger_de#loveforfollow#looplove#instainspo#flowers#happy
0 notes