Skip to content

Commit

Permalink
Merge pull request #5 from yikuansun/fading
Browse files Browse the repository at this point in the history
Fading
  • Loading branch information
yikuansun authored Apr 6, 2023
2 parents 6039469 + 948f750 commit fe23315
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
8 changes: 6 additions & 2 deletions code.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ var draw = function(
snapinterval=1,
gravityangle=0,
gravityamount=0,
massVariance=1,
fading=0,
) {
ctx.restore();
ctx.save();
Expand Down Expand Up @@ -61,8 +63,9 @@ var draw = function(
}

// gravity
x_offset += Math.cos(gravityangle * Math.PI / 180) * (i * gravityamount);
y_offset += Math.sin(gravityangle * Math.PI / 180) * (i * gravityamount);
var pMass = 0.5 + massVariance * getRandom(rng);
x_offset += Math.cos(gravityangle * Math.PI / 180) * (pMass * gravityamount);
y_offset += Math.sin(gravityangle * Math.PI / 180) * (pMass * gravityamount);

particle.x += x_offset; particle.y += y_offset;
var scaling = getRandom(rng) * scalevariance;
Expand All @@ -73,6 +76,7 @@ var draw = function(
particle.angle += rotation;

particle.opacity = og_opacity + getRandom(rng) * opacityvariance;
particle.opacity -= fading * pMass;
if (particle.opacity < 0) particle.opacity = 0;

ctx.translate(particle.x, particle.y);
Expand Down
18 changes: 16 additions & 2 deletions gui.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ var duplicatesInputs = ygui.buildGUIsection([
label: "Seed",
id: "seed",
type: "number",
attr: { value: "12321" }
attr: { value: "12345" }
}
], document.querySelector("#duplicates-section"));
var forcesInputs = ygui.buildGUIsection([
Expand All @@ -91,14 +91,26 @@ var forcesInputs = ygui.buildGUIsection([
label: "Gravity Direction",
id: "gravityangle",
type: "number",
attr: { min: 0, max: 360, value: 0 }
attr: { min: 0, max: 360, value: 90 }
},
{
label: "Gravity Amount",
id: "gravityamount",
type: "number",
attr: { min: 0, value: 0 }
},
{
label: "Mass Variance",
id: "massVariance",
type: "number",
attr: { min: 0, max: 1, value: 0.5, step: 0.01 }
},
{
label: "Fading",
id: "fading",
type: "number",
attr: { min: 0, value: 0, step: 0.01 }
},
], document.querySelector("#forces-section"));

var drawFromInputs = function() {
Expand All @@ -120,6 +132,8 @@ var drawFromInputs = function() {
snapinterval=parseFloat(document.getElementById("snapinterval").value),
gravityangle=parseFloat(document.getElementById("gravityangle").value),
gravityamount=parseFloat(document.getElementById("gravityamount").value),
massVariance=parseFloat(document.getElementById("massVariance").value),
fading=parseFloat(document.getElementById("fading").value),
);
};

Expand Down

0 comments on commit fe23315

Please sign in to comment.