Har någon gjort ett ytdiagram i vb? Skulle behövt redovisa inmätt terräng i ett ytdiagram men vet inte hur man ritar sådana. (finns en enkel men för "stel" variant av ytdiagram i excel) Jo, det är inte så där överdrivet svårt. Beror lite på hur flexibelt du vill ha det. Mycket intressant,tycker du skall lägga upp ett komigång exempel i Filarean. Har gjort en enkel variant och lagt upp den på filarean. Observera att jag bara visar principen, det är mycket som bör fixas. Hehe... Märk väl nu att detta är en tilltrixad ful-lösning för att visa principen. Jag skall inte zooma och rotera,mitt första 3D projekt blir att avbilda Tack Niklas SvenPon: ok, det jag ska redovisa är en uppmätt vägyta (uppmätt i ett antal linjer varje meter) och denna visas kanske en 50m i taget. Så beroende på hur ytan lutar kan det bli svårt att se bra i alla lägen om man inte kan rotera den, zoomning är väl mindre viktigt. Funderar nästan på om din ursprungliga Excel-lösning inte är bättre... men finns det något annat än diagramtypen funktionsyta att välja på, i den kan man tex. inte ange olika avstånd mellan inmätta linjer osv. Men det är ju roterbart! Man kan oxå med hjälp av dina formler skapa ett 3D rutnät med diagramserier längs o tvärs ytan i ett linjediagram (eller är det ett punktdiagram med linjer mellan?). En annan nackdel med Excel är att det tar sån tid att skriva ut värdena i cellerna... >men finns det något annat än diagramtypen funktionsyta att välja på, i den kan man tex. inte ange olika avstånd mellan inmätta linjer osv. Har funderat lite på det här nu, och kommit fram till att det kanske inte är så jäkla överdrivet komplicerat med rotationer ändå. oj det där med: >Halvprivat, sitter och "överarbetar" det för att det är kul...(dvs obetalt) själva 3D:et är inte nödvändigt för resultatet bara för att göra det åskådligt. (och för att det är lite fränt) ok! har tydligen förträngt en del matte från skoltiden... :-/ ja om du har läst statistik har du förträngt det, men det tillhör ju inte grundkurserna >ja om du har läst statistik har du förträngt det, men det tillhör ju inte grundkurserna Tja... jag läste det bara på en matimatisk tilläggskurs efter a-e-kurserna... men vad Ojsan... hehe... jag tolkade det som om det gällde "högskoletiden". Jag har inte gjort mer, jag har bara sett att principen verkar fungera. Dessutom blir det jäkligt mycket lättare med vissa detaljer.yt-diagram i 2D eller 3D, möjligt?
Vet någon?Sv: yt-diagram i 2D eller 3D, möjligt?
Om du säger "2D eller 3D", så är 2D naturligtvis väldigt mycket enklare, då vill du väl bara ha olika färger i olika punkter?
I 3D kan man göra det lite olika enkelt (svårt). Vill du kunna rotera, zooma, osv. Vill du ha perspektivkorrekt bild eller inte?
En mycket enkel 3D-variant är att rita upp varje rad "bakifrån" med avseende på z-axeln (använder det vanliga högerorienterade koordinatsystemet, med y uppåt), och använda denna formel:
y_skärm=y+d*z
x_skärm=x+d*z
där d är en fast konstant. Om det räcker kanske du kan fortsätta själv, annars får du säga noggrannare vad du behöver.Sv: yt-diagram i 2D eller 3D, möjligt?
Sv: yt-diagram i 2D eller 3D, möjligt?
http://www.pellesoft.se/login/upload/t_view4.asp?tid=597Sv: yt-diagram i 2D eller 3D, möjligt?
Den är inte perspektivkorrekt, går inte att zooma eller rotera i och är begränsad på alla möjliga sätt.
Sen märkte jag att formeln ovan inte är helt korrekt. Det mest rimliga blir (om man betraktar xy-planet som "marken" i 3D-fallet), att ta x_skärm=x+y, y_skärm=z+y.
Fotnot:
Att sätta en 3D-variabel till en 2D (bl.a.) på detta sätt kallas för projektion.
I det fallet 3D->2D finns tre vanliga. (Eventuellt med ombyte mellan koordinaterna som ovan) Principerna är:
1. Ortogonal projektion; x_skärm=x; y_skärm=y.
Används ofta i t.ex. CAD-program. Man struntar helt enkelt i djupet, och visar det som sitter längst fram.
2. Paralellprojektion: x_skärm=x+z; y_skärm=y+z
Fungerar bra i små bilder, för grafer osv. Det exemplet som gavs ovan
3. Perspektivprojektion: x_skärm=x/z; y_skärm=y/z
Får objekt att se ut som de gör på foton, att de ser ut att vara närmare och närmare varandra om de kommer längre och längre bort i z-riktning.Sv: yt-diagram i 2D eller 3D, möjligt?
en höjdskillnad (kulle) från en 2D orienteringskarta och använda
ekvidistansen som ingångsparametrar.Sv: yt-diagram i 2D eller 3D, möjligt?
Denna hjälp räcker säkert, men.. det där med rotera o zooma lät ju spännande! Är det något du praktiserat och har ett exempel på? Vore väldigt trevligt!
/BerneSv: yt-diagram i 2D eller 3D, möjligt?
Ok. Glöm bara inte att vända på y-koordinaterna. Ett bra tips är att göra alla beräkningar i ett koordinatsystem, och sedan omvandla allt till skärmens.
Berne:
Jo, det är inte så svårt, men nu börjar det ta emot att göra det i VB för min del. Har ett enklare exempel på det hemma (e på jobet nu), som också är perspektivkorrekt, men det är inte riktigt fullständigt, och det arbetar bara med en "wireframe", dvs. inga ytor.
Att göra rotationer och inzoomningar i paralell-fallet är jag faktiskt lite osäker på. Det kan röra sig om att bara använda olika värden på d i ekvationen jag skrev först.
Detta är för övrigt en av de "lättare" modellerna att arbeta med 3D i.
Normalt sett kan man inte se det som att man ska "rita det som är längst bak först", utan måste göra ett antal test, eller använda en s.k. z-buffer. Men eftersom det är frågan om rutor som aldrig kan överlappa något som är "framför", så lir det väldigt enkelt i detta fallet.Sv: yt-diagram i 2D eller 3D, möjligt?
Konstigt att det inte finns förberedda 3D-diagram i VB!?
Nåja, har du fler tips eller något hemma som kan hjälpa mig så lägg gärna in det!
/BerneSv: yt-diagram i 2D eller 3D, möjligt?
Att skriva 3D själv är nästan alltid onödigt. Man kan ofta med fördel skriva det med Direct3D.
Men vill du ha möjligheter att rotera osv. så kan en Excel-lösning vara rätt käck.Sv: yt-diagram i 2D eller 3D, möjligt?
/bSv: yt-diagram i 2D eller 3D, möjligt?
Ok... ska du ha olika avstånd får du nog faktiskt göra en annan lösning. Fast det är besvärligt, som sagt.
>Men det är ju roterbart!
Det var det som va min poäng... =)
>Man kan oxå med hjälp av dina formler skapa ett 3D rutnät med diagramserier längs o tvärs ytan i ett linjediagram
Är det en fråga eller ett påstående?
Hur som helst; jag tror inte jag förstår helt vad du vill göra, men jag är säker på att det går. Formlerna är ju generella. Problemet är att du när du vill rotera kommer få en hel del krångel. Bistår gärna med hjälp... =)
>(eller är det ett punktdiagram med linjer mellan?).
Tja, ett punktdiagram med linjer emellan och ett linjediagram är det nog bara Excel som skiljer på.
Diagram brukar ju innebära antingen värden hos en funktion eller uppmätta värden, och de kan inte rimligtvis gå "bakåt", så den möjligheten hos Excel har inget med diagram att göra. Att sen inte Excel kan ha godtyckliga mellanrum annat än för punktdiagram har egentligen inte heller något med olika diagram att göra. Så det så. =)
>En annan nackdel med Excel är att det tar sån tid att skriva ut värdena i cellerna...
Skriva in menar du? Det går ju att lösa automatiskt, så det borde ju inte vara nåt problem.
Är det ett privat projekt eller för ett företag?
Hur lång tid har du på dig?Sv: yt-diagram i 2D eller 3D, möjligt?
Efter lite sporadiskt spånande (på arbetstid ;) ) har jag kommit fram till att det borde funka att bara sätta in två variabler; alpha & beta.
alpha € (0, PI) U (PI, 2 PI)
beta € [0, PI)
Sen använder man en omvandlig, nånting i stil med:
x_s=x*cos(alpha)+y*sin(alpha)
y_s=z*cos(beta)+y*sin(beta)
Eller kanske en omvandling till kamerakoordinater först...
Ska kika lite mer på det här när jag kommer hem.Sv: yt-diagram i 2D eller 3D, möjligt?
alpha € (0, PI) U (PI, 2 PI)
beta € [0, PI)
hängde jag inte riktigt med på, men fortsättningen verkar intressant...
>>(eller är det ett punktdiagram med linjer mellan?).
>Tja, ett punktdiagram med linjer emellan och ett linjediagram är det nog bara Excel som skiljer på.
Jo, kom bara inte ihåg vilket diagram som kunde vad för tillfället...
>>En annan nackdel med Excel är att det tar sån tid att skriva ut värdena i cellerna...
>Skriva in menar du? Det går ju att lösa automatiskt, så det borde ju inte vara nåt problem.
ja.. jo visst är det en baggis att göra som kod men det kommer ta ett tag varenda gång man ska uppdatera ett diagram pga. att skrivandet i Excel tar sån tid (en slö process)
>Är det ett privat projekt eller för ett företag?
>Hur lång tid har du på dig?
Halvprivat, sitter och "överarbetar" det för att det är kul...(dvs obetalt) själva 3D:et är inte nödvändigt för resultatet bara för att göra det åskådligt. (och för att det är lite fränt)
/bSv: yt-diagram i 2D eller 3D, möjligt?
Då är det så att säga ingen brådska då!
Det kan jag med glädje hjälpa till lite grann med. Har ju som sagt kommit en bit på vägen här... ska skriva om programmet så det blir lite vettigare.
>oj det där med:
>alpha € (0, PI) U (PI, 2 PI)
>beta € [0, PI)
>hängde jag inte riktigt med på, men fortsättningen verkar intressant...
Det är bara ett tufft (?) matematiskt sätt att säga att
0<alpha<pi eller pi<alpha<2pi
och
0<=beta<piSv: yt-diagram i 2D eller 3D, möjligt?
/bSv: yt-diagram i 2D eller 3D, möjligt?
direkt... =)
/EmmaSv: yt-diagram i 2D eller 3D, möjligt?
direkt... =)
Öh?
Statistik va en av mina grundkurser, men hur som helst har väl inget av det här haft med statistik att göra?
Intervall och unioner av dessa används minst lika mycket inom analysen och algeran som statistiken, och notationen är väl mycket vanligare i både analys och algebra.
Och beräkningarna har ju definitivt inget med statistik att göra!
-
Förresten. Har spånat vidare lite. Funderar på om en paralell-projektion är en ortogonalprojektion där man satt in en kamera, som man vrider och flyttar.
Har skrivit funktioner som går en bra bit, men jag har inte testat ut det än. Återkommer.Sv: yt-diagram i 2D eller 3D, möjligt?
vet jag, mycket som ändras hela tiden.
/EmmaSv: yt-diagram i 2D eller 3D, möjligt?
Fick på nåt sätt för mig att det var det som det stod.
Nä, i gymnasiet så fanns det nog ingen statistikkurs, den (försvinnande lilla)matematiska delen av statistiken ingick nog snarare lite sporadiskt i matte-kurserna.Sv: yt-diagram i 2D eller 3D, möjligt?
Jo, tyvärr ingick statistik i grundkurserna (precis som Analys i 1 variabel, 2 variabler, flera variabler och numeriska metoder...) men jag har nog tusan förträngt allihop på nåt sätt... men studielånet har jag iallafall kvar :-D
Hur som helst, har du (Niklas) hunnit testa det där med pi, alpha o beta mfl. eller var det nåt som fanns att läsa om nån stans?
/bSv: yt-diagram i 2D eller 3D, möjligt?
Jag la lite för mycket tid på att fundera på hur man roterar runt en punkt lämpligast. Det får bli en senare fråga. Hur som helst - jag slutar snart jobbet och kan försöka ta och titta på det igen.
Problemet är bara att det är fredag - levern skriker efter öl... ;)