Laser Cut Record (3 / 7 steg)
Steg 3: Sinus tester
Här är bearbetning koden jag använde:
sine test med bearbetning
import processing.pdf.*;
int scaleNum = 72. //scale faktor av vektorer (standard 72 dpi)
float theta; //angle variabel
flyta thetaIter = 88200; //how många värden av theta per cykel
float radie; //variable att beräkna radien av spår
float diameter = 11.8;//diameter av post i tum
flyta innerHole = 0.286;//diameter av centrumhål i tum
flyta innerRad = 2.2;//radius innersta groovein inches
flyta outerRad = 5.75;//radius av yttersta groove i tum
lagring för en given punkt i spåret
float radCalc;
float xVal;
float yVal;
float dpi = 1200; //dpi Cutter
float minDist = 4.0;//min pixel avstånd mellan punkter i vektorbana (att förhindra cutter flippar ut) 0.25919998
flyta xValLast = 0,0;
flyta yValLast = 0,0;
parametrar för att testa
flyta amplitud [] = {4,6,8}; //in pixlar
int frekvens [] = {2000,1000,500,250}; //cycles per rotation
void setup() {
size(12*scaleNum,12*scaleNum);
beginRecord (PDF,"test1.pdf"); //save som PDF
bakgrund (255); //white bakgrund
noFill (); //don't fyllning loopar
strokeWeight (0,001); //hairline bredd
Rita sinusvågor
flyta incrNum = TWO_PI/thetaIter; //calculcate inrementation belopp
radie = outerRad * scaleNum; //calculate yttersta radie (på 5,75")
skalan pixel avstånd
för (byte jag = 0; jag < 3; i ++) {
amplitud [i] = amplituden [i] / dpi * scaleNum;
}
minDist = minDist/dpi * scaleNum;
stroke (255,0,0), //red
för (byte frequencyi = 0; frequencyi < 4; frequencyi ++) {//four sine frekvenser
för (byte amplitudei = 0; amplitudei < 3; amplitudei ++) {//three groove laterala amplituder
för (byte kopior = 0; kopior < 1; kopior ++) {//two kopior
beginShape();
int numpoints = 0;
för (theta = 0; theta < TWO_PI; theta += incrNum) {//for theta mellan 0 och 2pi
beräkna ny punkt
radCalc = radius+amplitude[amplitudei]*sin(frequency[frequencyi]*theta);
xVal = width/2+radCalc*cos(theta);
yVal = height/2+radCalc*sin(theta);
IF(((xValLast-xVal)*(xValLast-xVal)+(yValLast-yVal)*(yValLast-yVal)) >(minDist*minDist)) || (theta==0)) {
vertex(xVal,yVal);
lagra senaste koordinater i vektorbana
xValLast = xVal;
yValLast = yVal;
numpoints ++;
}
}
endShape(CLOSE);
println(numpoints);
radie-= 2*amplitude[amplitudei]+0.02*scaleNum;//separate varje kopiera
}
RADIUS--= 0,02 * scaleNum;
}
RADIUS--= 0,01 * scaleNum;
}
Rita skära linjer (100 enheter = 1")
stroke (0), //draw i svart
ellips (bredd/2, höjd/2, innerHole * scaleNum, innerHole * scaleNum); //0.286 "centrumhål
ellips (bredd/2, höjd/2, diameter * scaleNum, diameter * scaleNum); //12 "diameter ytterkanten
endRecord();
Exit();
berätta för mig när det är över
println("finished.");
}
och här är en video av resultaten:
(139hz sinusvåg kan vara för låg för att höra med laptop högtalare)
Jag var riktigt nöjd med dessa första tester. Dessa är några brus i bakgrunden, men det är mycket konsekvent och signal-brus-förhållande är ganska bra. Amplituderna för 4 och 6 låter bra över frekvenserna testade här, som frekvensen blir högre, kan du höra en bra mängd snedvridning på amplituden 8 våg.
Olika lasrar och märken av laserskärare kommer att svara annorlunda, men detta rekord sänktes 5000 freq med 100 hastighet (även om spetthylsan rörde sig mycket långsamt på grund av tätheten av punkter på min vektorbana) och 12 power (nog etch ytan men inte skära hela vägen igenom).