Примечание: я совсем не знаком с тензорами или пакетом, который вы используете, поэтому я понятия не имею, есть ли способ сделать то, что вы хотите, со строками.
Несмотря на это, я думаю, что у меня есть исправление (при условии, что вы на самом деле работаете с массивами чисел, в которых сохранены строки).
Сначала измените массив строк на массив с плавающей точкой, используя метод parseFloat
var array1 = ['1.0', '2.0', '3.0'],
array2 = ['10.0', '20.0', '30.0'],
array3 = ['8.0', '7.0', '5.0'],
array4 = ['3.0', '11.0', '23.0'],
newArray1 = [],
newArray2 = [],
newArray3 = [],
newArray4 = [];
for (var i=0; i<array1.length; i++) {
newArray1[i] = parseFloat(array1[i]);
newArray2[i] = parseFloat(array2[i]);
newArray3[i] = parseFloat(array3[i]);
newArray4[i] = parseFloat(array4[i]);
}
//This is assuming the arrays are always the same length.
//If they aren't, then you will have to make a separate for loop for each array.
Теперь ваш код должен работать:
var c = tf.tensor2d([newArray1, newArray2]);
var d = tf.tensor2d([newArray3, newArray4]);
var c_concat_d = c.concat(d, 1);
Это не моя область исследования, но я полагаю, что это считают канонической работой:
Жидкое моделирование для компьютерной графики
http://www.akpeters.com/product.asp?ProdCode=3260
Кроме того, посмотрите на Berkeley Animation and Modeling Group
http://www.cs.berkeley.edu/b-cam/
Я также рекомендую инструмент как Google Scholar или Citeseer и persue академическая литература.
Этот также может представлять интерес ( демонстрационный видеоролик , демонстрационный двоичный файл , исходный код ).
Работа Ron Fedkiw является довольно ошеломляющей в этой области.
Еще один комментарий: Жидкие моделирования являются материалом числового параллельного программирования и суперкомпьютеров, или по крайней мере, высокая мощность, многоядерные рабочие столы. IPhone, вероятно, не сократит его.
Интересно, думаете ли Вы о чем-то как Меркурий Archer Maclean или Mercury Meltdown для PSP.
Методы решетки-Boltzmann являются довольно распространенным способом моделировать жидкость дискретизированным, сотовым подобным автомату способом.
Однако ради оперативной производительности на iPhone, может быть более эффективно моделировать жидкость как систему частиц и затем разработать способ представить частицы как объемную массу. Я подозреваю, что это - подход, проявленный играми как Лес Воды.
Насколько я знаю в игре De Blob, цветной "блоб" перемещает белую среду, окрашивая объекты, в которые это врезается. Это было так или иначе инициировано в моем уме, когда я прочитал Ваше описание того, что Вы, кажется, хотите сделать. (На самом деле не играли в игру, таким образом, я понятия не имею, как хорошо, что соответствие.)
Однако я, кажется, вспоминаю, что текучесть блоба является главным образом искусственной в той игре: в основном быть сферой, некоторыми небольшими преобразованиями размера/формы ее, некоторыми сигналами движения и добавило "fuidy звуки", которые производят плееру впечатление, что что-то не совсем твердое является главным символом игры. Никакое фактическое программирование типа физики или моделирования было включено.
Походит на подходящий вариант для iPhone выполнимая часть программного обеспечения, этого. Это, возможно, было бы достаточно для Вас?
Probably a particle system is a good place to start. Along these lines you can look into SPH (smoothed particle hydrodynamics) as a somewhat more physical approach to fluid simulation that still relies on particles.
SPH с частицами, вероятно, является самым быстрым в освоении, имея фору в расширяемости до вязкоупругих и других материалов. Завтра я опубликую в своем блоге руководство, которое я писал последние несколько дней по этой самой теме. ( http://blog.brandonpelfrey.com )