-
Posts
393 -
Joined
-
Last visited
-
Days Won
32
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by vugie
-
An est quicquam similius insaniae an ira? Quam bene Ennius initium dixit insaniae.
-
Additional alternatives for my entry. Some people say that they look better... I do not share this opinion, but vox populi - vox Dei.
-
Getting error 1172 when trying to call a DLL
vugie replied to Clinto's topic in Calling External Code
Another common international problem is localized decimal point. -
Getting error 1172 when trying to call a DLL
vugie replied to Clinto's topic in Calling External Code
What from the DLL knows which port to use? Does it assume some port number? (FTDI base deviced each time they are plugged in, they may appear with different port number) Is FTDI based device (serial-USB converter) made by you or your partners or it is just a commercial one? Are serial connection parameters on FTDI properties page set to the same values as the device on the other side of serial cable expects? I see that FTDI is now in VCP mode (virtual Com Port). Is it a state DLL was written for? I don't think you should do anything wit FTD2XX.DLL. Only if you want to bypass your Mexican DLL. -
As for the error you have to at first extract geometry from the object (using Drawable property) and then cast it down to SceneMesh. But vertices you get this way will be always the same as they are in reference to owners frame. In order to get real position of the vertex you have to multiply it by objects transformation matrix (easy to get with property). If the object is a child of another object (which could be a child of another object) you have to go up to the root of the tree multiplying by subsequent transformation matrices.
-
Here is my proposition. Inspired by recent LAVA activity... However I haven't read that all And alternative version for the front, which is even more pure:
-
But there is such a thing as time left to be sliced up. At least if you want to avoid such revolutions as becoming unemployed or pushing 5 year old children to live on their own...
-
It's a great idea. I have been thinking of such a way of panel design for a long time. I didn't tested it (because of 2010), but I have some ideas you could consider: Relative object placement - i.e place button 5px below bottom line of string control and horizontally centered to it. Something like label alignment in Label Manager RCF Plugin Automatic handling resize event without necessity to manually adding it to block diagram - either universal daemon for handling all skinned VIs launched once during application init, or per VI daemons launched with subVI dropped somewhere on block diagram Offline update with skin editor (if not done already) Storing skins with VI tags (skins are tied to VIs as tight as possible) I would rather call them layouts, not skins...
-
I'm not talking about Toolkit, but VIs in standard LV distribution. They are LVOOP based, so relatively new. These methods definitely existed. And it is just a curiosity.
-
I'm watching around and verifying my ideas for automated documentation generation for libraries. I tracked how Documentation VIs (in Report Generation palette) generates such documentation. I found this subVI for getting images of VI elements: So basically when I want to create HTML with VI documentation using Report Generation, it makes images by printing partial documentation to HTML in temp directory and deletes HTML file leaving an image... Later when final HTML is saved, images are being copied from temp directory (without deleting original and without overwriting, so if the report is only updated, it uses old images). Pretty weird way. Particularly concerning that such private methods as "Export Interface" and "Get Conpane Image" exist, not even talking about public "Get Term Image".
-
It is a question whether is it native or not, but similar issue was discussed here:
-
Well... Actually... I think it's a good time to repeat my announcement: in order not to let this project die, I'm searching for someone who would like to dive into Flash programming. I kindly ask... I could even beg... Someone please learn ActionScript and help me!
-
Here is an example how to do it: Note that direct Diffuse color change will work for only several objects within object hierarchy. It depends on material and inheritance settings for particular objects. So for full control much deeper analysis of object hierarchy relationships is needed. vrml change colors.zip
-
What is THE CHOSEN COLOR this year? What about sides? Front, back, both?
-
You have to use drawable reference which goes out from Set Drawable node. The old one is not not valid any more. Because it is more general reference, you also have to cast it down to sphere class: Alternatively, instead of changing the radius of sphere as drawable, you may to scale whole object with Set Scale.vi
-
The memory is getting full, because you CREATE geometry each iteration instead of modifying it. Previously created geometries are not deleted and remain in memory. Putting feedback node outside a loop doesn't make much sense in your case (such a construct is rather for passing data between VI runs). You should create objects and geometries and assign them once and in the loop only modify object properties: scale to change a size and use material property to change a color. If you want to replace whole geometry of an object you may create and assign it, but just after that you have to free reference of previous one. Here is an example how to drag objects with a mouse.
-
3D Picture control Parent Child Relation with Solidworks
vugie replied to Virtual World's topic in LabVIEW General
If you want to use perspective projection, use either Setup Camera, Projection.Frustum, or Projection.Perspective methods to zoom. For orthographic projection you have to directly modify projection matrix (property of 3D Picture). Here, here, here, here, here, here -
3D Picture control Parent Child Relation with Solidworks
vugie replied to Virtual World's topic in LabVIEW General
What do you mean by zooming, but not the whole scene? And programatically or with native interface? I guess you know Shift+LMB+drag and Ctrl+LMB+drag combos... Setup Camera method of 3D Picture control. You might also like to play with Modelview Matrix (property of 3D Picture). Refer to uncle G. and this forum. Keywords: modelview, OpenGL Probably you have "Auto Redraw" checked. Control is updated periodically and it may happen that it is being refreshed in the middle of some transformation. Particularly if you do transformation each iteration. Yes, but rotation always is first. So you have to sum rotated translations. Internally transformations are stored as 4x4 Transformation Matrix (it is a property of SceneObject). Total object transformation (rotation, translation and scale) in relation to parent is coded inside it. There are many good articles about it. Understanding it helps a lot. Similar issues where already mentioned on this forum as well. As for the file attached - again - 2009 please And please clearly mark if you do cross-posting (indicating links at both places) -
[CR] Waptia - genetic optimization algorithm
vugie replied to vugie's topic in Code Repository (Certified)
Much more adequate method is to use Linear Programming Simplex Method.vi which is designed for solving exactly this kind of problems. Some background is here. If you for some strange reason still want to use genetic algorithm - yes, it is possible. In fitness function you have to define some kind of penalty for each not satisfied inequality. But there is no general recipe for it. And it is not mathematically guaranteed that solution found will satisfy all inequalities (even if real solution exists). Waptia implementation of GA has also additional limitation: it doesn't handle not ranged variables (like x2 in your case). -
How to write a custom (exponential rise) fitting function?
vugie replied to Thang Nguyen's topic in LabVIEW General
-
[CR] Waptia - genetic optimization algorithm
vugie replied to vugie's topic in Code Repository (Certified)
The only criterion is: the better system should have higher fitness. Weights not necessarily has to sum to 1. Even weighted sum is only one of possible approaches for calculating global quality factor. You give formula for the number, GA (and any other kind of optimizer) tries to find conditions which maximize it. Other possible approaches are i.e. weights with thresholds or introducing penalties for parameters outside expected range. Read about multi criteria optimization to have a broader look on possible strategies. -
[CR] Waptia - genetic optimization algorithm
vugie replied to vugie's topic in Code Repository (Certified)
Compare value of fitness for both solutions (you have to scale them to 0..1 using the same ranges as in optimization process and pass them directly to your fitness VI). If solution you consider as better has lower fitness, it means that quality function you implemented doesn't reflect your intentions (it may be caused by weights or by some error in calculation of rise time, overshoot, etc.). If better solution has higher fitness (test it for several cases), maybe the evolution was too short or populations were too small. You may use Progress Notifier to observe how fitness grows with time. Typically there are long periods of stagnation interrupted with short periods of rapid grow. Try to play also with mutation rates. But first of all make sure that your fitness VI reflects your feeling of "goodness". There are also some tricks which could improve evolution process (such as using too high precision or introducing few genes with no specific function) but give significant effects for really high degree of freedom systems. -
[CR] Waptia - genetic optimization algorithm
vugie replied to vugie's topic in Code Repository (Certified)
What do you mean by "better"? Better by means of quality factor you defined (is the fitness function of manually tuned PID params higher than for optimized ones?) or just visually - response from manually tuned PID looks better on a chart? Each optimizer (genetic or not) is at most as good as quality factor it optimizes. So if you feel that your parameters are better that optimized ones it could mean that quality factor you implemented in fitness VI reflects other criteria of "goodness" than you actually expect. As for scaling. Your parameter changes from 0.001 to 0.1. Lets assume that you use single digit precision, so optimizer will choose from following values 0..0.9 with 0.1 step. Linear scaling to your range gives following actual values: 0.001, 0.011, 0.021, 0.031, 0.041, 0.051, 0.06, 0.07, 0.08, 0.09 (I just applied formula out = in * (0.1-0.001) + 0.001). I guess that for parameter that uses such a range difference between 0.001 and 0.011 (10 times) is much more significant than between 0.08 and 0.09 (1.1 times). If you would use logarithmic scaling (with formula out = 10 ^ (-2 * in - 1)) you get following actual values: 0.002, 0.003, 0.004, 0.006, 0.01, 0.016, 0.025, 0.04, 0.063, 0.1 which seem to be much better distributed. -
[CR] Waptia - genetic optimization algorithm
vugie replied to vugie's topic in Code Repository (Certified)
Upload your fitness VI then. I guess that you changed the connector pane (It must be exactly the same as in template) -
[CR] Waptia - genetic optimization algorithm
vugie replied to vugie's topic in Code Repository (Certified)
You dindn't make this: Little star will appear on the reference icon