替换列表中的项目

时间:2011-11-25 23:15:08

标签: replace wolfram-mathematica

在屏幕上的点上进行垂直反射对称,请考虑以下内容。

scrWidthCM=40

originals={{14.2065, 10.609, 0.974938}, {19.5653, 6.92721, 0.974938}, 
           {30.4607,17.4802, 0.974938}, {27.4621, 10.0393, 0.974938}, 
           {15.915, 20.4278,0.974938}, {28.6921, 5.2132, 1.53205}, 
           {27.0317, 24.8346,1.53205}, {20.8853, 18.8588, 1.53205}}

每个子列表对应于:{Xcoordinate,Ycoordinate,radius}

将对称转移应用于8个点中的每一个:

(scrWidthCM - #[[1]]) & /@originals

如何替换每个子列表的第一个值而不是简单地计算其反射的X坐标?

1 个答案:

答案 0 :(得分:4)

假设您想直接修改originals对象:

originals[[All, 1]] = scrWidthCM - originals[[All, 1]]

如果您想要副本,请使用:

{scrWidthCM - #, ##2} & @@@ originals