[x3d-public] Visualizing Math in X3D

John Carlson yottzumm at gmail.com
Tue Jun 9 11:05:06 PDT 2020


So can I use an HAnimDisplacer to animate displacements in r on a
GeoElevationGrid on each lat,lon point?

I’ll probably look into it.

John

On Tue, Jun 9, 2020 at 1:01 PM John Carlson <yottzumm at gmail.com> wrote:

> Yeah, painful.
>
> John
>
> On Tue, Jun 9, 2020 at 12:56 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Yes, something with GeoElevationGrid might solve my puzzle.   I am not
>> sure I want to see Earth transformed in that way,  but perhaps I could do
>> molten silicon (glass) cooling.
>>
>> Thanks for the tip!   I do not currently know the multiplier on my
>> equation to get something visible.
>>
>> John
>>
>>
>> On Tue, Jun 9, 2020 at 10:13 AM Joseph D Williams <joedwil at earthlink.net>
>> wrote:
>>
>>> So, mainly, for vizualization and interaction geometry you are going to
>>> finally use xyz coordinates in a 3D linear coordinate system to make a
>>> triangle that you can see and interact with. Unless there is a new magic
>>> then it boils down to that. It glows or reflects or refracts depending upon
>>> what you tell it to do with the light you shine on it. It can respond to
>>> external or internal events as you choose. So far, you can compute however
>>> you can but to viz you seem to need at least one and typically in groups of
>>> 3 ccw to make a viz. So that is a pattern, compute bunches of stuff and
>>> produce interactive xyz viz for the feelings and wisdom then update the
>>> compute stuff, and so on.
>>>
>>>
>>>
>>> Use the idea of a animating one of more xyz of a mesh independently of
>>> other xyz in the mesh.  The mesh needs to be able to hang together given
>>> what you wish to do. If each displacement is fairly predicable and linear
>>> weighting then you can use the idea of a 3D weighted displacement vector
>>> applied independently to each of your points of interest. Each vector can
>>> be pointed where you wish and scaled 0 to full effect (all changeable at
>>> your will) to act upon the chosen points of your chosen mesh in the
>>> coordinate system of the mesh.
>>>
>>>
>>>
>>>    - spherical coordinates
>>>
>>>
>>>
>>> I remember info about that in GeoSpatial
>>>
>>> This sort of specialized Displacer is included in hanim browsers mainly
>>> to simplify and augment subtle mesh animation along with others styles,
>>> like using weighted joint rotations and coordinate interpolators. Basically
>>> if you know or have access to the current coordinates of a point and you
>>> want to move it in a controlled way according to the 3D displacement vector
>>> produced by the node, while maintaining the mesh, then I think we can
>>> figure out how use this clever device. to fabricate a controllable 3D
>>> displacement vector to do the job.
>>>
>>>
>>>
>>> As an Enthusiast,
>>>
>>> Joe
>>>
>>>
>>>
>>>
>>>
>>> *From: *John Carlson <yottzumm at gmail.com>
>>> *Sent: *Monday, June 8, 2020 8:38 PM
>>> *To: *Joseph D Williams <joedwil at earthlink.net>
>>> *Cc: *Humanoid Animation (H-Anim) Working Group <h-anim at web3d.org>; X3D
>>> Graphics public mailing list <x3d-public at web3d.org>
>>> *Subject: *Re: [x3d-public] Visualizing Math in X3D
>>>
>>>
>>>
>>>
>>>
>>> I appreciate your enthusiasm for displaced.   How do I displace r in
>>> spherical coordinates?
>>>
>>>
>>>
>>> Thanks!
>>>
>>>
>>>
>>> John
>>>
>>>
>>>
>>> On Mon, Jun 8, 2020 at 7:52 PM Joseph D Williams <joedwil at earthlink.net>
>>> wrote:
>>>
>>> See, you give it a displacement vector from initial or, if other point
>>> animations in the same frame then the location set by prior animation
>>> process such as other Displacers or joint rotation driven mesh deformation,
>>> according to the weight input. At least that’s the way I heard it. More in
>>> the standard.
>>>
>>>
>>>
>>> You might think this might be a simple tool like first you get a shape
>>> as reference then another shape as target, then just give those start and
>>> stop frames to the interpolator and let it sort out the points between as
>>> you command it.
>>>
>>>
>>>
>>> Just like that name says, you name some vertices in the target geometery
>>> and give it a final displacement from wherever it was to how far you tell
>>> it to be from where it got started. The only problem is, the node is simple
>>> and so it is only linear overall, but you can drive 0 to 1 however you wish.
>>>
>>> Also, you can chain a few to get some special more delicate
>>> displacements.
>>>
>>> Example:
>>>
>>> Your point 527 of the target geometry (in the order of appearance in the
>>> user code) starts at 0 1.77 0 and over some cycle you want to move it to 0
>>> 1.92 0 then the displacer value for max movement is 0 0.15 0.
>>>
>>> initial   0 1.77 0
>>>
>>> displacer 0 0.15 0
>>>
>>> result    0 1.92 0
>>>
>>> Simple but very effective if you have a plan for what you wish to do
>>> given some input.
>>>
>>>
>>>
>>> <Displacer DEF='tipTest'
>>>
>>> coordIndex='527' displacements='0 0.15 0' weight='0'/>
>>>
>>> weight driven by
>>>
>>> <ScalarInterpolator DEF='tipTest'
>>>
>>> key='0 0.5 1' keyValue='0 0.3 1'/>
>>>
>>>
>>>
>>> If you have a deformable mesh, then all is good. But wait, you only get
>>> that by name in x3d hanim.
>>>
>>> Shouldn’t there be some in basic x3d so you don’t have to put your code
>>> n the Humanoid?
>>>
>>>
>>>
>>> So, maybe that is why our x3d hanim Displacer is so special and not
>>> called a ‘morpher’ doing one set of coordinates to another, but instead,
>>> where, relative to what it got, what do at you want to happen to that
>>> vertex when this Displacer gives it the drive.
>>>
>>>
>>>
>>> Isn’t that also why all the ‘simple’ morphers  like between frames and
>>> others are hidden in plain sight in the different styles of x3d
>>> interpolators? Each of their stories should be told, also.
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Joe
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *From: *Joseph D Williams <joedwil at earthlink.net>
>>> *Sent: *Monday, June 8, 2020 1:50 PM
>>> *To: *John Carlson <yottzumm at gmail.com>
>>> *Cc: *X3D Graphics public mailing list <x3d-public at web3d.org>
>>> *Subject: *Re: [x3d-public] Visualizing Math in X3D
>>>
>>>
>>>
>>>    - Limited to [0,1]?  I’ll check the docs.
>>>
>>>
>>>
>>> Yes, that is the scale input. From the initial position, theDisplacer
>>> moves the specified vertex according to the 100 percent displacement set in
>>> the values.
>>>
>>> Joe
>>>
>>>
>>>
>>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for
>>> Windows 10
>>>
>>>
>>>
>>> *From: *John Carlson <yottzumm at gmail.com>
>>> *Sent: *Sunday, June 7, 2020 1:14 PM
>>> *To: *Joseph D Williams <joedwil at earthlink.net>
>>> *Cc: *X3D Graphics public mailing list <x3d-public at web3d.org>
>>> *Subject: *Re: [x3d-public] Visualizing Math in X3D
>>>
>>>
>>>
>>> Limited to [0,1]?  I’ll check the docs.
>>>
>>>
>>>
>>> On Sun, Jun 7, 2020 at 3:10 PM John Carlson <yottzumm at gmail.com> wrote:
>>>
>>> Not trying to change the number of points yet. Thanks for the info.
>>>
>>>
>>>
>>> On Sun, Jun 7, 2020 at 7:56 AM Joseph D Williams <joedwil at earthlink.net>
>>> wrote:
>>>
>>> ·        What people don’t understand is I’m moving every vertex in the
>>> mesh
>>>
>>>
>>>
>>> Hey John, vrml and x3d hid that one in the hanim Displacer node.
>>>
>>> If you can’t do a morph you need with that, please tell. Just don’t try
>>> to change the number of points.
>>>
>>> Joe
>>>
>>>
>>>
>>>
>>>
>>> *From: *John Carlson <yottzumm at gmail.com>
>>> *Sent: *Sunday, June 7, 2020 12:55 AM
>>> *To: *X3D Graphics public mailing list <x3d-public at web3d.org>
>>> *Subject: *[x3d-public] Visualizing Math in X3D
>>>
>>>
>>>
>>> Don, I am just trying to make the standard better for visualizing
>>> mathematical stuff,   I pretty much majored in mathematical visualization
>>> in college.   There’s a lot of stuff in the standard for visualizing
>>> physics, both rigid body and particle systems.   Instead of applying math
>>> to physics, I am trying to apply physics to math.
>>>
>>>
>>>
>>> I realize that visualizing math does not really have a vocal champion in
>>> the X3D community, perhaps Andy Yeh is still around.
>>>
>>>
>>>
>>> I imagine because Mathematica made great strides in the math community.
>>>
>>>
>>>
>>> Mathematica still requires a Pro edition running on the cloud to even
>>> attempt my surfaces.   In X3D, they pop right up, even multiple
>>> “transparent” animated objects. Yay X3D!
>>>
>>>
>>>
>>> PlayCanvas has a *very* slow start up compared to X3D.
>>>
>>>
>>>
>>> I would like to continue using X3D over PlayCanvas and others.  The key
>>> remains don’t use the network for mesh, positions, or normals, generate
>>> them on the web client.   My knowledge of geometry shaders indicates I
>>> still need to compute a grid on a sphere, and the geometry shader can
>>> enhance that.
>>>
>>>
>>>
>>> That is why I am seeking to have the browser generate the mesh for at
>>> least one topology, let’s call it a sphere, but it’s the topology of the
>>> equation that matters.   I can already position and compute normals of the
>>> surfaces.  I could probably compute a mesh as sphere topology in an
>>> initialize method if that’s still allowed.  I am not sure about X_ITE.   I
>>> do not want to generate coordinates in X3D nodes.   Shaders are fine for
>>> that.   I am not sure I can confidently generate a mesh without defects.
>>>
>>>
>>>
>>> Low bandwidth (think 4G LTE) is preferred.
>>>
>>>
>>>
>>> But you can see my Frustration compared to Mathematica users who just
>>> type in a small set of equations.  Not my lucky day.
>>>
>>>
>>>
>>> I do not want geometry or perfect math in X3D.   I want a topological
>>> 0-hole enclosed surface, subdivided to adequate resolution.
>>>
>>>
>>>
>>> I will look further into primitive quality.
>>>
>>>
>>>
>>> I will see if my graphics card supports raytracing.
>>>
>>>
>>>
>>> John
>>>
>>>
>>>
>>> On Sun, Jun 7, 2020 at 1:37 AM John Carlson <yottzumm at gmail.com> wrote:
>>>
>>> Here’s the best looking version of what I like to do:
>>>
>>>
>>>
>>> https://playcanv.as/p/wQgQBgkE/
>>>
>>>
>>>
>>> Ideally, I could send a math equation in MathML by putting MathML into
>>> the geometry node, and PBR or material like glass or diamond
>>>
>>>
>>>
>>>
>>>
>>> On Sun, Jun 7, 2020 at 1:22 AM John Carlson <yottzumm at gmail.com> wrote:
>>>
>>> Previous subject:  morphing comparison in X3D and glTF:
>>>
>>>
>>>
>>>
>>>
>>> http://web3d.org/pipermail/x3d-public_web3d.org/2017-December/008037.html
>>>
>>>
>>>
>>> I would say morphing is doable in X3DOM, but perhaps not other browsers.
>>>   The most conformant approach would probably be an IFS where the position
>>> and normal are computed in a shader and the mesh is computed in user code,
>>> or provided statically.
>>>
>>>
>>>
>>> My question becomes,  Why can’t we provide at least provide for common
>>> topologies?  1 surface and 0 edges (sphere), 2 surface (cone), 3 surface
>>> (cylinder), 1 surface and one hole(torus), and consider a higher number of
>>> holes and surfaces.   I think we have a isocahedron at least...but very
>>> slow to open.
>>>
>>>
>>>
>>> It seems like I should be using blender to create X3D.
>>>
>>>
>>>
>>> John
>>>
>>>
>>>
>>> On Sun, Jun 7, 2020 at 12:33 AM John Carlson <yottzumm at gmail.com> wrote:
>>>
>>> What people don’t understand is I’m moving every vertex in the mesh with
>>> respect to the mesh.   Kind of like particle physics or morphing would be a
>>> better description.   I have example videos.
>>>
>>>
>>>
>>> John
>>>
>>>
>>>
>>> On Sat, Jun 6, 2020 at 11:01 PM J. Scheurich <mufti11 at web.de> wrote:
>>>
>>>
>>> > 1.  User provides a mesh. I have done this before.  It is too slow for
>>> > a 100x100 IFS (20000 polygons I think).
>>> It depend on your graphics card and driver.
>>> For the rasberry PI and some other systems i meshured the performace in
>>> 3000 Polygon-Steps
>>> (1 NURBS-Object with uv/Tessellation 0)
>>>
>>> https://wdune.ourproject.org/docs/usage_docs/white_dune_rasberry_pi.odp
>>>
>>> (in german but page 5 is a readable table).
>>> A raspberry PI (shared Memory graphics card) can do 30000 polygons, a
>>> Intel HD 3000 shared
>>> memory graphics card (this is a common card on older "office"-laptops)
>>> can do 33000 polygons.
>>> There are very much faster graphic cards on "game laptops"....
>>> The fastest graphics card on this list is a very slow (processor)
>>> Mac-book....
>>>
>>> The only systems that are not able to do 20000 polygons are a 8 year old
>>> netbook and a
>>> ARM chromebook without a 3D driver.
>>>
>>> so long
>>> MUFTI
>>>
>>> _______________________________________________
>>> x3d-public mailing list
>>> x3d-public at web3d.org
>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200609/e8641518/attachment-0001.html>


More information about the x3d-public mailing list