Hello,
I didn't have some new ?
Thanks
Le lundi 27 juillet 2020 à 15:05:17 UTC+2, Landry Kotto a écrit :
>
> what is objs in the method that follow? I have tried to set
> GLScatterPlotItem, GLviewWiget, but i gotan error : objet is not iterable ,
> and i don't know why !
> What value objs can take ?
> Thanks
> the method is :
> def plotGLPlot(self, objs): # new commentaire : add item -> plot 3D
> point
>
> poss = numpy.array([0, 0, 0])
> self.Poss = []
> self.GlobalInds = []
> weights = numpy.array(0, dtype=float)
> def pswc (x) : return 10 * x**0.25 #pseudoweight calculation with
> exponential scaling
> for obj in objs:
> for i,cogs in enumerate(obj.CoG):
> for cog in cogs:
> #cog[1] = 0
> if obj.PieceWeight[i]:
> poss = numpy.vstack([poss,numpy.asarray(cog.T)])
> self.Poss.append(numpy.matrix(cog.T)) # for
> picking stuff
> self.GlobalInds.append(obj.Index[i])
> pw = pswc(obj.PieceWeight[i])
> print("PieceWeight : "+str(pw))
>
> weights = numpy.append(weights, pw)
>
>
> maxw = max(weights)
> threshold = numpy.mean(weights)
> self.Colors = numpy.empty([len(weights),4])
> for i, pw in enumerate(weights):
> if pw <= threshold:
> c = pw / maxw
> self.Colors[i] = numpy.array([c,1,0,0.7])
> else:
> c = 1 - pw / maxw
> self.Colors[i] = numpy.array([1,c,0,0.7])
>
> self.removeItem(self.Plot)
>
> #....self.Plot = gl.GLScatterPlotItem()
> #.....self.Plot.setData(pos=poss, size=weights, color=self.Colors,
> pxMode=False)
> self.Sizes = weights
> #....self.addItem(self.Plot)
> self.show()
>
> Le jeudi 18 juin 2015 23:35:18 UTC+2, Bi Ge a écrit :
>>
>> Hi folks,
>>
>> I would like to pick a point in a 3D scatter plot. I read from Luke's
>> post here:
>>
>> "
>> This version also has methods for determining the projection and view
>> matrices, which allows you to determine the relationship between 3D and 2D
>> manually:
>>
>> m = glView.projectionMatrix() * glView.viewMatrix()
>>
>> # Map 3D location to normalized device coordaintes: (-1,-1) and (1,1) are
>> opposite corners of the view
>> pt = m.map(QtGui.QVector3D(x,y,z))
>>
>> # Inverse mapping:
>> pt = m.inverted()[0].map(QtGui.QVector3D(x,y,z))
>>
>>
>> "
>>
>> My questions are:
>> 1. Does inverse mapping meaning from 2D to 3D? If so, why does the map
>> take a 3D vector when the point on screen is only 2D:
>>
>> 2. After apply inverse mapping on a point on the screen, we get a
>> point(vector) in 3D and from here I just need to cast a ray and find where
>> it hits the point I want to find correct?
>>
>> Bi
>>
>
--
You received this message because you are subscribed to the Google Groups
"pyqtgraph" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/pyqtgraph/3136d367-8f0c-4f67-95f2-a2cfc3e79d46n%40googlegroups.com.