<div dir="auto">I would prefer if the pseudorandom list of scaleKey values to be created as a particle system, similar to how WindPhysicsModel<span style="font-family:-apple-system,sans-serif"> works, rather than explicitly creating such values. Indeed, when I tried to create VariationalPhysicsModel, I used WindPhysicsModel as a basis.</span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif"><br></span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif">I don’t want to “swap out” Coordinate nodes, I want 6 separate VariationalPhysicsModels, or 6 scaleKey fields that are like particle systems.</span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif"><br></span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif">I realize I can use a script, but I really want to do this integrated with the GPU, because JavaScript computation of surface coordinates on the surface is way too slow. The 6 scale keys are key to generating the surface. If I have any hope of scaling this up to thousands of surfaces, it’s got to be on the GPU. That is, I’ve got to have any randomness ultimately on the GPU, or pseudorandom numbers streamed to the GPU.</span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif"><br></span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif">A whole another aspect is having the 6 scaleKey current values controlled by multiple users, but that’s a whole another project.</span></div><div dir="auto"><span style="font-family:-apple-system,sans-serif"><br></span></div><div dir="auto">John </div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, Nov 2, 2025 at 7:45 PM Don Brutzman via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>John, it is straightforward to generate a pseudorandom list of scale values using the <i>scale/scaleKey</i> field definitions that Holger has recommended.</div><div><ul><li>Create a Coordinate node that has a list of individual SFVec3f scale values in the MFVec3f Coordinate.points field. As Holger indicated, you can sample that using however many <i>scaleKey </i>intervals you want.</li><li>If one jittery Coordinate node isn't enough for you, you can generate more than one and swap them out.</li><li>Generation of such pseudorandom Coordinate nodes can be done programmatically at authoring time.</li><li>Generation of such pseudorandom Coordinate nodes can also be done at run time using a Script node.</li></ul><div>Hopefully the draft specification prose helps untangle this. The 3-tuple scale values go into the Coordinate node points field, and a scaleKey array lists corresponding time in seconds for each transition.</div><div><br></div><div>There is a lot of expressive power here. Have fun with X3D ParticleSet particle scaling! 😀</div></div></div></div><div dir="ltr"><div dir="ltr"><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div></div></div>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div></div>