Search in sources :

Example 1 with EdgeDirected

use of spacegraph.space2d.container.EdgeDirected in project narchy by automenta.

the class DynamicListSpace method show.

/**
 * displays in a window with default force-directed options
 */
@Deprecated
public SpaceGraphPhys3D show(int w, int h, boolean flat) {
    // new SpaceTransform<Term>() {
    // @Override
    // public void update(SpaceGraph<Term> g, AbstractSpace<Term, ?> src, float dt) {
    // float cDepth = -9f;
    // src.forEach(s -> {
    // ((SimpleSpatial)s).moveZ(
    // s.key.volume() * cDepth, 0.05f );
    // });
    // }
    // }
    // new Spiral()
    // //new FastOrganicLayout()
    AbstractSpace ss = flat ? with(new Flatten(0.25f, 0.25f)) : this;
    SpaceGraphPhys3D<X> s = new SpaceGraphPhys3D<>(ss);
    EdgeDirected fd = new EdgeDirected();
    s.dyn.addBroadConstraint(fd);
    fd.attraction.set(fd.attraction.get() * 8);
    // s.ortho(Vis.logConsole(nar, 90, 40, new FloatParam(0f)).opacity(0.25f));
    // Vis.conceptsWindow2D
    // .ortho(logConsole( n, 90, 40, new FloatParam(0f)).opacity(0.25f))
    s.camPos(0, 0, 90).show(w, h);
    return s;
}
Also used : AbstractSpace(spacegraph.space3d.AbstractSpace) Flatten(spacegraph.space2d.container.Flatten) SpaceGraphPhys3D(spacegraph.space3d.SpaceGraphPhys3D) EdgeDirected(spacegraph.space2d.container.EdgeDirected)

Example 2 with EdgeDirected

use of spacegraph.space2d.container.EdgeDirected in project narchy by automenta.

the class NAgentX method chart.

public static void chart(NAgent a) {
    NAR nar = a.nar();
    nar.runLater(() -> {
        SpaceGraph.window(grid(new AutoSurface(a), Vis.beliefCharts(nar.dur() * 64, a.actions.keySet(), a.nar()), new EmotionPlot(64, a), grid(// concept query box
        new TextEdit() {

            @Override
            protected void onKeyEnter() {
                String s = text();
                text("");
                try {
                    nar.conceptualize(s);
                } catch (Narsese.NarseseException e) {
                    e.printStackTrace();
                }
                Vis.conceptWindow(s, nar);
            }
        }.surface(), // new WindowButton("log", () -> Vis.logConsole(nar, 80, 25, new FloatParam(0f))),
        new PushButton("dump", () -> {
            try {
                nar.output(Files.createTempFile(a.toString(), "" + System.currentTimeMillis()).toFile(), false);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }), new PushButton("clear", () -> {
            nar.runLater(NAR::clear);
        }), new PushButton("prune", () -> {
            nar.runLater(() -> {
                DoubleHistogram i = new DoubleHistogram(2);
                nar.tasks(true, false, false, false).forEach(t -> i.recordValue(t.conf()));
                float confThresh = (float) i.getValueAtPercentile(25);
                nar.tasks(true, false, false, false).filter(t -> t.conf() < confThresh).forEach(Task::delete);
            });
        }), new WindowToggleButton("top", () -> new ConsoleTerminal(new nars.TextUI(nar).session(10f))), new WindowToggleButton("concept graph", () -> {
            DynamicConceptSpace sg;
            SpaceGraphPhys3D s = new SpaceGraphPhys3D<>(sg = new DynamicConceptSpace(nar, () -> nar.exe.active().iterator(), 128, 16));
            EdgeDirected fd = new EdgeDirected();
            s.dyn.addBroadConstraint(fd);
            fd.attraction.set(fd.attraction.get() * 8);
            s.add(new SubOrtho(// window(
            grid(new AutoSurface<>(fd), new AutoSurface<>(sg.vis))) {
            }.posWindow(0, 0, 1f, 0.2f));
            // ,  400, 400);
            // .pos(0, 0, 0.5f, 0.5f)
            s.camPos(0, 0, 90);
            return s;
        }), a instanceof NAgentX ? new WindowToggleButton("vision", () -> grid(((NAgentX) a).sensorCam.stream().map(cs -> new AspectAlign(new CameraSensorView(cs, a).withControls(), AspectAlign.Align.Center, cs.width, cs.height)).toArray(Surface[]::new))) : grid())), // 
        900, 600);
    });
}
Also used : Bitmap2DSensor(nars.util.signal.Bitmap2DSensor) IntConsumer(java.util.function.IntConsumer) AspectAlign(spacegraph.space2d.container.AspectAlign) Auvent(net.beadsproject.beads.core.Auvent) AutoSurface(spacegraph.space2d.widget.meta.AutoSurface) RealTime(nars.time.RealTime) nars.$.$$(nars.$.$$) DoubleHistogram(org.HdrHistogram.DoubleHistogram) SpaceGraphPhys3D(spacegraph.space3d.SpaceGraphPhys3D) Vis(nars.gui.Vis) Bitmap2D(jcog.signal.Bitmap2D) XoRoShiRo128PlusRandom(jcog.math.random.XoRoShiRo128PlusRandom) Term(nars.term.Term) nars.video(nars.video) ConsoleTerminal(spacegraph.space2d.widget.console.ConsoleTerminal) Loop(jcog.exe.Loop) UGen(net.beadsproject.beads.core.UGen) BufferedImage(java.awt.image.BufferedImage) Util(jcog.Util) FloatArrayList(org.eclipse.collections.impl.list.mutable.primitive.FloatArrayList) Nullable(org.jetbrains.annotations.Nullable) WaveFactory(net.beadsproject.beads.data.WaveFactory) WorkerMultiExec(nars.exe.WorkerMultiExec) SpaceGraph(spacegraph.SpaceGraph) EmotionPlot(nars.gui.EmotionPlot) Tense(nars.time.Tense) net.beadsproject.beads.ugens(net.beadsproject.beads.ugens) Focus(nars.exe.Focus) Surface(spacegraph.space2d.Surface) Function(java.util.function.Function) Supplier(java.util.function.Supplier) nars.$.$(nars.$.$) WindowToggleButton(spacegraph.space2d.widget.meta.WindowToggleButton) SubOrtho(spacegraph.space2d.hud.SubOrtho) Gridding.grid(spacegraph.space2d.container.Gridding.grid) EdgeDirected(spacegraph.space2d.container.EdgeDirected) FloatProcedure(org.eclipse.collections.api.block.procedure.primitive.FloatProcedure) Inperience(nars.op.mental.Inperience) Files(java.nio.file.Files) PushButton(spacegraph.space2d.widget.button.PushButton) DynamicConceptSpace(nars.gui.graph.DynamicConceptSpace) IOException(java.io.IOException) AudioContext(net.beadsproject.beads.core.AudioContext) IntObjectPair(org.eclipse.collections.api.tuple.primitive.IntObjectPair) java.awt(java.awt) TextEdit(spacegraph.space2d.widget.console.TextEdit) BELIEF(nars.Op.BELIEF) ConjClustering(nars.op.stm.ConjClustering) CaffeineIndex(nars.index.term.map.CaffeineIndex) DynamicConceptSpace(nars.gui.graph.DynamicConceptSpace) DoubleHistogram(org.HdrHistogram.DoubleHistogram) IOException(java.io.IOException) SpaceGraphPhys3D(spacegraph.space3d.SpaceGraphPhys3D) EdgeDirected(spacegraph.space2d.container.EdgeDirected) WindowToggleButton(spacegraph.space2d.widget.meta.WindowToggleButton) AspectAlign(spacegraph.space2d.container.AspectAlign) EmotionPlot(nars.gui.EmotionPlot) TextEdit(spacegraph.space2d.widget.console.TextEdit) AutoSurface(spacegraph.space2d.widget.meta.AutoSurface) ConsoleTerminal(spacegraph.space2d.widget.console.ConsoleTerminal) PushButton(spacegraph.space2d.widget.button.PushButton) SubOrtho(spacegraph.space2d.hud.SubOrtho)

Aggregations

EdgeDirected (spacegraph.space2d.container.EdgeDirected)2 SpaceGraphPhys3D (spacegraph.space3d.SpaceGraphPhys3D)2 java.awt (java.awt)1 BufferedImage (java.awt.image.BufferedImage)1 IOException (java.io.IOException)1 Files (java.nio.file.Files)1 Function (java.util.function.Function)1 IntConsumer (java.util.function.IntConsumer)1 Supplier (java.util.function.Supplier)1 Util (jcog.Util)1 Loop (jcog.exe.Loop)1 XoRoShiRo128PlusRandom (jcog.math.random.XoRoShiRo128PlusRandom)1 Bitmap2D (jcog.signal.Bitmap2D)1 nars.$.$ (nars.$.$)1 nars.$.$$ (nars.$.$$)1 BELIEF (nars.Op.BELIEF)1 Focus (nars.exe.Focus)1 WorkerMultiExec (nars.exe.WorkerMultiExec)1 EmotionPlot (nars.gui.EmotionPlot)1 Vis (nars.gui.Vis)1