Comments (2)
@postspectacular i agree and see that in updated docs. Thanks
from umbrella.
This is actually expected and documented behavior: When the first argument is null
, this function (and others) will mutate the 2nd arg, thus allowing the same functions to control where results should be written to and to be used for both in-place manipulation or immutable ops. Also see remarks in the mix()
documentation.
This same convention also applies to (and stems from) most of the 900+ vector & matrix operations in the thi.ng/vectors & thi.ng/matrices packages. You can find more examples in those readme & docs too.
If you want to create a number of new, independent color objects for your mix
results, then the following would work (use of transducers package is optional, but useful):
import { map, normRange } from "@thi.ng/transducers"
const gradient = [...map((t) => mix(hsv(), col1, col2, t), normRange(4))];
gradient.map((x) => css(x))
// [
// 'hsl(0.000,0.000%,100.000%)',
// 'hsl(36.000,100.000%,87.500%)',
// 'hsl(72.000,100.000%,75.000%)',
// 'hsl(108.000,100.000%,62.500%)',
// 'hsl(144.000,100.000%,50.000%)'
// ]
If you don't know the color type/space of the input colors, you can derive a new matching color object from one of the inputs, e.g. mix(col1.empty(), col1, col2, 0.5)
or mix(col1.copy(), ...)
from umbrella.
Related Issues (20)
- [shader-ast] Dependency for ternary operators, while and for loop HOT 1
- [shader-ast] Array texture types are missing HOT 1
- [shader-ast] Missing matrix types HOT 1
- [shader-ast] Better design for `defn` with anonymous qualified arguments HOT 7
- [malloc] Multi-threaded allocations HOT 4
- Prototype Pollution vulnerability affecting @thi.ng/paths, versions <=5.1.62 HOT 7
- [hiccup-canvas] "packedPolyline" needs separate implementation or packedPoly needs to accept stride options?
- [color] ? [binary] Comparison with -0 using the "===" operator will also match 0 [equals-negative-zero] HOT 2
- RDMS based on rstream-query HOT 1
- [examples] Issue running the examples (failed to resolve entry for package) HOT 3
- [hiccup-svg] hiccup-svg's attributes don't seem to handle rstream HOT 7
- [rstream] error when using skypack build HOT 5
- [geom-accel] SpatialGrid2 hangs runtime when using `set` method HOT 3
- Polygons with holes? HOT 8
- [shader-ast] "Building a shader graph editor (WebGL, shader AST transpiler, UI)" HOT 2
- [rdom] Issue understanding $klist HOT 4
- [geom] update polymorphic function signatures to provide better return types
- [atom & rstream] Asking for advice on good practices
- [rdom] SVG el add class > Uncaught (in promise) TypeError HOT 1
- [rdom] Error: illegal state: operation not allowed in state 3 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from umbrella.