Jump to content

Petr

Uživatel
  • Příspěvků

    2571
  • Registrován

  • Aktivní

  • Vítězných dnů

    3

Příspěvky posted by Petr

  1. Zdravím,

     

    vytvářím slicer pro speciální 3D tiskárnu. Pro správnou funkčnost potřebuji vytvořit skript, který dokáže vygenerovat spirálu na povrchu tělesa. Ta poté bude sloužit pro určení trajektorie tiskové hlavy.

     

    Dokáži zajistit, aby byla povrch tělesa rozdělen na jednotlivé vrstvy (křivky) o konstantní vzdálenosti. Tyto křivky dokáži rozdělit na body, které mají od sebe stejnou vzdálenost (na křivce).

     

    Problém nastává u generování spirály. Jako možné řešení mě napadlo z každé vrstvy bodů vybrat jeden vhodný bod:

      a) určením vzdálenosti mezi zvoleným bodem na jedné vrstvě a všemi ostatními na vrstvě, která leží o hladinu výše. Vyberu druhý nejvzdálenější bod a tím bych mohl dosáhnout spirály. Problém: body nemusí ležet na trajektorii připomínající spirálu (může se to různě klikatit podle toho, jestli další bod bude ležet "vpravo nebo vlevo". Problém taky může nastat u zakřivených povrchů, kdy nemusí platit to, že druhý nejbližší bod bude právě ten, který potřebuji do spirály.

     b.) určení bodu pomocí vektoru. Zvolím si vektor, ve kterém by měla spirála začínat a jeho změnu budu v každém dalším kroku porovnávat. V každé vrstvě pak budu hledat nejbližší bod, který leží u konce vektoru. Problém: přechod mezi nerovnoběžnými plochami, prudké změny tvaru povrchu - vektor bude směřovat absolutně mimo požadovaný směr.

     c) počítání bodů - pokud vím, kolik bodů leží v každé křivce a vím, kterým směrem chci spirálu vést, mohu si napočítat, kolikátý bod v určité vrstvě je ten vhodný. Problém: u tělesa s více plochami, které nejsou stějně vysoké, toto aplikovat nejde

     

    Nenapadá někoho další způsob, jak by se dalo docílit spirály na povrchu tělesa, které se skládá z několika (různě velkých a různě orientovaných) ploch?

     

    Kdybych se někde v textu nevyjádřil přesně a něco jste nepochopili, tak pište. Už se s tím trápím pár týdnů a můj mozek sem tam odejde na dovolenou icon_e_biggrin.gif Případně dodám další info, pokud bude třeba

     

    Díky moc za tipy a rady.

    Mějte se
    Petr

     

    EDIT: obrázek k problému - jednoduché těleso (povrch kvádru)

    Mám síť bodů na povrchu tělesa, po kterých musím vytvořit spirálu.

    https://imgur.com/a/3AgpX

     

    REWARD:

    Kdo mi s tím poradí, toho zvu na pivo icon_e_biggrin.gif

    REWARD #2:

    Platím 3 piva! :d

    post-7848-0-48222200-1506625393_thumb.png

  2. RIADKY

     

     

    }

     238. }

    239. else if(listitem == 2) //Tretia položka v dialógu

    240. { 

    241. SendClientMessage(playerid,0x00FF00FF,"Koupil jste si nejakou nemovitost? tak si nani najmete ochranku");

    242. SendClientMessage(playerid,0x00FF00FF,"pokud mate najatou ochranku nemovitost nejde odkoupit ani vykrast pozor");

    243. SendClientMessage(playerid,0x00FF00FF,"pozor ochranka je jenom na urcitou dobu pokud chcete aby nemovitost vydelala vice");

    244. SendClientMessage(playerid,0x00FF00FF,"investujte do ni");

    245. }

     

    ERRORY

     

     

    C:\Users\pc\Desktop\dialogy.pwn(238) : error 001: expected token: ";", but found "}"

    Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

     

     

    1 Error.

     

     

     

    Ještě ukaž pár řádků nad kódem. Nebo spíš založ vlastní téma.

  3. Moc sem už nechodím, takže těžko soudit aktuální situaci, ale vypadá to, že Pawn už nikdo pořádně nedělá (ne tak, aby z toho vyšlo několik kloudných projektů za rok), takže bych se spíš zaměřil na ten Váš server a věnoval se jemu. Ať si lidi vytvoří nějaké FS s tím, že bude soutěž (třeba každý měsíc na určité téma), za které dostanou vítězové nějaká privilegia. Mohlo by to scénu zase trochu pozvednout. 

     

    Případně nějaký kreditní systém - napíšeš návod, dostaneš body. Poradíš v helpu (=pomůžeš vyřešit problém) - dostaneš body. Ty se pak přenesou do hry (pokud ještě vůbec někdo hraje). Nebo tu na webu - muselo by se zjistit, co lidi vlastně zajímá a co chtějí.

    • Líbí se mi to! (+1) 4
  4. Zdravím,

     

    rád bych zde prezentoval svůj první výtvor v jazyku C#.

     

    Odkaz na soubor (uložiště Pawno.cz)

     

    Popis:

    Program umožňuje filtrovat vstupní text pomocí filtrů:
    • Pouze malá písmena
    • Přeskočit číslice
    • Přeskočit speciální znaky

    Vstup lze zadat ručně do Textboxu nebo jej je možno vložit přímo z textového souboru.
    Výstup lze exportovat do textového souboru.
    Možnost nastavení maximálního počtu znaků vstupu.

     

    V komentáři pod souborem je zveřejněn odkaz na pastebin.

    Poprosil bych uživatelé, kteří v C# pracují o recenze. Velmi bych přivítal jakoukoli radu, která mě posune dál.

     

    Děkuji.

  5. SetTimerEx("msg",900000, false, "i", playerid);
    forward msg(playerid);
    public msg(playerid)
    {
    static bool:p;
    if(p == true) {
     SendClientMessage(playerid,COLOR_GREEN,"[TIP] Rádio si můžeš koupit v Elektro Obchodě");
     p = false;
    }
    else {
     SendClientMessage(playerid,COLOR_GREEN,"[TIP] Rádio si můžeš koupit v Elektro Obchodě");
    p = true;
    }
    }

    Výhodnější bude použít SetTimer + cyklus

     

    EDIT: Ona vlastně existuje funkce SendClientMessageToAll :d

  6. Namluvil jsem ti blbost.. 

    Místo: 

    return "Tento příkaz neexistuje. Seznam existujících příkazů najdeš na /help";

    má být: 

    return SendClientMessage(playerid, <BARVA>, "Tento příkaz neexistuje. Seznam existujících příkazů najdeš na /help");

    Omlouvám se za to.

  7.  

    new gPlayerName[MAX_PLAYERS][MAX_PLAYER_NAME]; smaž

    a nad

     

     

    GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME); //Na tomto řádku ukazuje errory

    if (fexist(getINI(playerid)))

    {

     
    dej
    new gPlayerName[21];
    a z 
    GetPlayerName(playerid, gPlayerName[playerid],
    smaž  resp udělej
    GetPlayerName(playerid, gPlayerName,

     

    Třeba ale pro nějaké účely potřebuje ukládat jména všech hráčů na serveru. Šlo by to udělat i jinak, než takto, ale přece jen pro začátečníka je toto nejschůdnější cesta. Pokud to ale nepotřebuje, tak je tohle tutovka.

×
×
  • Create New...