Jump to content

islandmon

Member
  • Posts

    3,358
  • Joined

  • Last visited

Everything posted by islandmon

  1. Try : 1) Create sinusoidal 2D poly Profile of the basic curtain folds 2) Extrude to length of the mid 'pinch' cord 3) ConvertToMesh to create editable Handles at the ends. 4) Select some of those upper MeshHandles and move them selectively to create the 'pinching'.. repeat as necessary. 5) When pinching is complete >Duplicate the lower pinched mesh curtain by reflecting it to obtain the top of the curtain with pinch. 6) Adjust the upper & lower mesh handles for look & feel 7) Assign texture 8) Make mid-cord and top rail, as req'd. I just made one of these ... took about 5 minutes. Looks ok for a quickie... good luck .. please post your results ; )
  2. Check out: Sand Dollar ___________ // Sand Dollar // j.tarbell March, 2004 // Albuquerque, New Mexico // complexification.net // Processing 0085 Beta syntax update // j.tarbell April, 2005 // dim is the screen dimensions of rendering window int dim = 800; // num is the actual number of sand dollars int num = 0; // maxnum is the maximum number of sand dollars int maxnum = 50; int time; // gtime measures rendering time in the system int gtime; // maxdepth keeps the tree structures reasonable int maxdepth = 7; // k defines number of grid spaces (n = k * k) int k=5; // drag is the number of segments within a full revolution int drag = 1024; // drawing is the state of the system. setting to false stops all activity boolean drawing = true; // sandDollars is the array of sand dollar objects SandDollar[] sandDollars; // maxpal is the maximum number of 'good color' palette entries int maxpal = 512; // numpal is the actual number of 'good color' palette entries int numpal = 0; // goodcolor is the array of palette entries color[] goodcolor = new color[maxpal]; // ENVIRONMENT METHODS --------------------------- void setup() { // set up drawing area size(800,800,P3D); takecolor("longFar.gif"); background(255); framerate(30); // create sand dollars sandDollars = new SandDollar[maxnum]; // generate sand dollars genAllsandDollars(); } void draw() { if (drawing) { for (int n=0;n if (gtime++>(drag*1.1)) { // stop drawing drawing = false; gtime=0; } } } void mousePressed() { if(!drawing) { // make new instances background(255); genAllsandDollars(); drawing = true; } } // METHODS --------------------------- void genAllsandDollars() { // n tracks totally number of instances int n=0; // g is calculation of grid spacing int g=int(dim/k); for (int y=0;y for (int x=0;x // bp is number of petals int bp = int(random(13)+3); sandDollars[n] = new SandDollar(x*g+g/2,y*g+3*g/6,0,-HALF_PI,5.55,bp); sandDollars[n].render(); n++; } } // set number of sandDollars num=n; // set rendering clock gtime=0; } // OBJECTS --------------------------- class SandDollar { // feet int depth; int limbs; int petals; float time, timev, timevv; float x, y; float ox, oy; float radius; float theta, ptheta; int numsp = 1; int maxsp = 13; SandPainter[] sp = new SandPainter[maxsp]; SandDollar[] mysandDollars = new SandDollar[2]; SandDollar(float X, float Y, int Depth, float Theta, float Radius, int Petals) { // init ox = x = X; oy = y = Y; ptheta = Theta; radius = Radius; depth = Depth; petals = Petals; limbs = 0; time = 0; timev = petals*TWO_PI/drag; if (random(100)>50) timev*=-1; // add sweeps numsp = int(2+random(depth/2.0)); for (int n=0;n sp[n] = new SandPainter(); } } void render() { theta = random(-HALF_PI/3,HALF_PI/3); radius *= random(1.02,1.20); // set next radial point x = ox + radius*cos(theta); y = oy + radius*sin(theta); if (depth int lnum=1; if (random(100)>90-depth) lnum++; for (int n=0;n int bp = petals * int(1+random(3)); mysandDollars[n] = new SandDollar(x,y,depth+1,theta,radius,bp); mysandDollars[n].render(); limbs++; } } } void swim() { // move through time time+=timev; // spin in sinusoidal waves if (depth==0) { theta += TWO_PI/drag; } else { theta += sin(time)/1640; if (depth%2==0) { radius += sin(time)*0.22; } else { radius += cos(time)*0.22; } } // set next radius point x = ox + radius*cos(theta+ptheta); y = oy + radius*sin(theta+ptheta); // render sand painters for (int n=0;n sp[n].render(x,y,ox,oy); } // draw child limbs for (int n=0;n mysandDollars[n].setOrigin(x,y,theta+ptheta); mysandDollars[n].swim(); } } void setOrigin(float X, float Y, float Theta) { ox = X; oy = Y; ptheta = Theta; } } class SandPainter { float p; color c; float g; SandPainter() { p = random(1.0); c = somecolor(); g = random(0.01,0.1); } void render(float x, float y, float ox, float oy) { // draw painting sweeps stroke(red©,green©,blue©,22); point(ox+(x-ox)*sin(p),oy+(y-oy)*sin(p)); g+=random(-0.050,0.050); float maxg = 0.22; if (g<-maxg) g=-maxg; if (g>maxg) g=maxg; int grains = 6; float w = g/(grains*1.0); for (int i=0;i float a = 0.1-i/((grains+1)*10); stroke(red©,green©,blue©,256*a); point(ox+(x-ox)*sin(p + sin(i*w)),oy+(y-oy)*sin(p + sin(i*w))); point(ox+(x-ox)*sin(p - sin(i*w)),oy+(y-oy)*sin(p - sin(i*w))); } } } // COLOR METHODS ----------------------------------------------- color somecolor() { // pick some random good color return goodcolor[int(random(numpal))]; } void takecolor(String fn) { PImage b; b = loadImage(fn); image(b,0,0); for (int x=0;x for (int y=0;y color c = get(x,y); boolean exists = false; for (int n=0;n if (c==goodcolor[n]) { exists = true; break; } } if (!exists) { // add color to pal if (numpal goodcolor[numpal] = c; numpal++; } else { break; } } } } // pad with whites for (int n=0;n<64;n++) { goodcolor[numpal] = #FFFFFF; numpal++; } // pad with blacks for (int n=0;n<100;n++) { goodcolor[numpal] = #000000; numpal++; } } // j.tarbell March, 2004 // Albuquerque, New Mexico // complexification.net
  3. Check out these incredible 3D Holographic Sheets from Zebra Imaging: http://www.zebraimaging.com/
  4. Check out the new Axsotic 3D mouse: axsotic-3d-spheric-mouse-precision-digital-object-manipulation [img:left]http://www.gizmag.com/axsotic-3d-spheric-mouse-precision-digital-object-manipulation/16832/picture/123940/[/img]
  5. This is a really cool tutorial showing how RayTracing lighting is used: Clint Eastwood as MasterGun Highway
  6. When stuff like this happens .. regardless of the program being used at the time, i turn my attention to the Activity Monitor and take a sample of the offending process(s). If there is a 'hung' process resulting in a crash, the Console log can be very useful. Often there's a background/Class/Layer/Viewport preference setting ..such as... Show/Snap/Modifier Others causing the program to search out & select > Object>Handles throughout the entire file.
  7. Compared to simplistic CAD mass modeling... all roofs require structure .. and that's half the challenge.. isn't this why we all adore our VW : ) Curved roofs are especially gratifying ... as there are so many ways to make the arcs... ( materials & assembly systems ). 1) Begin with the exact math based on the units of minimum assembly. 2) Determine the frequency of subdivision / segmentation 3) Design the sectional chord factors based on proportional span / loading / moments, etc. 4) Model the arc truss modules and circumferential foundation elements using symbols. 5) Model the roof decking using symbols 6) Don't forget to compensation for the helical, longitudinal, torsional & shear stresses. Image of a 'pre-engineered' curve-formed galvalume panel structure.. modeled per the fabricator's specs : [img:left]http://www.fractalnet.org/gallery2/v/ARCH/AEC_Projects/JBK5137_001/JBK5137_A-PRE-2.jpg.html?g2_imageViewsIndex=1[/img]
  8. This is a thorny problem ... Goggle Earth offers solutions via the ' kml' files: ______ Starting Location -122.159142626562 37.13020581444007 817.1626767629162 -80.00845909620324 103.4509995970619 -0.99224414333047 relativeToGround relativeToSeaFloor #m_ylw-pushpin relativeToGround relativeToSeaFloor -122.159142626562,37.13020581444007,817.1626767629164 ________ In other words, you can match the Aerial Photos using Layer Masks in Google Earth.. then export the data via kml and then use the lat-long-tilt-roll-altitude information to manipulate the various perspective views in VW coordinates> xyzijk .
  9. Indeed .. Layers/Classes was one of main selling points of Minicad vs Acad
  10. The easiest method is to simply utilize the proven 2D > 30?-45? technique as an annotated Viewport of the Right Isometric projection. See attached image:
  11. IMHO... issues & pathways to backwards compatibility = #1 for ALL professional applications. Especially CAD ... therefore, it behooves NNA to establish accessible proven-trustworthy, standards, procedures and protocols. As reported, the current situation is absurdly shortsighted .. bordering on negligence.
  12. Give a utility called "MagicPrefs" a spin: http://magicprefs.com/
  13. I usually just create reflected & rotated Grid Symbols for the orthogonal views.
  14. that sucks ... try >quit>re-launch to clear file database records
  15. Check-out: http://en.wikipedia.org/wiki/Drainage_equation and for fun try a few of the mathematica demonstrations: http://demonstrations.wolfram.com/TorricellisLawForTankDraining/
  16. Usually, a classed 3D poly of the property lines mapped to the terrain works well.
  17. Could these area error calculations be linked to the conversion resolution ?
  18. Be careful what you wish for ... perhaps an automated script using the established processes & procedures would be beneficial to User in this situation.
  19. Worksheets are just a GUI into the program's database. The User's challenge is understanding, accessing, and manipulating specific instances within the database structure using fields & functions. As VW improves, so too the underlying functionality of the database. There will always be 'hidden' potentiality which is usually interpreted as unnecessary complexity.
  20. Select> 3d>Textured FasciaObject >OIP>Render>Rotate >or >Mapping Works pretty darn good for most scenarios.
  21. One method: begin by assigning different Classes to various groups of 3D Polygons, then apply imported textures via the Class attributes.
  22. Part of the curriculum at Art Center> gesso on canvas board > render with silver point pen tool. My mother still cherishes the 'silver point' rendering I created from an old Kodak of her childhood home in Montreal.
  23. Did you try duplicating the CylinderObject, then converting it to a Generic Solid prior to unfolding ? Also, if 3D modeling is essential , then consider creating only a single 1/40 ( 9? ) arc segment containing the rectangular penetration. Unfold it ... then duplicate > add surface , as required, on the plan. When working with repetitive 3D shapes, reduction to the lowest common element is often beneficial.
  24. You can assign transparency values via texture edit > mask. Best results are obtained when the background mask's color is of sufficiently high contrast to the image. Black Letters on a simple transparent background utilizes a white mask. But if the fabric grey-scale pattern is involved then a higher contrast green or pink mask may be required. The clever Transparency Mask Editor helps you to obtain the best dynamic range.
  25. Filemaker Pro > Help: Importing data into FileMaker Pro When you import data, you?re bringing data from another data source (usually a file) into an existing FileMaker?Pro file. If you want to create a new FileMaker?Pro file from another data source, see Converting a data file to a new FileMaker Pro file. FileMaker?Pro can import many different file formats. For a list of file formats that FileMaker?Pro supports, see Supported import/export file formats. ____ Supported import/export file formats FileMaker Pro and many application programs that you want to exchange data with use a proprietary file format. In order to exchange data, you must export the data from one application in a format that the other application can import. If you?re exchanging data with another application program, check the documentation that came with that program to determine a common intermediary file format that both FileMaker Pro and the other program supports. FileMaker Pro supports the import/export file formats listed in the following table. FileMaker both imports and exports most formats, but a few formats are either import/convert only or export only. Most file formats support data conversion only and do not import or export formatting such as font, size, style, and color. Some of the formats export or convert field names and field types. For details on a particular format, click its link in the following table. Supported format Filename extension Import/convert or export Notes Comma-Separated Text format .csv or .txt Both ? Works with BASIC programs and applications like Bento. ? Format is also called Comma-Separated Values (CSV). FileMaker Pro format .fp7 Both ? Import from previous versions (3.0 and later) after you convert the file to the current file format. ? Export to the current FileMaker Pro file format. ? Format retains field names. HTML Table format .htm Export only ? Exports data as an HTML table for use as a static web page. Merge format .mer Both ? Good export format for creating form letters in a word processor. ? Format retains field names. Microsoft Excel format .xls or .xlsx Both ? Microsoft Excel 2008 for the Mac OS X supports the same file format (.xlsx) as Microsoft Excel 2007 for Windows. Tab-Separated Text format .tab or .txt Both ? Works with most applications. If you aren't sure which format to use, try this one first. XML format .xml Both ? In addition to XML files, you can import the XML data result of an HTTP request. You can also do the following: ? Import image files or text files from a folder all at once. See Importing a folder of files all at once. ? Mac OS: Import photos from a digital camera. See Importing photos from a digital camera or other device (Mac OS). ? Mac OS: Import from Bento data sources. See Importing Bento data (Mac OS). ? Import from ODBC data sources and use FileMaker Pro as ODBC data source to serve FileMaker Pro data. See Querying an ODBC data source from FileMaker Pro and Sharing FileMaker Pro data via ODBC or JDBC. ? Publish FileMaker Pro database files to a web page. See Publishing databases on the web. ? Save a layout as a PDF file that can be used later as a blank form. See Saving and sending records as a PDF file. ____ If FileMaker?Pro does not support the format of a particular application, you may still be able to convert the data by exporting data from that application in a format that FileMaker?Pro does support. For example, FileMaker?Pro does not import Microsoft Access files, but you can export the data from Microsoft Access to a format that FileMaker?Pro does support, and then import that file. The source file does not need to have the same number of fields in the same order as the target file. During the import process, you can arrange the target fields so that the source data imports into the correct fields, as well as skip fields that you don?t want to import. When you import data into an existing FileMaker?Pro file, you can: ??? add new records from the source file ??? update records with information from the source file ??? update matching records with information from the source file Important??Some of the above options can overwrite existing data in your file. For more information, see Methods of importing data into an existing file. Notes ??? You can import data from any field type into any compatible field except calculation and summary fields. You can only import into container fields if you're importing from another FileMaker?Pro file, importing photos from a digital camera or other device, or importing a folder of image files. When you import data into a global field, the last item imported into the field from the source file determines the global field value. ??? You can only import data into a single table at a time. To import data into related fields, import data directly into the table that contains the related field. ??? If the source file is a FileMaker?Pro file with multiple tables, you can only import data from a single table at a time. To import fields from related tables, import directly from the table that contains the field. ??? To ensure that imported data is correctly formatted, you can define fields so that data is validated as it is imported. During import, data is skipped when it does not conform to the validation options you set. Once the import is complete, a Summary dialog reports the number of skipped records and fields. For more information, see Defining field validation. ??? If you routinely import data from the same source, you can create a script that uses the Import Records script step to automate the process. For more information, see Creating scripts to automate tasks and Import Records script step.
×
×
  • Create New...